我正在尝试使用 java 将 word 文档转换为 pdf。'word to XSL-FO to pdf' 是我正在研究的方法。
在这种对 XSL-FO 进行“word to XSL-FO”的方法中,是否有可用的开源 api?或者你能指导我实施它的步骤吗?
您要转换什么版本的 Word 文档?
RenderX 具有公开的WordML2FO样式表,可以将 Microsoft 的 WordprocessingML 文档转换为 XSL FO (XSLFO)。
这些样式表是由 RenderX 的开发团队和 Microsoft 为一般用途准备的。它们用于将 Microsoft 的 WordprocessingML XML 词汇表中的文档转换为 W3C 的 XSL FO (XSLFO) 词汇表中的文档。
只要您可以在某处安装 OpenOffice,您也可以尝试使用 Docmosis或JODConverter进行转换。它们在许多平台上工作,并且可以由 Java 控制。
我完全认为仅使用样式表不是可行的方法,因为您会错过太多东西(例如解析样式、用于 docx/word2003 文档中的图形的drawingml/vml 等)。试试这个代码示例并从那里开始。还要注意的是,如果您使用 Microsoft 的 API 生成 Word 2003/2007,除非您进行所有必需的函数调用,否则它的结构可能并不总是正确的。
docx4j(开源,Apache 许可证)可以为您做到这一点。
有关详细信息,请参阅 docx4j 入门指南。