使用iText填充现有pdf文本字段

使用iText填充现有pdf文本字段,itext,Itext,我已经创建了一个带有一些文本字段的pdf文档。我可以使用Adobe reader填充这些文本字段,并将这些值保存到该文件中 我的问题是,我可以用iText编程吗?如果可能的话,请告诉我在哪里可以找到一些例子 这在中进行了解释,更具体地说,在: 此表格: 可以这样填写: PdfDocument pdf = new PdfDocument(new PdfReader(src), new PdfWriter(dest)); PdfAcroForm form = PdfAcroForm.get

我已经创建了一个带有一些文本字段的pdf文档。我可以使用Adobe reader填充这些文本字段,并将这些值保存到该文件中

我的问题是,我可以用iText编程吗?如果可能的话,请告诉我在哪里可以找到一些例子

这在中进行了解释,更具体地说,在:

此表格:

可以这样填写:

PdfDocument pdf =
    new PdfDocument(new PdfReader(src), new PdfWriter(dest));
PdfAcroForm form = PdfAcroForm.getAcroForm(pdf, true);
Map<String, PdfFormField> fields = form.getFormFields();
fields.get("name").setValue("James Bond");
fields.get("language").setValue("English");
fields.get("experience1").setValue("Off");
fields.get("experience2").setValue("Yes");
fields.get("experience3").setValue("Yes");
fields.get("shift").setValue("Any");
fields.get("info").setValue("I was 38 years old when I became an MI6 agent.");
// form.flattenFields();
pdf.close();
pdf文档pdf=
新PDF文件(新PDF阅读器(src)、新PDF编写器(dest));
PdfAcroForm form=PdfAcroForm.getAcroForm(pdf,true);
映射字段=form.getFormFields();
fields.get(“name”).setValue(“詹姆斯·邦德”);
fields.get(“语言”).setValue(“英语”);
字段。获取(“经验1”)。设置值(“关闭”);
字段.get(“experience2”).setValue(“Yes”);
字段.get(“experience3”).setValue(“Yes”);
fields.get(“shift”).setValue(“Any”);
fields.get(“info”).setValue(“当我成为军情六处特工时,我38岁。”);
//form.flattfields();
pdf.close();
结果如下所示:

PdfDocument pdf =
    new PdfDocument(new PdfReader(src), new PdfWriter(dest));
PdfAcroForm form = PdfAcroForm.getAcroForm(pdf, true);
Map<String, PdfFormField> fields = form.getFormFields();
fields.get("name").setValue("James Bond");
fields.get("language").setValue("English");
fields.get("experience1").setValue("Off");
fields.get("experience2").setValue("Yes");
fields.get("experience3").setValue("Yes");
fields.get("shift").setValue("Any");
fields.get("info").setValue("I was 38 years old when I became an MI6 agent.");
// form.flattenFields();
pdf.close();

如果取消注释行
form.flattfields()然后您会得到以下结果:

当窗体展开时,字段将被删除,只剩下内容

如果PDF是动态XFA表单,则应提供XML流,并阅读常见问题解答:


由于您似乎是iText新手,因此假设您将使用最新版本的iText(即iText 7),而不是正在逐步淘汰的版本(iText 5)或过时的版本(iText 2之前的所有版本)。然而,如果出于任何原因您选择使用iText 5,那么您的问题是的副本(在这种情况下,您的问题应作为副本关闭)。

每当我看到这样的问题时,我都会想:官方网站有那么难找到吗?请回答这个问题:我们能做些什么来改进网站?请用你自己的话解释为什么你没有找到任何例子。我们可以做些什么来改进该站点?我们提供的服务有什么问题?