Marc Reichelt: Drucken (die *wievielteauchimmer*)

Beitrag lesen

Hallo nochmals,

zur Konstante RENDER_PRINT habe ich kurz mal ein Beispiel erstellt (Datei Test.java):

import java.io.IOException;  
import java.io.StringReader;  
  
import org.apache.fop.apps.Driver;  
import org.apache.fop.apps.FOPException;  
  
import org.xml.sax.InputSource;  
  
public class Test {  
 public static void main(String[] args) {  
  // dies ist das XSL-FO  
  String xml =  
   "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +  
   "<fo:root xmlns:fo=\"http://www.w3.org/1999/XSL/Format\">\n" +  
   " <fo:layout-master-set>\n" +  
   "  <fo:simple-page-master master-name=\"dina4\" margin-right=\"40px\" margin-left=\"40px\" margin-top=\"40px\"" +  
      " margin-bottom=\"40px\" page-width=\"595px\" page-height=\"842px\">\n" +  
   "   <fo:region-body/>\n" +  
   "  </fo:simple-page-master>\n" +  
   " </fo:layout-master-set>\n" +  
   " <fo:page-sequence master-reference=\"dina4\">\n" +  
   "  <fo:flow flow-name=\"xsl-region-body\">\n" +  
   "   <fo:block>Text</fo:block>" +  
   "  </fo:flow>\n" +  
   " </fo:page-sequence>\n" +  
   "</fo:root>\n";  
  // XML-Parser mit obigem XML anlegen  
  InputSource foInput = new InputSource(new StringReader(xml));  
  
  try {  
   // dieser Code soll das Dokument nun ausdrucken  
   Driver driver = new Driver(foInput, null);  
   // die nächste Zeile wirft die java.lang.IllegalArgumentException  
   driver.setRenderer(Driver.RENDER_PRINT);  
   driver.run();  
  }  
  catch (FOPException e) {  
   e.printStackTrace();  
  }  
  catch (IOException e) {  
   e.printStackTrace();  
  }  
 }  
}  

Fehlerausgabe:
Exception in thread "main" java.lang.IllegalArgumentException: Use renderer form of setRenderer() for PRINT
 at org.apache.fop.apps.Driver.setRenderer(Driver.java:353)
 at Test.main(Test.java:34)

Vielleicht trägt dieses "Trivialbeispiel" ja etwas zur Problemlösung bei.
Die Dokumentation von FOP (JavaDoc) findet ihr auf meinem Webspace.

Grüße

Marc Reichelt || http://www.marcreichelt.de/

--
Linux is like a wigwam - no windows, no gates and an Apache inside!
Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
http://emmanuel.dammerer.at/selfcode.html