เพิ่มช่องกาเครื่องหมายลงใน PDF Java

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

เหตุใดจึงต้องเพิ่มช่องกาเครื่องหมายลงใน PDF?

การเพิ่มช่องกาเครื่องหมายลงใน PDF มีประโยชน์หลายประการ:

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

การแทรกช่องกาเครื่องหมายใน PDF - การตั้งค่า Java API

ก่อนอื่น คุณต้องกำหนดค่า JDK ในสภาพแวดล้อมของคุณ ประการที่สอง คุณต้องติดตั้ง Conholdate.Total สำหรับ Java โดยดาวน์โหลดไฟล์ JAR หรือใช้การกำหนดค่า Maven ด้านล่างในไฟล์ pom.xml:

<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.8</version>
<type>pom</type>
</dependency>

แทรกช่องกาเครื่องหมายใน PDF โดยใช้ Java

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

  • การสร้างส่วนประกอบกล่องกาเครื่องหมาย: วัตถุ CheckBoxComponent จะถูกกำหนดค่าเริ่มต้นและคุณสมบัติต่างๆ จะถูกตั้งค่า รวมถึงตำแหน่ง ขนาด สีปากกา และสไตล์ วิธี setChecked(true) จะทำให้กล่องกาเครื่องหมายดูเหมือนว่าถูกเลือก

  • การปรับแต่งกล่องกาเครื่องหมาย: วิธี setBox() กำหนดตำแหน่ง (พิกัด x, y) และขนาด (ความกว้าง ความสูง) ของกล่องกาเครื่องหมายใน PDF วิธี setPenColor() กำหนดสีสำหรับกล่องกาเครื่องหมาย และวิธี setStyle() จะเพิ่มรูปแบบภาพให้กับกล่องกาเครื่องหมาย

  • การเพิ่มความคิดเห็น (การตอบกลับ): สร้างอ็อบเจ็กต์การตอบกลับสองรายการ โดยแต่ละรายการมีความคิดเห็นและวันที่และเวลา จากนั้นจึงเพิ่มการตอบกลับเหล่านี้ลงในกล่องกาเครื่องหมาย

  • การบันทึก PDF: PDF พร้อมคำอธิบายประกอบจะถูกบันทึกพร้อมกับส่วนประกอบกล่องกาเครื่องหมายใหม่และความคิดเห็นที่แนบมากับมัน

สามารถใช้โค้ดตัวอย่างต่อไปนี้เพื่อแทรกช่องกาเครื่องหมายในเอกสาร PDF โดยใช้ Java:

try(final com.groupdocs.annotation.Annotator annotator = new com.groupdocs.annotation.Annotator("input.pdf")) {
	com.groupdocs.annotation.models.formatspecificcomponents.pdf.CheckBoxComponent checkbox = new com.groupdocs.annotation.models.formatspecificcomponents.pdf.CheckBoxComponent();
	checkbox.setChecked(true);
	checkbox.setBox(new com.groupdocs.annotation.models.Rectangle(100, 100, 100, 100));
	checkbox.setPenColor(65535);
	checkbox.setStyle(com.groupdocs.annotation.models.BoxStyle.STAR);
	com.groupdocs.annotation.models.Reply reply1 = new com.groupdocs.annotation.models.Reply();
	reply1.setComment("First comment");
	reply1.setRepliedOn(new java.util.Date());

	com.groupdocs.annotation.models.Reply reply2 = new com.groupdocs.annotation.models.Reply();
	reply2.setComment("Second comment");
	reply2.setRepliedOn(new java.util.Date());

	List<com.groupdocs.annotation.models.Reply> replies = new ArrayList<>();
	replies.add(reply1);
	replies.add(reply2);

	checkbox.setReplies(replies);

	annotator.add(checkbox);
	annotator.save("checkbox.pdf");
}

ใบอนุญาตประเมินผลฟรี

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

สรุป

หากทำตามคำแนะนำนี้และใช้ตัวอย่างโค้ดที่ให้มา คุณสามารถเพิ่มช่องกาเครื่องหมายลงในไฟล์ PDF ใน Java ได้อย่างง่ายดายด้วย Conholdate.Total API ฟังก์ชันนี้เหมาะอย่างยิ่งสำหรับการสร้างแบบฟอร์มแบบโต้ตอบ แบบสำรวจ หรือเอกสารใดๆ ที่ต้องการการป้อนข้อมูลจากผู้ใช้ หากมีข้อสงสัยใดๆ โปรดเขียนถึงเราที่ forum

คำถามที่พบบ่อย

ฉันสามารถเพิ่มช่องกาเครื่องหมายหลายช่องในไฟล์ PDF เดียวได้หรือไม่

ใช่ คุณสามารถเพิ่มกล่องกาเครื่องหมายหลายกล่องได้โดยการสร้างอินสแตนซ์ CheckBoxComponent เพิ่มเติมและจัดวางตำแหน่งให้เหมาะสม

สามารถยกเลิกการเลือกช่องกาเครื่องหมายโดยใช้โปรแกรมได้หรือไม่

ใช่ คุณสามารถยกเลิกการเลือกช่องกาเครื่องหมายได้โดยตั้งค่า checkbox.setChecked(false)

ฉันจะระบุตำแหน่งที่แน่นอนของช่องกาเครื่องหมายได้อย่างไร

คุณสามารถตั้งค่าตำแหน่งที่แน่นอนของกล่องกาเครื่องหมายได้โดยใช้เมธอด setBox() พร้อมด้วย Rectangle(x, y, width, height)

ดูเพิ่มเติม