java - 使用 Eclipse 和 itextpdf 时,并非所有字段都以 PDF 显示
问题描述
我正在使用 Eclipse 从数据库中获取数据并填充 PDF。我创建了一个表单并命名了这些字段。在我的计算机崩溃并且我丢失了代码之前,一切都运行良好。我不得不恢复到旧版本的代码。我更新了我的代码以填充在我的计算机崩溃之前添加到 PDF 中的一些新字段。这些新字段不会显示数据。
我知道问题不在于从数据库中获取数据,因为我可以用新数据填充旧字段。
我的第一个想法是我必须初始化新字段,但我不知道我会在哪里做。我搜索了一个正在显示的字段,但我只看到了我填充该字段的代码。
QDOB1 是一个较旧的字段,填充在 PDF 中。
dp.mdf("QDOB1", sChildren[1]);
QCHILD1 是一个新字段,不会填充。
dp.mdf("QCHILD1", sChildren[0]);
我可以使用 sChildren[0] 来填充 QDOB1 字段。
dp.mdf("QDOB1", sChildren[0]);
这是我的 dp.mdf 代码,它填充 PDF 上的字段。
public void mdf(String uk, String vl)
{
if ((vl != "") && (vl.trim().length() != 0))
{
AcroFields af = this.ps.getAcroFields();
try
{
af.setField(uk, vl);
}
catch (IOException e)
{
JOptionPane.showMessageDialog(null, e.toString());
System.exit(0);
}
catch (DocumentException e)
{
JOptionPane.showMessageDialog(null, e.toString());
System.exit(0);
}
}
}
PDF上的字段是否需要初始化?如果是这样,我在哪里可以找到执行此操作的文件?我找不到附加到该项目的 XML 文件。
解决方案
我意识到表单字段名称区分大小写。现在可以了。
推荐阅读
- reactjs - 基于类的组件和 inChange 事件中的 function 关键字
- unit-testing - 使用 mockK 进行单元测试 - flatMap
- bash - 无法将参数传递给 bash - jenkins 密码参数
- r - 你能帮我用 R 中的正则表达式向后解释这个复杂的正则表达式吗?
- google-cloud-platform - 如何列出不属于任何文件夹的 GCP 项目
- android - LateInitializationError:字段尚未在 Flutter 中初始化
- arrays - 如何比较 unqork 中的两个数组
- hpc - 如何在 Windows HPC 中运行尽可能多的任务,每个任务都运行所有内核?
- python - 将部分字符串替换为 pandas 列作为模式
- jupyter-notebook - cuxfilter.dashboard.DashBoard.preview 不断向我抛出“NameError: name 'launch' is not defined”