0
Я использую docx4j 2.8.1, и я попытался преобразовать несколько файлов docx, но у меня всегда такая же проблема. Возможно, проблема исходит из версии библиотеки или отсутствовала какая-либо зависимость.Проблемы преобразования docx в pdf с использованием docx4j
Код:
package test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.docx4j.convert.out.pdf.PdfConversion;
import org.docx4j.convert.out.pdf.viaXSLFO.PdfSettings;
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
public class pdfConverter {
public static void main(String[] args) {
createPDF();
}
private static void createPDF() {
try {
// 1) Load DOCX into WordprocessingMLPackage
InputStream is = new FileInputStream(
new File("D:/TestDoc/Res.docx"));
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage
.load(is);
// 2) Prepare Pdf settings
PdfSettings pdfSettings = new PdfSettings();
// 3) Convert WordprocessingMLPackage to Pdf
OutputStream out = new FileOutputStream(new File(
"D:/TestDoc/Res.pdf"));
PdfConversion converter = new org.docx4j.convert.out.pdf.viaXSLFO.Conversion(
wordMLPackage);
converter.output(out, pdfSettings);
} catch (Throwable e) {
e.printStackTrace();
}
}
}
Ошибка:
org.docx4j.openpackaging.exceptions.Docx4JException: FOP issues
at org.docx4j.convert.out.pdf.viaXSLFO.Conversion.output(Conversion.java:374)
at test.pdfConverter.createPDF(pdfConverter.java:42)
at test.pdfConverter.main(pdfConverter.java:21)
Caused by: java.lang.NullPointerException
at org.docx4j.XmlUtils.transform(XmlUtils.java:842)
at org.docx4j.XmlUtils.transform(XmlUtils.java:802)
at org.docx4j.convert.out.pdf.viaXSLFO.Conversion.output(Conversion.java:349)
... 2 more
Вы должны будете разместить свой вход docx где-нибудь, пожалуйста – JasonPlutext
Я устал случайно файлы docx, все они ловят одно и то же исключение, поэтому я не добавил шаблон, с которым я работаю. – oueslatibilel
Если это происходит даже с простым документом «hello world», то да, вы должны искать в другом месте проблему. строка 842 из https://github.com/plutext/docx4j/blob/VERSION_2_8_1/src/main/java/org/docx4j/XmlUtils.java предлагает шаблон null. https://github.com/plutext/docx4j/blob/VERSION_2_8_1/src/main/java/org/docx4j/convert/out/pdf/viaXSLFO/Conversion.java в строке 98 должно вызывать исключение. Проверьте ранее в своих журналах. – JasonPlutext