我是PDF BOX的新手,需要在PDF表单中填写信息,该表单具有部分和字段名称:
PDF表单包含
的信息NAME 和框来填充信息
地址 和框来填充信息
城市 框填充信息。
如果我有姓名,地址和城市信息,如何使用pdf框将其填写到pdf表单中。
使用了PDFbox中的示例,acroForm仅填充示例字段,如何在特定字段中填充特定信息。
填充后如何将其锁定。
String formTemplate =“ C:/FillFormField.pdf”;
PDDocument pdfDocument = PDDocument.load(new File(formTemplate))
// get the document catalog
PDAcroForm acroForm = pdfDocument.getDocumentCatalog().getAcroForm();
// as there might not be an AcroForm entry a null check is necessary
if (acroForm != null)
{
// Retrieve an individual field and set its value.
PDTextField field = (PDTextField) acroForm.getField( "sampleField" );
field.setValue("Text Entry");
// If a field is nested within the form tree a fully qualified name
// might be provided to access the field.
field = (PDTextField) acroForm.getField( "fieldsContainer.nestedSampleField" );
field.setValue("Text Entry");
}
// Save and close the filled out form.
pdfDocument.save("C:/FillFormField.pdf");
当前没有错误,以上代码可用于填充一些垃圾字段。
需要使用名称信息用框信息准确填写名称 带框信息的地址和地址信息
答案 0 :(得分:0)
我可以使用PDFBOX中的PDF调试器来做到这一点。
使用CMD提示获取文件的结构
java -jar pdfbox-app-1.8.10.jar PDFDebugger yourfile.pdf
请从apache PDF框中获取上述jar文件。
看到结构后,找到字段名称。
答案 1 :(得分:0)
出于我锁定的目的,我不需要使用加密方法。因此使用了Acroform Flatten PDF方法。
// flatten()方法将PDF保存为只读 acroForm.flatten();