我正在为一个小 Java 项目苦苦挣扎:我制作了一个自动填充 PDF 公式的程序。大多数情况下对我来说一切都很好,但是有一个问题:在这个 PDF 公式中(由我的公司提供,所以我必须处理这个文件)是一个方程字段,用于计算项目数量的成本和单价。当我将单个项目的价格作为字符串插入我的 PDF 时
public void setEinzelpreis(String Einzelpreis)
{
try {
fieldList.get(30).setValue(Einzelpreis);
...
第一行的空白字段中应该有一个价格。该行的最后一个单元格由 pdf 自动计算。当我在“空”字段中单击 PDF 时,会出现值: 当我单击另一个字段时,值会消失。这是我的问题。我通过 pdfbox 获取 FieldList,获取我的 PFD 的 fieldList 的代码是:
try {
pdfTemplate = PDDocument.load(template);
PDDocumentCatalog docCatalog = pdfTemplate.getDocumentCatalog();
PDAcroForm acroForm = docCatalog.getAcroForm();
if (acroForm != null)
{
// Get field names
fieldList = acroForm.getFields();
}
...
那么,谁能告诉我做错了什么?也许 PDF 想要等式的双精度值,而我给出的是字符串?但我不知道如何在 FieldList 中写一个 double。非常感谢每一个提示!
编辑:
我正在使用的 PDF 文件:
https ://1drv.ms/b/s!Av6exjPNXlgOioouAuXL6QV4eUGkqg?e=ocfhvC
这是我生成的文件: https ://1drv.ms/b/s!Av6exjPNXlgOioovK-HuRuXW2aRy_w?e=D1ZCA8
奇怪的是:当我手动更改文档中的值时,一切正常,即使使用不同的文档查看器也是如此。