ลบลายน้ำออกจากเอกสาร PDF โดยใช้ Java

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

หัวข้อต่อไปนี้จะกล่าวถึง/ครอบคลุมในบทความนี้:

Java API สำหรับการลบลายน้ำ

ฉันจะใช้ GroupDocs.Watermark for Java API เพื่อลบลายน้ำออกจากเอกสาร PDF ช่วยให้สามารถดำเนินการใส่ลายน้ำรูปภาพและข้อความได้ นอกจากนี้ยังช่วยให้คุณสามารถใส่ลายน้ำใหม่ ค้นหาและลบลายน้ำที่มีอยู่ในไฟล์รูปแบบที่รองรับ เช่น Word, Excel, Powerpoint และ PDF

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

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

ลบลายน้ำทั้งหมดออกจาก PDF โดยใช้ Java

คุณสามารถลบลายน้ำทั้งหมดออกจากเอกสาร PDF ของคุณได้อย่างง่ายดายโดยทำตามขั้นตอนง่าย ๆ ที่ระบุไว้ด้านล่าง:

  • สร้างอินสแตนซ์ของคลาส Watermarker
  • ระบุเส้นทางไปยังไฟล์ PDF อินพุต
  • เติม PossibleWatermarkCollection โดยการเรียกเมธอด search()
  • เรียกใช้เมธอด clear() เพื่อลบลายน้ำทั้งหมด
  • บันทึกไฟล์ที่อัพเดต

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

// สร้างอินสแตนซ์
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// ค้นหาลายน้ำที่เป็นไปได้ทั้งหมด
PossibleWatermarkCollection possibleWatermarks = watermarker.search();

// ลบลายน้ำที่พบทั้งหมด
possibleWatermarks.clear();

// บันทึกไฟล์ที่อัพเดต
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
ลบลายน้ำทั้งหมดออกจาก PDF โดยใช้ Java

ลบลายน้ำทั้งหมดออกจาก PDF โดยใช้ Java

คลาส ลายน้ำ อำนวยความสะดวกในการเพิ่ม ลบ และค้นหาลายน้ำในเอกสาร

คลาส PossibleWatermarkCollection แสดงถึงชุดของลายน้ำที่เป็นไปได้ที่พบในเนื้อหา

เมธอด search() ของคลาส Watermarker จะค้นหาลายน้ำที่เป็นไปได้ทั้งหมดในเอกสาร มันจะส่งกลับชุดผลลัพธ์เป็น PossibleWatermarkCollection

การลบลายน้ำเฉพาะข้อความออกจาก PDF โดยใช้ Java

คุณสามารถลบลายน้ำแบบข้อความอย่างเดียวทั้งหมดออกจากเอกสาร PDF ของคุณได้อย่างง่ายดายโดยทำตามขั้นตอนง่าย ๆ ที่ระบุไว้ด้านล่าง:

  • สร้างอินสแตนซ์ของคลาส Watermarker
  • ระบุเส้นทางไปยังไฟล์ PDF อินพุต
  • เติม PossibleWatermarkCollection โดยการเรียกเมธอด search()
  • ตรวจสอบว่า getText() ไม่เป็นค่าว่างหรือว่างเปล่าสำหรับ PossibleWatermarks ทั้งหมด
  • จากนั้นส่งดัชนีไปที่เมธอด removeAt() เพื่อลบออก
  • บันทึกไฟล์ที่อัพเดต

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

// สร้างอินสแตนซ์
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// ค้นหาลายน้ำที่เป็นไปได้ทั้งหมด
PossibleWatermarkCollection possibleWatermarks = watermarker.search();

// ลบลายน้ำที่พบทั้งหมด
for (int i = possibleWatermarks.getCount() - 1; i >= 0; i--)
{
  if(possibleWatermarks.get_Item(i).getText() != null && possibleWatermarks.get_Item(i).getText() != "")
  {
    possibleWatermarks.removeAt(i);
  }
}

// บันทึกเอกสารที่อัปเดต
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
การลบลายน้ำเฉพาะข้อความออกจาก PDF โดยใช้ Java

การลบลายน้ำเฉพาะข้อความออกจาก PDF โดยใช้ Java

removeAt() วิธีการลบรายการที่ดัชนีที่ระบุออกจาก PossibleWatermarksCollection

ลบลายน้ำด้วยการจัดรูปแบบข้อความโดยเฉพาะ

คุณสามารถลบลายน้ำข้อความที่มีการจัดรูปแบบเฉพาะออกจากเอกสาร PDF ของคุณได้โดยทำตามขั้นตอนง่ายๆ ด้านล่างนี้:

  • สร้างอินสแตนซ์ของคลาส Watermarker
  • ระบุเส้นทางไปยังไฟล์ PDF อินพุต
  • กำหนด TextFormattingSearchCriteria
  • เติม PossibleWatermarkCollection โดยการเรียกเมธอด search()
  • เรียกใช้เมธอด clear() เพื่อลบลายน้ำที่พบทั้งหมด
  • บันทึกไฟล์ที่อัพเดต

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

// สร้างอินสแตนซ์
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// กำหนดเกณฑ์การค้นหาการจัดรูปแบบข้อความ
TextFormattingSearchCriteria criteria = new TextFormattingSearchCriteria();
criteria.setFontName("Arial");
criteria.setMinFontSize(19);
criteria.setMaxFontSize(42);
criteria.setFontBold(false);

// ค้นหาลายน้ำที่เป็นไปได้
PossibleWatermarkCollection watermarks = watermarker.search(criteria);
watermarks.clear();

// บันทึกเอกสารที่อัปเดต
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
ลบลายน้ำด้วยการจัดรูปแบบข้อความโดยเฉพาะ

ลบลายน้ำด้วยการจัดรูปแบบข้อความโดยเฉพาะ

การลบลายน้ำเฉพาะรูปภาพออกจาก PDF โดยใช้ Java

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

  • สร้างอินสแตนซ์ของคลาส Watermarker
  • ระบุเส้นทางไปยังไฟล์ PDF อินพุต
  • เติม PossibleWatermarkCollection โดยการเรียกเมธอด search()
  • ตรวจสอบว่า getImageData() ไม่เป็นค่าว่างสำหรับ PossibleWatermarks ทั้งหมดหรือไม่
  • จากนั้นส่งดัชนีไปที่เมธอด removeAt() เพื่อลบออก
  • บันทึกไฟล์ที่อัพเดต

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

// สร้างอินสแตนซ์
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// ค้นหาลายน้ำที่เป็นไปได้ทั้งหมด
PossibleWatermarkCollection possibleWatermarks = watermarker.search();

// ลบลายน้ำรูปภาพทั้งหมด
for (int i = possibleWatermarks.getCount() - 1; i >= 0; i--)
{
  if(possibleWatermarks.get_Item(i).getImageData() != null)
  {
    possibleWatermarks.removeAt(i);
  }
}

// บันทึกเอกสารที่อัปเดต
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
การลบลายน้ำเฉพาะรูปภาพออกจาก PDF โดยใช้ Java

การลบลายน้ำเฉพาะรูปภาพออกจาก PDF โดยใช้ Java

รับใบอนุญาตฟรี

คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี

บทสรุป

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

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