ในยุคปัจจุบัน ข้อมูลจำนวนมากถูกรวบรวมโดยใช้แบบฟอร์ม และแบบฟอร์ม 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
- แก้ไขฟิลด์แบบฟอร์มในเอกสาร PDF โดยใช้ Java
- ลบฟิลด์ฟอร์มในไฟล์ PDF ที่มีอยู่โดยใช้ Java
- รักษาสิทธิ์เพิ่มเติมของรูปแบบ PDF โดยใช้ Java
- ใช้ JavaScript ในรูปแบบ PDF โดยใช้ Java
สร้างแบบฟอร์ม PDF ที่กรอกได้โดยใช้ Java
คุณสามารถสร้างแบบฟอร์ม PDF ที่กรอกได้ในแอปพลิเคชัน Java โดยทำตามขั้นตอนด้านล่าง:
- สร้างไฟล์ PDF ด้วยหน้าเปล่า
- เพิ่มช่อง TextBox และช่อง RadioButton ในหน้า
- บันทึกไฟล์ 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 คุณสามารถกรอกแบบฟอร์มที่สร้างขึ้นด้วยขั้นตอนด้านล่าง:
- โหลดไฟล์อินพุต
- เติมค่าในช่อง TextBox
- เติมช่อง RadioButton โดยเลือกตัวเลือก
- บันทึกแบบฟอร์ม 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 ที่กรอกได้ง่ายๆ ด้วยขั้นตอนด้านล่าง:
- เริ่มต้นอินพุต PDF
- รับการอ้างอิงถึงฟิลด์ฟอร์มตามชื่อ
- แก้ไขแบบฟอร์ม PDF
- บันทึกแบบฟอร์ม 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 ของคุณ คุณสามารถทำตามขั้นตอนด้านล่าง:
- เริ่มต้นแบบฟอร์ม PDF
- ลบฟิลด์แบบฟอร์มโดยใช้ชื่อ
- บันทึกแบบฟอร์ม 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 อาจได้รับผลกระทบเมื่อ
คุณกรอกแบบฟอร์มดังกล่าวและบันทึกไว้ในตำแหน่งต่างๆ ของดิสก์ ดังนั้น เราจำเป็นต้องบันทึกไฟล์ดังกล่าวทีละน้อยตามขั้นตอนด้านล่าง:
- เริ่มต้นรูปแบบ PDF
- กรอกข้อมูลในฟิลด์
- บันทึกเอกสาร 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 คุณควรทำตามขั้นตอนต่อไปนี้:
- โหลดเอกสาร PDF
- เพิ่มฟิลด์บนตำแหน่งเฉพาะของเพจ
- ตั้งค่า 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 ในกรณีที่มีข้อกังวลหรือปัญหาใดๆ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี