forked from Coded/SIPRP
				
			git-svn-id: https://svn.coded.pt/svn/SIPRP@655 bb69d46d-e84e-40c8-a05a-06db0d633741
	
		
	
				
					
				
			
							parent
							
								
									b1d6dfe72e
								
							
						
					
					
						commit
						23f980f919
					
				| @ -0,0 +1,60 @@ | ||||
| package siprp.ficha; | ||||
| 
 | ||||
| import java.awt.Color; | ||||
| import java.awt.Graphics; | ||||
| import java.awt.Graphics2D; | ||||
| import java.awt.Rectangle; | ||||
| import java.awt.print.PageFormat; | ||||
| import java.io.File; | ||||
| import java.io.RandomAccessFile; | ||||
| import java.nio.ByteBuffer; | ||||
| import java.nio.channels.FileChannel; | ||||
| 
 | ||||
| import com.evolute.utils.print.A4ContinuoPage; | ||||
| import com.evolute.utils.print.AbstractPrintHandler; | ||||
| import com.sun.pdfview.PDFFile; | ||||
| import com.sun.pdfview.PDFPage; | ||||
| import com.sun.pdfview.PDFRenderer; | ||||
| 
 | ||||
| public class PDFFilePrinter extends AbstractPrintHandler | ||||
| { | ||||
| 	protected byte pdf[]; | ||||
| 	protected PDFFile pdffile; | ||||
| 	 | ||||
| 	public PDFFilePrinter(byte pdf[], boolean printDialog ) | ||||
| 		throws Exception | ||||
| 	{ | ||||
| 		super( new A4ContinuoPage(), printDialog ); | ||||
| 		 | ||||
| 		this.pdf = pdf; | ||||
| 		ByteBuffer buffer = ByteBuffer.allocate( pdf.length ); | ||||
| 		buffer.put( pdf ); | ||||
| //		
 | ||||
| 		 | ||||
| //		File file = new File("/home/fpalma/Desktop/icons_op.pdf");
 | ||||
| //
 | ||||
| //		// set up the PDF reading
 | ||||
| //		RandomAccessFile raf = new RandomAccessFile(file, "r");
 | ||||
| //		FileChannel channel = raf.getChannel();
 | ||||
| //		ByteBuffer buffer = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size());
 | ||||
| 		pdffile = new PDFFile(buffer); | ||||
| 		setNumberOfPages( pdffile.getNumPages() ); | ||||
| 		print(); | ||||
| 	} | ||||
| 	 | ||||
| 	protected void paintGraphics( Graphics g, PageFormat pf, int index ) | ||||
| 	{ | ||||
| 		try | ||||
| 		{ | ||||
| 			PDFPage page = pdffile.getPage( index ); | ||||
| 			PDFRenderer renderer = new PDFRenderer(page, ( Graphics2D ) g,  | ||||
| 				    new Rectangle(0, 0,(int) page.getWidth(), (int) page.getHeight()), null, Color.RED); | ||||
| 			page.waitForFinish(); | ||||
| 			renderer.run(); | ||||
| 		} | ||||
| 		catch( Exception ex ) | ||||
| 		{ | ||||
| 			ex.printStackTrace(); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue