From: <had...@us...> - 2009-02-16 08:27:33
|
Revision: 4473 http://fudaa.svn.sourceforge.net/fudaa/?rev=4473&view=rev Author: hadouxad Date: 2009-02-16 08:27:27 +0000 (Mon, 16 Feb 2009) Log Message: ----------- test ps Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/image/CtuluPdfPsExport.java Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/image/CtuluPdfPsExport.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/image/CtuluPdfPsExport.java 2009-02-15 23:05:09 UTC (rev 4472) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/image/CtuluPdfPsExport.java 2009-02-16 08:27:27 UTC (rev 4473) @@ -1,19 +1,43 @@ package org.fudaa.ctulu.image; +import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Shape; import java.awt.image.BufferedImage; import java.awt.image.RenderedImage; +import java.awt.print.PageFormat; +import java.awt.print.Printable; +import java.awt.print.PrinterException; +import java.awt.print.PrinterJob; import java.io.File; +import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Collection; +import javax.print.Doc; +import javax.print.DocFlavor; +import javax.print.DocPrintJob; +import javax.print.PrintException; +import javax.print.PrintService; +import javax.print.PrintServiceLookup; +import javax.print.SimpleDoc; +import javax.print.StreamPrintService; +import javax.print.StreamPrintServiceFactory; +import javax.print.attribute.HashDocAttributeSet; +import javax.print.attribute.HashPrintRequestAttributeSet; +import javax.print.attribute.PrintRequestAttributeSet; +import javax.print.attribute.standard.Copies; +import javax.print.attribute.standard.MediaSize; +import javax.print.attribute.standard.Sides; import javax.swing.JTable; import org.fudaa.ctulu.CtuluResource; +import org.jdesktop.swingx.painter.ImagePainter; +import sun.print.PageableDoc; + import com.db4o.inside.Exceptions4; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; @@ -26,10 +50,8 @@ import com.lowagie.text.pdf.PdfPTable; import com.lowagie.text.pdf.PdfTemplate; import com.lowagie.text.pdf.PdfWriter; -import com.rie.rieps.engine.Job; -import com.rie.rieps.engine.Page; -import com.rie.rieps.engine.image.SmallGrayImage; + /** * Classe qui g\xE8re l'exportation pdf et ps. * utilise la librairie iText. @@ -87,52 +109,59 @@ } - +public static class PrintableObject implements Printable{ + BufferedImage image_; + public PrintableObject(BufferedImage img){ + image_=img; + } + public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) + throws PrinterException { + graphics.drawImage(image_,0,0,null); + return 0; + } +} + /** *Un lecteur ps *@author Adrien Hadoux */ public static void writePostScript(final RenderedImage _image, final File _targetFile, final String _format) throws Exception{ - //-- creaton de l'image ps--// - SmallGrayImage bwi = new SmallGrayImage(SmallGrayImage.CONVERT_MODE_AVERAGE); - bwi.load((BufferedImage) _image); - OutputStream os = new FileOutputStream(_targetFile); + +// PrintableObject objectToPrint=new PrintableObject((BufferedImage) _image); +// +// +// PrinterJob job = PrinterJob.getPrinterJob(); +// job.setPrintable(objectToPrint); +// +// String psMimeType = "application/postscript"; +// FileOutputStream outstream; +// StreamPrintService psPrinter=null; +// StreamPrintServiceFactory []spsFactories = +// PrinterJob.lookupStreamPrintServices(psMimeType); +// if (spsFactories.length > 0) { +// try { +// outstream = new FileOutputStream(_targetFile); +// psPrinter = spsFactories[0].getPrintService(outstream); +// // psPrinter can now be set as the service on a PrinterJob +// } catch (FileNotFoundException e) { +// throw e; +// } +// } +// +// +// +// job.setPrintService(psPrinter); // if app wants to specify this printer. +// PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); +// aset.add(new Copies(1)); +// +// +// +// job.print(aset); + } - Job job = Job.createPSTopLeftOriginJob(os, 595, 842); + + - // Set usable postscript fonts of the device - job.setAvailableDeviceFont(new String[]{"Times-Roman", "Helvetica", "Courier", "Times-Italic", "Times-Bold", "Helvetica-Bold"}); - - // Show the dialog box the link unkwown awt font to device postscript font - job.askForUnmappedAWTFont(true); - - // output the awt/postscript font links. - // The output is well formatted to be automatically loaded by the RiePS library - // for future jobs - job.echoFontMapping(true); - - // Open the job - job.open(); - - - // Create a 2 pages document into the job - com.rie.rieps.engine.Document doc = job.createDocument(1); - doc.open(); - - // create a page - Page p = doc.createPage(); - // insert the same page with a picture added - p.drawImage(500, 200, bwi, 100, 100); - doc.showPage(p); - - // close the document and the job - doc.close(); - job.close(); - - - } - - /** * Test si le format est un format pdf ou ps * @param format This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |