PDFBOX Flatten Acro-form 导致文本从原始位置移位
Posted
技术标签:
【中文标题】PDFBOX Flatten Acro-form 导致文本从原始位置移位【英文标题】:PDFBOX Flatten Acro-form causes displaced text from original location 【发布时间】:2021-01-22 02:50:15 【问题描述】:我使用 PDFBOX 填写表格,然后使用 api 将其展平。生成的 PDF 未正确显示
Link TO PDF
我使用的是 PDFBox 2.0.21
展平表单的示例代码
val sourceDocument = getTemplate(templatePath)
val form = sourceDocument.documentCatalog.acroForm
fillHeader(form, headerParam, currentPage, totalPages, it)
fillData(form, it, currentPage)
form.flatten(form.fieldTree.toList(),false)
完整代码发布在Full code
我不确定这个问题是 PDFBox 还是 Adobe
需要帮助
【问题讨论】:
它适用于 2.0.22,但我只测试了一个字段。您应该使用 2.0.22 重新测试,因为修复了与扁平化相关的错误,请参阅 issues.apache.org/jira/browse/PDFBOX-4958 我使用了源代码下载中的 SetField.java 示例并添加了pdf.getDocumentCatalog().getAcroForm().flatten();
。对我来说,填充的字段是黑色的,而不是蓝色的。
什么有效 - 更新到 2.0.22 ?
将版本更新到 2.0.22 对我有用
【参考方案1】:
更新到版本 2.0.22 解决了这个扁平化问题,在 here 中进行了描述。 2.0.22 版本于 2020 年底发布。
始终使用最新版本,使用maven versions plugin 检测是否存在新版本。
【讨论】:
以上是关于PDFBOX Flatten Acro-form 导致文本从原始位置移位的主要内容,如果未能解决你的问题,请参考以下文章
PDFbox 1.7.0 - 如何在使用PDFBox添加新图像时保留现有图像?