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

โปรแกรมลบลายน้ำออกจากไฟล์ PDF

Java API เพื่อลบลายน้ำ PDF

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

  • ลบลายน้ำทั้งหมดออกจากเอกสาร PDF
  • ลบลายน้ำไฮเปอร์ลิงก์
  • ลบลายน้ำด้วยการจัดรูปแบบข้อความเฉพาะ

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

ดาวน์โหลดหรือกำหนดค่า

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

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

ลบลายน้ำทั้งหมดออกจากไฟล์ PDF ใน Java

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

  • โหลดเอกสาร PDF โดยใช้ Watermarker
  • ดึง ลายน้ำที่เป็นไปได้ ทั้งหมดเป็นคอลเลกชันโดยใช้การค้นหา
  • สำรวจคอลเลกชันทั้งหมดและลบลายน้ำทุกอันหรืออันที่ตรงตามเกณฑ์
  • บันทึก PDF ที่อัปเดตแล้วโดยไม่มีลายน้ำ

โค้ด Java ต่อไปนี้จะลบลายน้ำทั้งหมดออกจากเอกสาร PDF

// ลบลายน้ำออกจาก PDF และเอกสารอื่นๆ ใน Java
Watermarker watermarker = new Watermarker("filepath/document-with-watermarks.pdf");

PossibleWatermarkCollection possibleWatermarks = watermarker.search();
for (int i = 0 ; i < watermarks.getCount(); i++)
{
    // ลบลายน้ำทั้งหมดโดยระบุดัชนีภายในเอกสาร
    possibleWatermarks.removeAt(i);
}
watermarker.save("filepath/no-watermarks.pdf");
watermarker.close();

ลบลายน้ำไฮเปอร์ลิงก์ใน Java

API ลายน้ำช่วยให้ค้นหาและลบไฮเปอร์ลิงก์ออกจากเอกสาร PDF ได้ ขั้นตอนต่อไปนี้อนุญาตให้ลบลายน้ำไฮเปอร์ลิงก์ออกจากเอกสาร PDF ภายในแอปพลิเคชัน Java

  • โหลดไฟล์ PDF โดยใช้ Watermarker
  • เรียก ลายน้ำที่เป็นไปได้ เป็นคอลเลกชันโดยใช้การค้นหา
  • สำรวจคอลเลกชันและลบลายน้ำที่ตรงตามเกณฑ์
  • บันทึก PDF ที่อัปเดตโดยไม่มีลายน้ำอีกต่อไป

ตัวอย่างโค้ด Java ต่อไปนี้แสดงวิธีค้นหาและลบลายน้ำไฮเปอร์ลิงก์ที่มี URL เฉพาะจากเอกสาร PDF

// ลบลายน้ำไฮเปอร์ลิงก์จาก PDF ใน Java
Watermarker watermarker = new Watermarker("path/watermark-document.pdf");

PossibleWatermarkCollection watermarks = watermarker.search(new TextSearchCriteria(Pattern.compile("someurl.com")));
for (int i = 0 ; i < watermarks.getCount(); i++)
{
    if (HyperlinkPossibleWatermark.class.isInstance(watermarks.get_Item(i)))
    {
        System.out.println(watermarks.get_Item(i).getText());
        watermarks.removeAt(i);
    }
}
watermarker.save("path/no-hyperlink-watermarks.pdf");

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

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

  • โหลดไฟล์ PDF โดยใช้ Watermarker
  • ตั้งค่าเกณฑ์การค้นหาโดยใช้ TextFormattingSearchCriteria
  • ระบุคุณสมบัติการจัดรูปแบบที่จำเป็นทั้งหมด
  • ค้นหาและรับ ลายน้ำที่เป็นไปได้ ทั้งหมดเป็นชุดโดยระบุเกณฑ์ที่กำหนด
  • ลบลายน้ำที่ค้นหาทั้งหมดโดยใช้เมธอด clear()
  • บันทึก PDF ที่อัปเดตโดยไม่มีลายน้ำที่มีคุณสมบัติที่กำหนดไว้

โค้ด Java ต่อไปนี้จะลบลายน้ำในเอกสาร PDF ที่มีรูปแบบข้อความที่ระบุ

// ลบลายน้ำด้วยการจัดรูปแบบข้อความเฉพาะจาก PDF ใน Java
Watermarker watermarker = new Watermarker("path/watermarks.pdf");

TextFormattingSearchCriteria criteria = new TextFormattingSearchCriteria();
criteria.setForegroundColorRange(new ColorRange());
criteria.getForegroundColorRange().setMinHue(-5);
criteria.getForegroundColorRange().setMaxHue(10);
criteria.getForegroundColorRange().setMinBrightness(0.01f);
criteria.getForegroundColorRange().setMaxBrightness(0.99f);
criteria.setBackgroundColorRange(new ColorRange());
criteria.getBackgroundColorRange().setEmpty(true);
criteria.setFontName("Arial");
criteria.setMinFontSize(19);
criteria.setMaxFontSize(42);
criteria.setFontBold(true);

PossibleWatermarkCollection watermarks = watermarker.search(criteria);
watermarks.clear();
watermarker.save("path/removed-watermarks.pdf");
watermarker.close();

บทสรุป

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

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