本页内容
填写表单域
使用代码获取 PDF 文档中的表单域并在表单域中填写内容。
由于表单是特殊的注释类型,继承自注释类。所以对注释的接口也同样适用于表单。
使用代码填写表单域的步骤如下:
- 从 CPDFDocument 中获取想要填写表单的页面对象。
- 获取页面对象中的所有注释。
- 遍历所有注释,找到需要填写的表单。
- 根据需求修改表单填写内容。
以下是填写表单域的示例代码:
java
CPDFDocument document = new CPDFDocument();
document.open(pdfPath);
for (int i = 0; i < document.getPageCount(); i++) {
CPDFPage page = document.pageAtIndex(i);
for (CPDFAnnotation annotation : page.getAnnotations()) {
switch (annotation.getType()) {
case WIDGET:
CPDFWidget cpdfWidget = (CPDFWidget) annotation;
switch (cpdfWidget.getWidgetType()) {
case Widget_TextField:
CPDFTextWidget textWidget = (CPDFTextWidget) cpdfWidget;
textWidget.setText("test");
textWidget.updateAp();
break;
case Widget_RadioButton:
CPDFRadiobuttonWidget radiobuttonWidget = (CPDFRadiobuttonWidget) cpdfWidget;
radiobuttonWidget.setChecked(true);
radiobuttonWidget.updateAp();
break;
case Widget_ListBox:
CPDFListboxWidget listBoxWidget = (CPDFListboxWidget) cpdfWidget;
listBoxWidget.setSelectedIndexes(new int[]{0});
listBoxWidget.updateAp();
break;
default:
break;
}
break;
default:
break;
}
}
}