使用 Docx4j 转换为 PDF 时页脚中的页码丢失

Page numbering in Footer is lost while converting to PDF with Docx4j

提问人:Christoph Kronberger 提问时间:5/31/2022 更新时间:5/31/2022 访问量:204

问:

我正在构建一个 API 来使用 Docx4j 库将 XHtml 文件转换为 Word 文件 (.docx) 和 PDF 格式。 目前,该应用程序几乎可以很好地运行,但存在一些小的(我认为)格式问题。

我使用以下代码片段将 CTSimpleFields 添加到我的 Word 文档中:

 CTSimpleField currentPageNumber = factory.createCTSimpleField();
 currentPageNumber.setInstr(" PAGE \\* Arabic  \\* MERGEFORMAT ");
 CTSimpleField totalPageCount = factory.createCTSimpleField();
 totalPageCount.setInstr("NUMPAGES  \\* Arabic  \\* MERGEFORMAT");

如果文档另存为 docx,则效果很好

wordZipFile.save(getOutputStream());

Word 输出

但是当我尝试使用此代码段将 WordMLPackage 转换为 PDF 时:

FieldUpdater updater = new FieldUpdater(this.wordZipFile);
updater.update(true);
Docx4J.toPDF(this.wordZipFile,this.getOutputStream());

输出 PDF 文件中缺少页码。

PDF输出

有人知道如何解决此问题吗?

java xhtml docx docx4j

评论

0赞 JasonPlutext 6/2/2022
您使用哪种转换为 PDF 的方法?查看 docx4java.org/blog/2020/09/...
0赞 Christoph Kronberger 6/2/2022
我目前正在使用 FO impl。因为文档不应离开公司服务器,而 documents4j 本地服务器是没有选项的,因为转换器服务在 Linux 计算机上运行。
0赞 Christoph Kronberger 6/3/2022
@JasonPlutext解决问题的任何想法?

答: 暂无答案