gpt4 book ai didi

如果字段多次出现在 PDF 表单中,Java PDFBox 不会维护该字段的字体外观

转载 作者:行者123 更新时间:2023-12-02 12:48:18 27 4
gpt4 key购买 nike

我需要从我的 java web 应用程序动态填写 pdf 表单,我发现 PDFBox 非常有用,除了当我有多个同名字段时遇到的问题或挑战。

我在一页 pdf 表单的不同位置有 5 个具有相同名称的字段(假设为“wcode”)。该字段有不同的字体。通常,当您手动填写一个字段时,其他字段会自动选择相同的值,当我使用 PDFbox 填充它时,也会发生同样的情况,只是 PDFBox 会将我的所有 5 个字段更改为与 pdf 表单中显示的第一个字段具有相同的字体。

这是用于填充该字段的代码。

PDDocument _pdfDocument = PDDocument.load(new File(originalPdf))
PDAcroForm acroForm = _pdfDocument.getDocumentCatalog().getAcroForm();
PDTextField myCodeField = (PDTextField) acroForm.getField("wcode");
if (myCodeField != null) {
myCodeField .setValue(my.getCode());
}
//Refresh layout && Flatten the document
acroForm.refreshAppearances();
acroForm.flatten();
_pdfDocument.save(outputFile);

我添加

acroForm.refreshAppearances();

经过一些研究,但这并没有改变任何东西。

因此,如果 pdf 表单上出现的第一个“wcode”字段为 6pt,则其余所有其他“wcode”字段的 pdf 也将为 6pt,即使我已在外观属性中将它们设置为 12pt。

我使用的是 PDFBox 2.0.5

最佳答案

该问题已在大约一个月前发布的 PDFBox 2.0.6 版本中得到解决。 Check comment on the jira 3837 here

关于如果字段多次出现在 PDF 表单中,Java PDFBox 不会维护该字段的字体外观,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44680926/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com