我刚刚尝试通过docx4j的示例Web应用程序访问docx文档,网址为:http://webapp.docx4java.org/OnlineDemo/docx_to_pdf_fop.html生成的PDF文件的表格格式不正确。事实上,表格明显偏离…
我只是想知道这是因为docx4j不能正确地支持表,还是某种错误。如果是,是否有人能给我指出正确的信息。
https://github.com/plutext/docx4j/blob/master/docx4j-samples-docx4j/sample-docs/tables.docx是我们可以处理的各种表格功能的示例。
在没有看到你的文档的情况下(在你的差异问题中没有任何描述!),我会说:
-
您正在使用一些我们还不支持的表格功能,或者
-
如果文档的长度为30页,或者其document.xml的长度超过300KB,则将使用速度更快的"非XSLT"代码。此代码还没有功能奇偶性。
2020年9月更新
对于某些上下文,在docx4j世界中,有3种主要的方法可以将docx转换为PDF:
- 旧的/愉快的方法:使用docx4j导出fo(这是这里讨论的XSL-fo方法,该表示例文档用于此方法)
- 使用由documents4j驱动的本地或远程运行的Microsoft Word。在docx4j 8.2.0中,请参见https://github.com/plutext/docx4j/tree/master/docx4j-samples-documents4j-local/src/main/java/org/docx4j/samples/documents4j/local或-远程子项目
- 使用Microsoft Graph。在docx4j 8.2.3中,请参阅https://github.com/plutext/docx4j/tree/master/docx4j-samples-conversion-via-microsoft-graph/src/main/java/org/docx4j/samples/graph_convert这使用https://github.com/plutext/java-docx-to-pdf-using-Microsoft-Graph
如果jar在类路径上,docx4j将自动使用export-fo。
有关这些方法之间的比较,请参见https://www.docx4java.org/blog/2020/09/office-pptxxlsxdocx-to-pdf-to-in-docx4j-8-2-3/