1 17 18 19 20 package embedding; 21 22 import java.io.File ; 24 import java.io.OutputStream ; 25 26 import javax.xml.transform.Transformer ; 28 import javax.xml.transform.TransformerFactory ; 29 import javax.xml.transform.Source ; 30 import javax.xml.transform.Result ; 31 import javax.xml.transform.stream.StreamSource ; 32 import javax.xml.transform.sax.SAXResult ; 33 34 import org.apache.fop.apps.FOUserAgent; 36 import org.apache.fop.apps.Fop; 37 import org.apache.fop.apps.FopFactory; 38 import org.apache.fop.apps.MimeConstants; 39 40 44 public class ExampleXML2PDF { 45 46 50 public static void main(String [] args) { 51 try { 52 System.out.println("FOP ExampleXML2PDF\n"); 53 System.out.println("Preparing..."); 54 55 File baseDir = new File ("."); 57 File outDir = new File (baseDir, "out"); 58 outDir.mkdirs(); 59 60 File xmlfile = new File (baseDir, "xml/xml/projectteam.xml"); 62 File xsltfile = new File (baseDir, "xml/xslt/projectteam2fo.xsl"); 63 File pdffile = new File (outDir, "ResultXML2PDF.pdf"); 64 65 System.out.println("Input: XML (" + xmlfile + ")"); 66 System.out.println("Stylesheet: " + xsltfile); 67 System.out.println("Output: PDF (" + pdffile + ")"); 68 System.out.println(); 69 System.out.println("Transforming..."); 70 71 FopFactory fopFactory = FopFactory.newInstance(); 73 74 FOUserAgent foUserAgent = fopFactory.newFOUserAgent(); 75 77 OutputStream out = new java.io.FileOutputStream (pdffile); 79 out = new java.io.BufferedOutputStream (out); 80 81 try { 82 Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, out); 84 85 TransformerFactory factory = TransformerFactory.newInstance(); 87 Transformer transformer = factory.newTransformer(new StreamSource (xsltfile)); 88 89 transformer.setParameter("versionParam", "2.0"); 91 92 Source src = new StreamSource (xmlfile); 94 95 Result res = new SAXResult (fop.getDefaultHandler()); 97 98 transformer.transform(src, res); 100 } finally { 101 out.close(); 102 } 103 104 System.out.println("Success!"); 105 } catch (Exception e) { 106 e.printStackTrace(System.err); 107 System.exit(-1); 108 } 109 } 110 } 111 | Popular Tags |