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