本教程展示如何使用spire.pdf for java获取pdf文档中的表单域,并对表单域进行填充。
import com.spire.pdf.fileformat;
import com.spire.pdf.pdfdocument;
import com.spire.pdf.fields.pdffield;
import com.spire.pdf.widget.*;
public class fillformfield{
public static void main(string[] args){
//创建pdfdocument对象
pdfdocument doc = new pdfdocument();
//加载一个测试文档
doc.loadfromfile("g:\\java-workspace\\spire.pdf\\forms.pdf");
//获取文档中的域
pdfformwidget form = (pdfformwidget) doc.getform();
//获取域控件集合
pdfformfieldwidgetcollection formwidgetcollection = form.getfieldswidget();
//遍历域控件并填充数据
for (int i = 0; i < formwidgetcollection.getcount(); i ) {
pdffield field = formwidgetcollection.get(i);
if (field instanceof pdftextboxfieldwidget) {
pdftextboxfieldwidget textboxfield = (pdftextboxfieldwidget) field;
textboxfield.settext("吴敏");
}
if (field instanceof pdfradiobuttonlistfieldwidget) {
pdfradiobuttonlistfieldwidget radiobuttonlistfield = (pdfradiobuttonlistfieldwidget) field;
radiobuttonlistfield.setselectedindex(1);
}
if (field instanceof pdflistboxwidgetfieldwidget) {
pdflistboxwidgetfieldwidget listbox = (pdflistboxwidgetfieldwidget) field;
listbox.setselectedindex(1);
}
if (field instanceof pdfcheckboxwidgetfieldwidget) {
pdfcheckboxwidgetfieldwidget checkboxfield = (pdfcheckboxwidgetfieldwidget) field;
switch(checkboxfield.getname()){
case "checkbox1":
checkboxfield.setchecked(true);
break;
case "checkbox2":
checkboxfield.setchecked(true);
break;
}
}
if (field instanceof pdfcomboboxwidgetfieldwidget) {
pdfcomboboxwidgetfieldwidget comboboxfield = (pdfcomboboxwidgetfieldwidget) field;
comboboxfield.setselectedindex(1);
}
}
//保存文档
doc.savetofile("fillformfields.pdf", fileformat.pdf);
}
}