Java 填充PDF表单域

2025-10-27 17:34:38

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表单域

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢