กรอกแบบฟอร์ม PDF Java

ในยุคปัจจุบัน ข้อมูลจำนวนมากถูกรวบรวมโดยใช้แบบฟอร์ม และแบบฟอร์ม PDF ที่กรอกได้ก็เป็นสิ่งที่ควรค่าแก่การกล่าวถึงในบริบทนี้ เป็นวิธีที่มีประสิทธิภาพในการรวบรวมและจัดเรียงข้อมูล นอกจากนี้ แบบฟอร์ม PDF ที่กรอกได้กำลังถูกใช้เป็นมาตรฐานโดยสถาบันต่างๆ ตัวอย่างเช่น ศาลหรือบริษัทจัดซื้อจัดจ้างบางแห่งสามารถใช้แบบฟอร์ม PDF ที่กรอกได้อย่างมีประสิทธิภาพเพื่อสร้างมาตรฐานให้กับขั้นตอนของพวกเขา สำหรับการสร้างแอปพลิเคชันดังกล่าว Aspose.PDF for Java API เป็น API ที่เหมาะสมที่สุด อยากรู้ว่าทำไม? ให้เราสำรวจกรณีการใช้งานต่อไปนี้ที่เราจะทำงานกับแบบฟอร์ม PDF โดยทางโปรแกรม

การติดตั้ง

คุณสามารถไปที่ส่วน New Releases ซึ่งคุณสามารถกำหนดค่า API เพื่อเพิ่มความสมบูรณ์ให้กับแอปพลิเคชัน Java ของคุณและเปิดใช้งานการประมวลผลเอกสาร PDF หรือคุณสามารถกำหนดการอ้างอิงในแอปพลิเคชัน Maven ของคุณภายใต้:

พื้นที่เก็บข้อมูล:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository

การพึ่งพา:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.7</version>
</dependency>

หลังจากกำหนดค่า API เรียบร้อยแล้ว ให้เราไปยังกรณีการใช้งานต่อไปนี้:

สร้างแบบฟอร์ม PDF ที่กรอกได้โดยใช้ Java

คุณสามารถสร้างแบบฟอร์ม PDF ที่กรอกได้ในแอปพลิเคชัน Java โดยทำตามขั้นตอนด้านล่าง:

  1. สร้างไฟล์ PDF ด้วยหน้าเปล่า
  2. เพิ่มช่อง TextBox และช่อง RadioButton ในหน้า
  3. บันทึกไฟล์ PDF ที่ส่งออก

ข้อมูลโค้ดด้านล่างแสดงวิธีสร้างแบบฟอร์ม PDF ที่กรอกได้ตั้งแต่เริ่มต้นโดยใช้ Java:

com.aspose.pdf.Document pdfdoc = new com.aspose.pdf.Document();
com.aspose.pdf.Page page = pdfdoc.getPages().add();
TextBoxField nameBox = new TextBoxField(pdfdoc, new com.aspose.pdf.Rectangle(275, 740, 440, 770));
nameBox.setPartialName("nameBox1");
nameBox.getDefaultAppearance().setFontSize(10);
nameBox.setMultiline(true);
com.aspose.pdf.Border nameBorder = new com.aspose.pdf.Border(nameBox);
nameBorder.setWidth(1);
nameBox.setBorder(nameBorder);
nameBox.getCharacteristics().setBorder(java.awt.Color.BLACK);
nameBox.setColor(com.aspose.pdf.Color.fromRgb(Color.RED));
TextBoxField mrnBox = new TextBoxField(pdfdoc, new com.aspose.pdf.Rectangle(275, 718, 440, 738));
mrnBox.setPartialName("Box1");
mrnBox.getDefaultAppearance().setFontSize(10);
com.aspose.pdf.Border mrnBorder = new com.aspose.pdf.Border(mrnBox);
mrnBorder.setWidth(1);
mrnBox.setBorder(mrnBorder);
mrnBox.getCharacteristics().setBorder(java.awt.Color.BLACK);
mrnBox.setColor(com.aspose.pdf.Color.fromRgb(Color.RED));
// เพิ่มฟิลด์แบบฟอร์มในหน้าแรกของเอกสาร PDF            
pdfdoc.getForm().add(nameBox, 1);
pdfdoc.getForm().add(mrnBox, 1);

//เพิ่ม Radiobuttons ที่พิกัดตำแหน่งเฉพาะใน PDF
com.aspose.pdf.Table table = new com.aspose.pdf.Table();
//กำหนดตำแหน่งที่นี่
table.setLeft(200);
table.setTop(300);
table.setColumnWidths("120");
page.getParagraphs().add(table);
com.aspose.pdf.Row r1 = table.getRows().add();
com.aspose.pdf.Row r2 = table.getRows().add();
com.aspose.pdf.Cell c1 = r1.getCells().add();
com.aspose.pdf.Cell c2 = r2.getCells().add();
com.aspose.pdf.RadioButtonField rf = new com.aspose.pdf.RadioButtonField(page);
rf.setPartialName("radio");
pdfdoc.getForm().add(rf, 1);
com.aspose.pdf.RadioButtonOptionField opt1 = new com.aspose.pdf.RadioButtonOptionField();
com.aspose.pdf.RadioButtonOptionField opt2 = new com.aspose.pdf.RadioButtonOptionField();
opt1.setOptionName("Yes");
opt2.setOptionName("No");
opt1.setWidth(15);
opt1.setHeight(15);
opt2.setWidth(15);
opt2.setHeight(15);
rf.add(opt1);
rf.add(opt2);
opt1.setBorder(new com.aspose.pdf.Border(opt1));
opt1.getBorder().setWidth(1);
opt1.getBorder().setStyle(com.aspose.pdf.BorderStyle.Solid);
opt1.getCharacteristics().setBorder(java.awt.Color.BLACK);
opt1.getDefaultAppearance().setTextColor(java.awt.Color.RED);
opt1.setCaption(new com.aspose.pdf.TextFragment("Yes"));
opt2.setBorder(new com.aspose.pdf.Border(opt1));
opt2.getBorder().setWidth(1);
opt2.getBorder().setStyle(com.aspose.pdf.BorderStyle.Solid);
opt2.getCharacteristics().setBorder(java.awt.Color.BLACK);
opt2.getDefaultAppearance().setTextColor(java.awt.Color.RED);
opt2.setCaption(new com.aspose.pdf.TextFragment("No"));
c1.getParagraphs().add(opt1);
c2.getParagraphs().add(opt2);
pdfdoc.save(dataDir + "Fillable_PDF_Form.pdf");

เติม แก้ไข หรือลบฟิลด์แบบฟอร์มใน PDF ที่มีอยู่โดยใช้ Java

เราได้เรียนรู้วิธีสร้างไฟล์ PDF ที่กรอกข้อมูลได้ใหม่ตั้งแต่เริ่มต้น ให้เราดำเนินการตามสถานการณ์ที่มีการประมวลผลเอกสาร PDF ที่มีอยู่:

i) กรอกฟิลด์แบบฟอร์มในไฟล์ PDF ที่มีอยู่โดยใช้ Java

เช่นเดียวกับที่เราได้สร้างแบบฟอร์ม PDF ในตัวอย่างข้างต้น ให้เราดำเนินการกับเอกสารเดียวกันและกรอกข้อมูลในฟิลด์แบบฟอร์มโดยทางโปรแกรมโดยใช้ Java คุณสามารถกรอกแบบฟอร์มที่สร้างขึ้นด้วยขั้นตอนด้านล่าง:

  1. โหลดไฟล์อินพุต
  2. เติมค่าในช่อง TextBox
  3. เติมช่อง RadioButton โดยเลือกตัวเลือก
  4. บันทึกแบบฟอร์ม PDF

ข้อมูลโค้ดด้านล่างแสดงวิธีการกรอกแบบฟอร์มที่กรอกได้โดยใช้ Java:

// เปิดเอกสาร
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fillable_PDF_Form.pdf");

// รับฟิลด์
TextBoxField textBoxField1 = (TextBoxField) pdfDocument.getForm().get("nameBox1");
TextBoxField textBoxField2 = (TextBoxField) pdfDocument.getForm().get("Box1");
// กรอกค่าฟิลด์แบบฟอร์ม
textBoxField1.setValue("A quick brown fox jumped over a lazy dog.");
textBoxField2.setValue("A quick brown fox jumped over a lazy dog.");

// รับฟิลด์ปุ่มตัวเลือก
RadioButtonField radioField = (RadioButtonField) pdfDocument.getForm().get("radio");
// ระบุดัชนีของปุ่มตัวเลือกจากกลุ่ม
radioField.setSelected(1);

dataDir = dataDir + "Fill_PDF_Form_Field.pdf";
// บันทึกเอกสารที่อัปเดต
pdfDocument.save(dataDir);

ii) แก้ไขฟิลด์แบบฟอร์มในเอกสาร PDF โดยใช้ Java

บางครั้งเราจำเป็นต้องแก้ไขหรืออัปเดตค่าฟิลด์ในรูปแบบ PDF คุณสามารถแก้ไขแบบฟอร์ม PDF ที่กรอกได้ง่ายๆ ด้วยขั้นตอนด้านล่าง:

  1. เริ่มต้นอินพุต PDF
  2. รับการอ้างอิงถึงฟิลด์ฟอร์มตามชื่อ
  3. แก้ไขแบบฟอร์ม PDF
  4. บันทึกแบบฟอร์ม PDF ที่แก้ไข

ข้อมูลโค้ดด้านล่างแสดงวิธีการอัปเดตหรือแก้ไขไฟล์ PDF ที่เติมได้โดยใช้ Java:

// เปิดเอกสาร
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// รับฟิลด์
TextBoxField textBoxField = (TextBoxField) pdfDocument.getForm().get("nameBox1");
// แก้ไขค่าฟิลด์
textBoxField.setValue("Changed Value");
textBoxField.setReadOnly(true);
dataDir = dataDir + "ModifyFormField.pdf";
// บันทึกเอกสารที่อัปเดต
pdfDocument.save(dataDir);

iii) ลบฟิลด์แบบฟอร์มในไฟล์ PDF ที่มีอยู่โดยใช้ Java

คุณสามารถลบหรือลบฟิลด์แบบฟอร์มได้อย่างง่ายดายในแอปพลิเคชัน Java ของคุณ คุณสามารถทำตามขั้นตอนด้านล่าง:

  1. เริ่มต้นแบบฟอร์ม PDF
  2. ลบฟิลด์แบบฟอร์มโดยใช้ชื่อ
  3. บันทึกแบบฟอร์ม PDF ที่อัปเดต

ข้อมูลโค้ดด้านล่างแสดงวิธีการลบฟิลด์แบบฟอร์มจากแบบฟอร์ม PDF โดยใช้ Java:

// เปิดเอกสาร
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// ลบฟิลด์เฉพาะตามชื่อ
pdfDocument.getForm().delete("nameBox1");
dataDir = dataDir + "Delete_Form_Field.pdf";
// บันทึกเอกสารที่แก้ไข
pdfDocument.save(dataDir);

รักษาสิทธิ์เพิ่มเติมของรูปแบบ PDF โดยใช้ Java

คุณอาจสังเกตเห็นว่ารูปแบบ PDF บางรูปแบบมีสิทธิเพิ่มเติม ใช้เพื่อหลีกเลี่ยงการแก้ไขเนื้อหาต้นฉบับและอนุญาตให้กรอกแบบฟอร์มเท่านั้น สิทธิ์เพิ่มเติมของไฟล์ PDF อาจได้รับผลกระทบเมื่อ

คุณกรอกแบบฟอร์มดังกล่าวและบันทึกไว้ในตำแหน่งต่างๆ ของดิสก์ ดังนั้น เราจำเป็นต้องบันทึกไฟล์ดังกล่าวทีละน้อยตามขั้นตอนด้านล่าง:

  1. เริ่มต้นรูปแบบ PDF
  2. กรอกข้อมูลในฟิลด์
  3. บันทึกเอกสาร PDF ที่กรอก

ข้อมูลโค้ดด้านล่างแสดงวิธีการรักษาสิทธิ์เพิ่มเติมในขณะที่กรอกแบบฟอร์ม PDF โดยใช้ Java:

// อินสแตนซ์อินสแตนซ์ของเอกสาร
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// รับค่าจากทุกฟิลด์
for (com.aspose.pdf.Field formField : pdfDocument.getForm().getFields())
{
    // หากชื่อเต็มของฟิลด์ประกอบด้วย nameBox1 ให้ดำเนินการ
    if (formField.getFullName().contains("nameBox1"))
    {
        // ช่องแบบฟอร์มแคสต์เป็น TextBox
        TextBoxField textBoxField = (TextBoxField) formField;
        // แก้ไขค่าฟิลด์
        textBoxField.setValue("Preserve Extended Features");
    }
}
// บันทึกเอกสารที่อัปเดต
pdfDocument.save();

ใช้ JavaScript ในรูปแบบ PDF โดยใช้ Java

คุณสามารถกรอกฟิลด์แบบฟอร์ม PDF ที่กรอกได้โดยใช้ Javascript กับ Aspose.PDF for Java คุณควรทำตามขั้นตอนต่อไปนี้:

  1. โหลดเอกสาร PDF
  2. เพิ่มฟิลด์บนตำแหน่งเฉพาะของเพจ
  3. ตั้งค่า JavaScript และการดำเนินการแบบเปิดสำหรับเอกสาร บันทึกไฟล์ PDF

ข้อมูลโค้ดต่อไปนี้แสดงวิธีใช้ JavaScript ในรูปแบบ PDF ที่กรอกได้:

com.aspose.pdf.Document pdfdoc = new com.aspose.pdf.Document();
pdfdoc.getPages().add();
TextBoxField textBoxField = new TextBoxField(pdfdoc.getPages().get_Item(1), new com.aspose.pdf.Rectangle(85, 750, 215, 770));
textBoxField.setPartialName("textbox1");
textBoxField.setValue("Text Box");
//TextBoxField.Border = เส้นขอบใหม่ ();
com.aspose.pdf.Border border = new com.aspose.pdf.Border(textBoxField);
border.setWidth(2);
border.setDash(new com.aspose.pdf.Dash(1, 1));
textBoxField.setBorder(border);
textBoxField.getDefaultAppearance().setFontSize(10);
textBoxField.setColor(com.aspose.pdf.Color.fromRgb(java.awt.Color.GREEN));
// เพิ่มฟิลด์ลงในเอกสาร
pdfdoc.getForm().add(textBoxField, 1);
String JS = "var w = this.getField('" + textBoxField.getPartialName() + "'); var today = new Date(); w.value = today.toLocaleString();";
pdfdoc.setOpenAction(new com.aspose.pdf.JavascriptAction(JS));
pdfdoc.save(dataDir + "JS_Form.pdf");

บทสรุป

เราได้เรียนรู้วิธีสร้างแบบฟอร์ม PDF ที่กรอกได้ ตลอดจนการกรอกหรือแก้ไขฟิลด์แบบฟอร์มโดยใช้สภาพแวดล้อม Java นอกจากนี้ เรายังได้สำรวจการรักษาสิทธิ์เพิ่มเติมในเอกสาร PDF นอกเหนือจากการใช้ JavaScript ในการดำเนินการเอกสาร PDF ในกรณีที่มีข้อกังวลหรือปัญหาใดๆ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี

ดูสิ่งนี้ด้วย