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]

Reply via email to