spepping    2004/07/18 12:55:17

  Modified:    examples/embedding build.xml
  Added:       examples/embedding/java/embedding ExampleFO2PDFUsingSAX.java
  Log:
  Added alternative example for FO to PDF, using javax.xml.parsers
  
  Revision  Changes    Path
  1.7       +9 -0      xml-fop/examples/embedding/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/examples/embedding/build.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- build.xml 7 Jul 2004 22:15:10 -0000       1.6
  +++ build.xml 18 Jul 2004 19:55:17 -0000      1.7
  @@ -138,6 +138,15 @@
                  </classpath>
                </java>
        </target>
  +     <target name="example8" depends="compile" description="Runs the FO to PDF 
example using a SAXParser">
  +             <echo message="Running the FO to PDF example using a SAXParser"/>
  +             <java classname="${name}.ExampleFO2PDFUsingSAX" fork="yes">
  +               <classpath>
  +                 <path refid="project.class.path"/>
  +                 <pathelement location="${build.dest}"/>
  +               </classpath>
  +             </java>
  +     </target>
        <!-- =================================================================== -->
        <!-- Clean targets                                                       -->
        <!-- =================================================================== -->
  
  
  
  1.1                  
xml-fop/examples/embedding/java/embedding/ExampleFO2PDFUsingSAX.java
  
  Index: ExampleFO2PDFUsingSAX.java
  ===================================================================
  /*
   * Copyright 1999-2004 The Apache Software Foundation.
   * 
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   *      http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  /* $Id: ExampleFO2PDFUsingSAX.java,v 1.1 2004/07/18 19:55:17 spepping Exp $ */
   
  package embedding;
  
  // Java
  import java.io.BufferedOutputStream;
  import java.io.File;
  import java.io.FileOutputStream;
  import java.io.IOException;
  import java.io.OutputStream;
  
  //JAXP
  import javax.xml.parsers.SAXParserFactory;
  import javax.xml.parsers.FactoryConfigurationError;
  import javax.xml.parsers.SAXParser;
  import javax.xml.parsers.ParserConfigurationException;
  
  //SAX
  import org.xml.sax.helpers.DefaultHandler;
  import org.xml.sax.SAXException;
  
  // FOP
  import org.apache.fop.apps.Driver;
  import org.apache.fop.apps.FOPException;
  
  /**
   * This class demonstrates the conversion of an FO file to PDF using FOP.
   * It uses a SAXParser with FOP as the DefaultHandler
   */
  public class ExampleFO2PDFUsingSAX {
  
      /**
       * Converts an FO file to a PDF file using FOP
       * @param fo the FO file
       * @param pdf the target PDF file
       * @throws FactoryConfigurationError
       * @throws ParserConfigurationException
       * @throws SAXException
       * @throws IOException In case of an I/O problem
       * @throws FOPException In case of a FOP problem
       */
      public void convertFO2PDF(File fo, File pdf)
          throws FactoryConfigurationError,
                 ParserConfigurationException,
                 FOPException, SAXException, IOException {
  
          OutputStream out = null;
          
          try {
              // Construct driver and setup output format
              Driver driver = new Driver();
              driver.setRenderer(Driver.RENDER_PDF);
      
              // Setup output stream.  Note: Using BufferedOutputStream
              // for performance reasons (helpful with FileOutputStreams).
              out = new FileOutputStream(pdf);
              out = new BufferedOutputStream(out);
              driver.setOutputStream(out);
  
              // Setup SAX parser
              // throws FactoryConfigurationError
              SAXParserFactory factory = SAXParserFactory.newInstance();
              factory.setNamespaceAware(true);
              // throws ParserConfigurationException
              SAXParser parser = factory.newSAXParser();
                  
              // Obtain FOP's DefaultHandler
              // throws FOPException
              DefaultHandler dh = driver.getDefaultHandler();
  
              // Start parsing and FOP processing
              // throws SAXException, IOException
              parser.parse(fo, dh);
  
          } finally {
              out.close();
          }
      }
  
  
      /**
       * Main method.
       * @param args command-line arguments
       */
      public static void main(String[] args) {
          try {
              System.out.println("FOP ExampleFO2PDFUsingSAX\n");
              System.out.println("Preparing...");
              
              //Setup directories
              File baseDir = new File(".");
              File outDir = new File(baseDir, "out");
              outDir.mkdirs();
  
              //Setup input and output files            
              File fofile = new File(baseDir, "xml/fo/helloworld.fo");
              File pdffile = new File(outDir, "ResultFO2PDF.pdf");
  
              System.out.println("Input: XSL-FO (" + fofile + ")");
              System.out.println("Output: PDF (" + pdffile + ")");
              System.out.println();
              System.out.println("Transforming...");
              
              ExampleFO2PDFUsingSAX app = new ExampleFO2PDFUsingSAX();
              app.convertFO2PDF(fofile, pdffile);
              
              System.out.println("Success!");
          } catch (Exception e) {
              e.printStackTrace(System.err);
              System.exit(-1);
          }
      }
  }
  
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to