Java 填充PDF表单域

时间:2026-02-15 12:00:25

1、步骤1:在Java程序中新建一个文件夹可命名为Lib。并将产品包中的2个jar文件复制到新建的文件夹下。

Java 填充PDF表单域

2、步骤2:复制文件后,添加到引用类库:选中这两个jar文件,点击鼠标右键,选择“Build Path” – “Add to Build Path”。完成引用。

Java 填充PDF表单域

1、测试文档如下,PDF文档中已包含的无填写内容的表单域。

Java 填充PDF表单域

2、import com.spire.pdf.FileFormat;

import com.spire.pdf.PdfDocument;

import com.spire.pdf.fields.PdfField;

import com.spire.pdf.widget.*;

public class FillFormField_PDF{

    public static void main(String[] args){

       

        //创建PdfDocument对象,并加载PDF文档

        PdfDocument doc = new PdfDocument();

        doc.loadFromFile("output.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 PdfCheckBoxWidgetFieldWidget) {

                PdfCheckBoxWidgetFieldWidget checkBoxField = (PdfCheckBoxWidgetFieldWidget) field;

                switch(checkBoxField.getName()){

                case "CheckBox1":

                    checkBoxField.setChecked(true);

                    break;

                case "CheckBox2":

                    checkBoxField.setChecked(true);

                    break;

                }

            }

            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 PdfComboBoxWidgetFieldWidget) {

                PdfComboBoxWidgetFieldWidget comboBoxField = (PdfComboBoxWidgetFieldWidget) field;

                comboBoxField.setSelectedIndex(1);

            }

        }

       

        //保存文档

        doc.saveToFile("FillFormFields.pdf", FileFormat.PDF);

    }

}

3、填充效果如下:

Java 填充PDF表单域

© 2026 途途旅游
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com