1 17 18 19 20 package embedding; 21 22 import java.awt.print.PrinterJob ; 24 import java.io.File ; 25 import java.io.IOException ; 26 27 import javax.xml.transform.Transformer ; 29 import javax.xml.transform.TransformerFactory ; 30 import javax.xml.transform.Source ; 31 import javax.xml.transform.Result ; 32 import javax.xml.transform.stream.StreamSource ; 33 import javax.xml.transform.sax.SAXResult ; 34 35 36 import org.apache.fop.apps.FOUserAgent; 38 import org.apache.fop.apps.Fop; 39 import org.apache.fop.apps.FOPException; 40 import org.apache.fop.apps.FopFactory; 41 import org.apache.fop.render.print.PrintRenderer; 42 43 46 public class ExampleFO2OldStylePrint { 47 48 private FopFactory fopFactory = FopFactory.newInstance(); 50 51 57 public void printFO(File fo) throws IOException , FOPException { 58 59 PrinterJob printerJob = PrinterJob.getPrinterJob(); 61 printerJob.setJobName("FOP Printing Example"); 62 63 try { 64 FOUserAgent userAgent = fopFactory.newFOUserAgent(); 66 67 PrintRenderer renderer = new PrintRenderer(printerJob); 69 renderer.setUserAgent(userAgent); 70 71 userAgent.setRendererOverride(renderer); 72 73 Fop fop = fopFactory.newFop(userAgent); 75 76 TransformerFactory factory = TransformerFactory.newInstance(); 78 Transformer transformer = factory.newTransformer(); 80 Source src = new StreamSource (fo); 82 83 Result res = new SAXResult (fop.getDefaultHandler()); 85 86 transformer.transform(src, res); 88 89 } catch (Exception e) { 90 e.printStackTrace(System.err); 91 System.exit(-1); 92 } 93 } 94 95 96 100 public static void main(String [] args) { 101 try { 102 System.out.println("FOP ExampleFO2OldStylePrint\n"); 103 System.out.println("Preparing..."); 104 105 File baseDir = new File ("."); 107 File outDir = new File (baseDir, "out"); 108 outDir.mkdirs(); 109 110 File fofile = new File (baseDir, "xml/fo/helloworld.fo"); 112 113 System.out.println("Input: XSL-FO (" + fofile + ")"); 114 System.out.println("Output: old-style printing using PrinterJob"); 115 System.out.println(); 116 System.out.println("Transforming..."); 117 118 ExampleFO2OldStylePrint app = new ExampleFO2OldStylePrint(); 119 app.printFO(fofile); 120 121 System.out.println("Success!"); 122 } catch (Exception e) { 123 e.printStackTrace(System.err); 124 System.exit(-1); 125 } 126 } 127 } 128 | Popular Tags |