2016-05-04 29 views
0

Ich mache eine Konvertierung von docx nach pdf Format. Ich habe den Variablenaustausch erfolgreich durchgeführt und verfüge über eine WordprocessingMLPackage-Vorlage.Für dieses Ausgabeformat konnte weder ein FOEventHandler noch ein Renderer gefunden werden.

Ich habe beide Ansätze probiert. Die alte deprcated Version der Umwandlung in pdf und die neuere Methode. Beide Fehler geben diese Ausnahme Fehler

Don't know how to handle "application/pdf" as an output format. Neither an FOEventHandler, nor a Renderer could be found for this output format. Error: UnsupportedOpertaionException

Ich habe alles versucht, was ich kann. Dieses Ding funktioniert auf meinem lokalen Computer, aber jetzt an meinem Arbeitsplatz. Ich denke, ich habe alle notwendigen Gläser. Können Sie mir bitte mitteilen, welche Vorgehensweise ich ergreifen soll?

Code: Methode 1:

Docx4J.toPDF(template, new FileOutputStream("newPdf.pdf")); 

Methode 2:

public static void createPDF(WordprocessingMLPackage template, String outputPath) { 
     try { 

      // 2) Prepare Pdf settings 
      PdfSettings pdfSettings = new PdfSettings(); 

      // 3) Convert WordprocessingMLPackage to Pdf 
      OutputStream out = new FileOutputStream(new File(
        outputPath)); 
      PdfConversion converter = new org.docx4j.convert.out.pdf.viaXSLFO.Conversion(
        template); 
      converter.output(out, pdfSettings); 

     } catch (Throwable e) { 
      e.printStackTrace(); 
     } 
    } 

beide sind die gleichen Fehler gibt. Jede Hilfe wird geschätzt!

+0

Dies könnte nützlich sein ... Ich vermisse den Meta-INF-Ordner. Eigentlich hatte ich aus irgendwelchen Gründen keinen Zugriff darauf, die docx4j von Drittanbietern in mein Projekt zu importieren, so dass der Hacky-Weg darin bestand, die Klassendateien in build-> private-> classes-> library in die gleiche hierarchische Struktur zu bringen. Könnte das ein Problem sein? Wenn ja, bitte sagen Sie, wo Sie dieses META-INF setzen müssen. –

+0

Welches FOP-Gefäß haben Sie auf Ihrem Klassenpfad? – JasonPlutext

+0

Ich habe fop-1.1.jar –

Antwort

0

Mein Problem ist gelöst. Das Problem war, dass die erforderliche Datei fop-1.1.jar auf meinem Eclipse-Klassenpfad vorhanden war, aber nicht auf dem Klassenpfad des lokalen Servers. Ich fügte sie dort hinzu und es funktionierte wie ein Zauber.