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

ต่อไปนี้เป็นหัวข้อที่กล่าวถึงโดยย่อด้านล่าง:

PDF Annotator Java API

เพื่อจัดการกับคำอธิบายประกอบของเอกสารและรูปภาพภายในแอปพลิเคชัน Java ของคุณ GroupDocs มี GroupDocs.Annotation for Java เมื่อใช้ API คุณสามารถเพิ่ม ลบ และแยกคำอธิบายประกอบจากเอกสารประมวลผลคำ สเปรดชีต งานนำเสนอ รูปภาพ ข้อความอีเมล ภาพวาด Visio บางรูปแบบ AutoCAD และภาพดิจิทัล เช่น DICOM นอกจากนี้ API ยังอนุญาตให้ใส่คำอธิบายประกอบไฟล์ PDF คุณอาจดูเอกสารประกอบเพื่อทราบเกี่ยวกับรายการ รูปแบบเอกสารที่รองรับสำหรับคำอธิบายประกอบ

ดาวน์โหลดและกำหนดค่า

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

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-annotation</artifactId>
        <version>20.2</version> 
</dependency>

เพิ่มคำอธิบายประกอบใน PDF ใน Java

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

  • คำอธิบายประกอบพื้นที่ / สี่เหลี่ยมผืนผ้า

  • ลูกศร

  • ระยะทาง

  • วงรี

  • ไฮไลต์

  • ลิงค์

  • จุด

  • โพลีไลน์

  • เปลี่ยน

  • การแก้ไขทรัพยากร

  • การขีดฆ่า

  • ช่องข้อความ

  • การโต้ตอบข้อความ

  • ขีดเส้นใต้

  • ลายน้ำ

มาเริ่มเพิ่มสิ่งเหล่านี้ในเอกสาร PDF

เพิ่ม Arrow Annotation ให้กับ PDF โดยใช้ Java

ต่อไปนี้เป็นขั้นตอนในการเพิ่มคำอธิบายประกอบลูกศรในเอกสาร PDF

คำอธิบายประกอบลูกศร
  • โหลดเอกสาร PDF โดยใช้คลาส Annotator
  • เริ่มต้นคำอธิบายประกอบลูกศรโดยใช้คลาส ArrowAnnotation
  • กำหนดตำแหน่งและขนาดของลูกศรโดยใช้เมธอด setBox ของ ArrowAnnotation
  • เพิ่มคำอธิบายประกอบลูกศรที่สร้างขึ้นไปยังวัตถุ Annotator
  • บันทึก PDF ที่มีคำอธิบายประกอบโดยระบุเส้นทางโดยใช้เมธอด save

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มคำอธิบายประกอบลูกศรในเอกสาร PDF โดยใช้ Java

// เพิ่มคำอธิบายประกอบ Arrow ให้กับ PDF โดยใช้ Java
final Annotator annotator = new Annotator("document.pdf");
ArrowAnnotation arrow = new ArrowAnnotation();
arrow.setBox(new Rectangle(100, 100, 100, 100)); // (x, y, width, height)
annotator.add(arrow);
annotator.save("path/annotated-with-arrow.pdf");

แทรกคำอธิบายประกอบสี่เหลี่ยมผืนผ้าหรือพื้นที่เป็น PDF โดยใช้ Java

คุณสามารถปรับแต่งคำอธิบายประกอบในขณะเพิ่มลงในเอกสารได้ ต่อไปนี้เป็นขั้นตอนในการเพิ่มคำอธิบายประกอบสี่เหลี่ยมผืนผ้าหรือพื้นที่ลงในเอกสาร PDF พร้อมการปรับแต่งเพิ่มเติมอีกเล็กน้อย คล้ายกับการเพิ่มคำอธิบายประกอบ Arrow แต่ใช้คลาส AreaAnnotation แทน ArrowAnnotation

  • โหลดเอกสาร PDF โดยใช้คลาส Annotator
  • เริ่มต้นคำอธิบายประกอบสี่เหลี่ยมผืนผ้าโดยใช้คลาส AreaAnnotation
  • กำหนดตำแหน่งและขนาดของสี่เหลี่ยมผืนผ้าโดยใช้เมธอด setBox ของ AreaAnnotation
  • ตั้งค่าคุณสมบัติอื่นๆ เช่น สี พื้นหลัง ความทึบ สไตล์ ความกว้างปากกา หรือแม้แต่ข้อความ และเวลา
  • เพิ่มคำอธิบายประกอบสี่เหลี่ยมผืนผ้าที่สร้างขึ้นไปยังวัตถุ Annotator
  • บันทึก PDF ที่มีคำอธิบายประกอบโดยระบุเส้นทางโดยใช้เมธอด save
คำอธิบายประกอบสี่เหลี่ยมผืนผ้าหรือพื้นที่

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

// เพิ่มคำอธิบายประกอบพื้นที่หรือคำอธิบายประกอบสี่เหลี่ยมผืนผ้าเป็น PDF โดยใช้ Java
final Annotator annotator = new Annotator("document.pdf");
AreaAnnotation area = new AreaAnnotation();
area.setBox(new Rectangle(50, 100, 500, 100));
area.setCreatedOn(Calendar.getInstance().getTime());
area.setMessage("Annotate documents and images.");
area.setOpacity(0.7);
area.setPenColor(-13076963);
area.setPenStyle(PenStyle.Dash);
area.setPenWidth((byte) 3);
// เพิ่มในเอกสาร
annotator.add(area);
annotator.save("path/annotated-with-rectangle.pdf");

เพิ่มคำอธิบายประกอบรูปวงรีหรือวงรีลงใน PDF โดยใช้ Java

ต่อไปนี้เป็นขั้นตอนในการเพิ่มคำอธิบายประกอบรูปวงรีหรือรูปวงรีลงในเอกสาร PDF

คำอธิบายประกอบวงรีหรือวงรี
  • โหลดเอกสาร PDF โดยใช้คลาส Annotator
  • เริ่มต้นคำอธิบายประกอบวงรีโดยใช้คลาส EllipseAnnotation
  • กำหนดตำแหน่งและขนาดของวงรีโดยใช้เมธอด setBox ของ EllipseAnnotation
  • เพิ่มคำอธิบายประกอบวงรีที่สร้างขึ้นไปยังวัตถุคำอธิบายประกอบ
  • บันทึก PDF ที่มีคำอธิบายประกอบโดยระบุเส้นทางโดยใช้เมธอด save

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มคำอธิบายประกอบวงรีหรือวงรีในเอกสาร PDF โดยใช้ Java

// เพิ่มคำอธิบายประกอบวงรีหรือวงรีใน PDF โดยใช้ Java
final Annotator annotator = new Annotator("document.pdf");
// คำอธิบายประกอบรูปวงรีหรือวงรี
EllipseAnnotation ellipse = new EllipseAnnotation();
ellipse.setBox(new Rectangle(275, 505, 300, 80));
// เพิ่มในเอกสาร
annotator.add(area);
annotator.save("path/annotated-with-ellipse.pdf");

แทรกคำอธิบายประกอบระยะทางเป็น PDF โดยใช้ Java

คำอธิบายประกอบระยะทาง

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

  • โหลดเอกสาร PDF โดยใช้คลาส Annotator
  • เริ่มต้นคำอธิบายประกอบระยะทางโดยใช้คลาส DistanceAnnotation
  • กำหนดขนาดและตำแหน่งของคำอธิบายประกอบโดยใช้เมธอด setBox ของ DistanceAnnotation
  • เพิ่มคำอธิบายประกอบระยะทางที่สร้างขึ้นไปยังวัตถุ Annotator
  • บันทึก PDF ที่มีคำอธิบายประกอบโดยระบุเส้นทางโดยใช้เมธอด save

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มคำอธิบายประกอบระยะทางในเอกสาร PDF โดยใช้ Java

// คำอธิบายประกอบระยะทางโดยใช้ Java
final Annotator annotator = new Annotator("document.pdf");
// คำอธิบายประกอบระยะทาง
DistanceAnnotation distance = new DistanceAnnotation();
distance.setBox(new Rectangle(775, 235, 0, 150));
// เพิ่มในเอกสาร
annotator.add(area);
annotator.save("path/annotated-with-distance.pdf");

รหัสที่สมบูรณ์

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

เพิ่มคำอธิบายประกอบใน PDF

โค้ดต่อไปนี้ด้านล่างเพิ่ม ลูกศร สี่เหลี่ยม วงรี ระยะทาง คำอธิบายประกอบ ข้อความ และการตอบกลับไปยังไฟล์ PDF

// เพิ่มคำอธิบายประกอบหลายรายการใน PDF โดยใช้ Java
// การเพิ่ม Arrow, Area, Oval (Ellipse), Distance annotation ให้กับ PDF พร้อมข้อความและการตอบกลับโดยใช้ Java
final Annotator annotator = new Annotator(Constants.INPUT);
// การตั้งค่าการตอบกลับ
Reply reply1 = new Reply();
reply1.setComment("Please look in to these issues.");
reply1.setRepliedOn(Calendar.getInstance().getTime());

Reply reply2 = new Reply();
reply2.setComment("Change Description");
reply2.setRepliedOn(Calendar.getInstance().getTime());

Reply reply3 = new Reply();
reply2.setComment("On-Premises APIs");
reply2.setRepliedOn(Calendar.getInstance().getTime());

Reply reply4 = new Reply();
reply2.setComment("Add images as well.");
reply2.setRepliedOn(Calendar.getInstance().getTime());

java.util.List<Reply> replies = new ArrayList<Reply>();
replies.add(reply1);
replies.add(reply2);
replies.add(reply3);
replies.add(reply4);
// คำอธิบายประกอบลูกศร =================================
ArrowAnnotation arrow = new ArrowAnnotation();
arrow.setBox(new Rectangle(560, 250, 60, -60));
arrow.setCreatedOn(Calendar.getInstance().getTime());
arrow.setMessage("This image is little upwards.");
arrow.setOpacity(0.7);
arrow.setPenColor(-3407872);
arrow.setPenWidth((byte) 2);
arrow.setReplies(replies.subList(0, 1));
// คำอธิบายประกอบพื้นที่ ===================================
AreaAnnotation area = new AreaAnnotation();
area.setBox(new Rectangle(50, 100, 500, 100));
area.setCreatedOn(Calendar.getInstance().getTime());
area.setMessage("Annotate documents and images.");
area.setOpacity(0.7);
area.setPenColor(-13076963);
area.setPenStyle(PenStyle.Dash);
area.setPenWidth((byte) 3);
area.setReplies(replies.subList(1, 2));
// คำอธิบายประกอบวงรีหรือวงรี ========================
EllipseAnnotation ellipse = new EllipseAnnotation();
ellipse.setBox(new Rectangle(275, 505, 300, 80));
ellipse.setCreatedOn(Calendar.getInstance().getTime());
ellipse.setMessage("Shows all the available Annotation APIs.");
ellipse.setOpacity(0.7);
ellipse.setPenColor(-16034924);
ellipse.setPenStyle(PenStyle.Dot);
ellipse.setPenWidth((byte) 3);
ellipse.setReplies(replies.subList(2, 3));
// คำอธิบายประกอบระยะทาง ===============================
DistanceAnnotation distance = new DistanceAnnotation();
distance.setBox(new Rectangle(775, 235, 0, 150));
distance.setCreatedOn(Calendar.getInstance().getTime());
distance.setMessage("This is the heading area");
distance.setOpacity(0.7);
distance.setPenColor(-21197);
distance.setPenStyle(PenStyle.Solid);
distance.setPenWidth((byte) 1);
distance.setReplies(replies.subList(3, 4));
// การเพิ่มคำอธิบายประกอบ =================================
annotator.add(arrow);
annotator.add(area);
annotator.add(ellipse);
annotator.add(distance);
// กำลังบันทึก PDF ที่มีคำอธิบายประกอบ ===============================
annotator.save(outputPath);
annotator.dispose();

ลบคำอธิบายประกอบจาก PDF ใน Java

ขั้นตอนต่อไปนี้แสดงวิธีลบคำอธิบายประกอบทั้งหมดออกจากไฟล์ PDF ใน Java

  • โหลดเอกสาร PDF โดยใช้คลาส Annotator
  • เริ่มต้นตัวเลือกการบันทึกโดยใช้คลาส SaveOptions
  • ตั้งค่าประเภทคำอธิบายประกอบเป็นไม่มี
  • บันทึกไฟล์ PDF โดยลบคำอธิบายประกอบทั้งหมด โดยระบุเส้นทางโดยใช้เมธอด save

โค้ด Java ต่อไปนี้จะลบคำอธิบายประกอบออกจากไฟล์ PDF

// ลบคำอธิบายประกอบทั้งหมดออกจากเอกสาร PDF โดยใช้ Java
final Annotator annotator = new Annotator("document.pdf");
SaveOptions saveOptions = new SaveOptions();
saveOptions.setAnnotationTypes(AnnotationType.None);
// บันทึก PDF โดยไม่มีคำอธิบายประกอบเพิ่มเติม
annotator.save("path/annotations-removed.pdf", saveOptions);
annotator.dispose();

บทสรุป

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

สำหรับรายละเอียด ตัวเลือก และตัวอย่างเพิ่มเติม คุณสามารถไปที่ documentation และ GitHub repository หากต้องการสอบถามเพิ่มเติม โปรดติดต่อฝ่ายสนับสนุนใน ฟอรัม

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