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