gmazza 2004/07/07 15:15:10
Modified: examples/embedding build.xml
examples/embedding/java/embedding ExampleDOM2PDF.java
ExampleXML2PDF.java
Log:
Switch from non-JAXP DOM processing to using JAXP identity transformation
for ExampleDOM2PDF example. Patch from Jeremias Maerki.
Revision Changes Path
1.6 +2 -2 xml-fop/examples/embedding/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/xml-fop/examples/embedding/build.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- build.xml 1 Apr 2004 23:24:57 -0000 1.5
+++ build.xml 7 Jul 2004 22:15:10 -0000 1.6
@@ -121,7 +121,7 @@
</java>
</target>
<target name="example6" depends="compile" description="Runs the DOM to PDF
example">
- <echo message="Running the Object to PDF example"/>
+ <echo message="Running the DOM to PDF example"/>
<java classname="${name}.ExampleDOM2PDF" fork="yes">
<classpath>
<path refid="project.class.path"/>
@@ -130,7 +130,7 @@
</java>
</target>
<target name="example7" depends="compile" description="Runs the SVG to PDF
example">
- <echo message="Running the Object to PDF example"/>
+ <echo message="Running the SVG to PDF example"/>
<java classname="${name}.ExampleSVG2PDF" fork="yes">
<classpath>
<path refid="project.class.path"/>
1.8 +48 -21 xml-fop/examples/embedding/java/embedding/ExampleDOM2PDF.java
Index: ExampleDOM2PDF.java
===================================================================
RCS file: /home/cvs/xml-fop/examples/embedding/java/embedding/ExampleDOM2PDF.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ExampleDOM2PDF.java 20 Jun 2004 12:35:17 -0000 1.7
+++ ExampleDOM2PDF.java 7 Jul 2004 22:15:10 -0000 1.8
@@ -25,6 +25,14 @@
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
+//JAXP
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.Source;
+import javax.xml.transform.Result;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.sax.SAXResult;
+
// DOM
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -33,7 +41,7 @@
// FOP
import org.apache.fop.apps.Driver;
-import org.apache.fop.apps.FOPException;
+
/**
* This class demonstrates the conversion of a DOM Document to PDF
@@ -51,27 +59,46 @@
* @throws IOException In case of an I/O problem
* @throws FOPException In case of a FOP problem
*/
- public void convertDOM2PDF(Document xslfoDoc, File pdf)
- throws IOException, FOPException {
- // Construct driver
- Driver driver = new Driver();
-
- // Setup driver
- driver.initialize();
-
- // Setup Renderer (output format)
- driver.setRenderer(Driver.RENDER_PDF);
-
- // Setup output
- OutputStream out = new java.io.FileOutputStream(pdf);
- out = new java.io.BufferedOutputStream(out);
-
+ public void convertDOM2PDF(Document xslfoDoc, File pdf) {
try {
- driver.setOutputStream(out);
- driver.render(xslfoDoc);
- } finally {
- out.close();
+ // Construct driver
+ Driver driver = new Driver();
+
+ // Setup driver
+ driver.initialize();
+
+ // Setup Renderer (output format)
+ driver.setRenderer(Driver.RENDER_PDF);
+
+ // Setup output
+ OutputStream out = new java.io.FileOutputStream(pdf);
+ out = new java.io.BufferedOutputStream(out);
+
+ try {
+ driver.setOutputStream(out);
+
+ // Setup Identity Transformer
+ TransformerFactory factory = TransformerFactory.newInstance();
+ Transformer transformer = factory.newTransformer(); // identity
transformer
+
+ // Setup input for XSLT transformation
+ Source src = new DOMSource(xslfoDoc);
+
+ // Resulting SAX events (the generated FO) must be piped through to
FOP
+ Result res = new SAXResult(driver.getContentHandler());
+
+ // Start XSLT transformation and FOP processing
+ transformer.transform(src, res);
+ } finally {
+ out.close();
+ }
+
+ System.out.println("Success!");
+ } catch (Exception e) {
+ e.printStackTrace(System.err);
+ System.exit(-1);
}
+
}
/**
1.9 +1 -1 xml-fop/examples/embedding/java/embedding/ExampleXML2PDF.java
Index: ExampleXML2PDF.java
===================================================================
RCS file: /home/cvs/xml-fop/examples/embedding/java/embedding/ExampleXML2PDF.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- ExampleXML2PDF.java 20 Jun 2004 12:35:17 -0000 1.8
+++ ExampleXML2PDF.java 7 Jul 2004 22:15:10 -0000 1.9
@@ -26,7 +26,6 @@
//JAXP
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerException;
import javax.xml.transform.Source;
import javax.xml.transform.Result;
import javax.xml.transform.stream.StreamSource;
@@ -79,6 +78,7 @@
// Setup output
OutputStream out = new java.io.FileOutputStream(pdffile);
out = new java.io.BufferedOutputStream(out);
+
try {
driver.setOutputStream(out);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]