docx4j将docx转换为pdf,并且不会出现文本框

时间:2018-09-28 04:06:33

标签: textbox docx4j

document.xml document.docx这是我的文档的链接。我正在尝试将DOCX转换为PDF。我可以隐瞒它,但是我意识到DOCX中的文本框在转换为PDF后消失了。我怎么解决这个问题?下面是我如何转换为PDF的代码。

String myFilePath = "testing.docx";

File docxFile = new File("testing.docx");
WordprocessingMLPackage wordprocessingMLPackage = WordprocessingMLPackage.load(docxFile);

Mapper identifierFontMapper = new IdentityPlusMapper();
wordprocessingMLPackage.setFontMapper(identifierFontMapper);

Mapper bestMatchingMapper = new BestMatchingMapper();
wordprocessingMLPackage.setFontMapper(bestMatchingMapper);

Docx4J.toPDF(wordprocessingMLPackage, new FileOutputStream(myFilePath + ".pdf"));

1 个答案:

答案 0 :(得分:0)

恐怕docx4j对文本框的export-FO支持不是那么好。

部分原因是Word的灵活性与XSL FO中较受限制的选项之间的阻抗不匹配(例如,您可以向左或向右浮动,甚至更多)。

请参阅https://github.com/plutext/docx4j-export-FO/blob/master/src/main/java/org/docx4j/convert/out/fo/FOPictWriterAbstract.java#L50上的注释,以获取Word选项如何映射到FO的摘要。

作为替代方案,您可以尝试在https://converter-eval.plutext.com/使用我们的商用PDF Converter,因为它不使用XSL FO,因此可以更好地处理文本框。