เทมเพลตถูกใช้อย่างแพร่หลายเพื่อสร้างเอกสารส่วนตัวโดยแทนที่คีย์เทมเพลตด้วยค่าที่เกี่ยวข้อง บทความนี้แนะนำเกี่ยวกับวิธีค้นหาและแทนที่ข้อความและคำในเอกสาร PDF ในภาษาจาวา เราจะหารือแยกกันเกี่ยวกับวิธีดำเนินการค้นหาคำและวลี การค้นหาคำที่คำนึงถึงตัวพิมพ์เล็กและใหญ่ การแทนที่ข้อความที่พบโดยใช้นิพจน์ทั่วไป สุดท้าย เราจะเรียนรู้วิธีซ่อนส่วนที่ค้นหาของข้อความโดยใช้ Java
หัวข้อต่อไปนี้จะครอบคลุมด้านล่าง:
- Java API สำหรับการแทนที่ข้อความ
- ค้นหาและแทนที่คำหรือวลี
- การค้นหาและการแทนที่คำที่คำนึงถึงตัวพิมพ์เล็กและใหญ่
- แทนที่โดยใช้นิพจน์ทั่วไป (RegEx)
- ซ่อนข้อความด้วยกล่องสี
Java Redaction API สำหรับการแทนที่ข้อความ
GroupDocs มี Java API สำหรับใช้การตอบโต้ประเภทต่างๆ อนุญาตให้แก้ไข ซ่อน หรือลบเนื้อหาและแม้แต่ข้อมูลเมตาของเอกสาร งานนำเสนอ สเปรดชีต ไฟล์ PDF และรูปภาพภายในแอปพลิเคชัน สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ API โปรดไปที่เอกสารประกอบ
ดาวน์โหลดหรือกำหนดค่า
คุณสามารถดาวน์โหลดไฟล์ JAR ได้จาก ส่วนการดาวน์โหลด หรือเพียงแค่รับพื้นที่เก็บข้อมูลและการกำหนดค่าการพึ่งพาล่าสุดสำหรับ pom.xml ของแอปพลิเคชัน Java ที่ใช้ maven
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-redaction</artifactId>
<version>21.12</version>
</dependency>
ข้อดีอย่างหนึ่งคือไม่จำเป็นต้องติดตั้งโปรแกรมแก้ไข PDF หรือซอฟต์แวร์ของบุคคลที่สามอื่นๆ สำหรับการเรียบเรียง PDF ต่อไปนี้คือเนื้อหาของเอกสาร PDF ที่ใช้ในตัวอย่างด้านล่างสำหรับการแก้ไข วิธีการเดียวกันนี้จะใช้ได้กับรูปแบบเอกสารอื่นๆ โดยที่ซอร์สโค้ดแทบจะไม่มีความแตกต่างกันเลย
ค้นหาและแทนที่คำหรือวลีใน PDF ใน Java
คุณสามารถใช้คุณลักษณะนี้เพื่อซ่อนข้อมูลส่วนตัว และสร้างเอกสารแบบกำหนดเองใหม่จากเทมเพลตใดก็ได้ ขั้นตอนต่อไปนี้จะอธิบายวิธีค้นหาคำ/วลีในเอกสาร PDF และแทนที่ด้วยข้อความอื่นภายในแอปพลิเคชัน Java
- โหลดไฟล์ PDF โดยใช้คลาส Redactor
- ค้นหาวลีหรือคำที่ตรงทั้งหมด โดยใช้ ExactPhaseRedaction และ [ReplacementOptions](https://apireference.groupdocs com/redaction/java/com.groupdocs.redaction.redactions/ReplacementOptions)
- ใช้การแก้ไขโดยใช้วิธีการสมัคร()
- บันทึกเอกสารใหม่พร้อมการเปลี่ยนแปลงโดยใช้เมธอด save()
รหัสต่อไปนี้ค้นหาและแทนที่คำในไฟล์ PDF โดยใช้ Java แม่นยำยิ่งขึ้น มันซ่อนเหตุการณ์ทั้งหมดของ “John Doe” โดยแทนที่ด้วยคำว่า “[censored]”
// ค้นหาวลีที่แน่นอนใน PDF และแทนที่ด้วยข้อความอื่นโดยใช้ Java
final Redactor redactor = new Redactor("path/document.pdf");
redactor.apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
// บันทึกไฟล์ที่แก้ไขในตำแหน่งอื่นด้วยชื่ออื่น
FileOutputStream stream = new FileOutputStream("path/exactPhrase.pdf");
RasterizationOptions rasterOptions = new RasterizationOptions();
rasterOptions.setEnabled(false);
redactor.save(stream, rasterOptions);
ผลลัพธ์ของโค้ดด้านบนเป็นดังนี้
ค้นหาและแทนที่ข้อความหรือวลีที่ตรงตามตัวพิมพ์เล็กและใหญ่ใน PDF โดยใช้ Java
คุณสามารถค้นหาและแก้ไขตามตัวพิมพ์เล็กและใหญ่ได้ โค้ดต่อไปนี้จะแทนที่คำว่า “John Doe” ที่คำนึงถึงตัวพิมพ์เล็กและใหญ่ แต่ไม่ใช่ “john doe” ภายในเอกสาร PDF โดยใช้ Java
// ค้นหาวลีที่ถูกต้องใน PDF (คำนึงถึงตัวพิมพ์เล็กและใหญ่) และแทนที่ด้วยข้อความอื่นโดยใช้ Java
final Redactor redactor = new Redactor("path/document.pdf");
redactor.apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
redactor.save();
ผลลัพธ์ของโค้ดจะเป็นดังนี้
แทนที่ข้อความใน PDF ด้วย Regular Expressions (RegEx) ใน Java
ในทำนองเดียวกัน คุณสามารถแทนที่รูปแบบข้อความที่ต้องการโดยใช้นิพจน์ทั่วไป ขั้นตอนต่อไปนี้ช่วยให้คุณสามารถแก้ไข PDF หลังจากค้นหาโดยใช้นิพจน์ทั่วไป (RegEx) ภายในแอปพลิเคชัน Java ของคุณ
- โหลดเอกสาร PDF โดยใช้คลาส Redactor
- ค้นหาการจับคู่ regex โดยใช้คลาส RegexRedaction ที่มี [ReplacementOptions](https://apireference.groupdocs.com/ redaction/java/com.groupdocs.redaction.redactions/ReplacementOptions)
- นำไปใช้ในการเปลี่ยนแปลงเอกสารโดยใช้วิธีการ apply()
- บันทึกเอกสารที่แก้ไขแล้วโดยใช้เมธอด save() ที่เหมาะสม
โค้ด Java ต่อไปนี้แสดงวิธีค้นหารูปแบบข้อความในเอกสาร PDF โดยใช้ RegEx และแทนที่/ซ่อนด้วยข้อความอื่นในภายหลัง
// ค้นหาข้อความใน PDF โดยใช้นิพจน์ทั่วไปและแทนที่ด้วยข้อความอื่นโดยใช้ Java
final Redactor redactor = new Redactor("path/document.pdf");
redactor.apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
redactor.save();
ผลลัพธ์ของโค้ดด้านบนเป็นดังนี้
แทนที่ข้อความด้วยกล่องสีใน Java
หากคุณต้องการซ่อนข้อมูลที่เป็นความลับที่ค้นหาภายในไฟล์ PDF ของคุณ คุณก็เพียงแค่ใส่หน้าปกลงไป API อนุญาตให้คุณซ่อนข้อความที่ค้นหา รหัสต่อไปนี้วางสี่เหลี่ยมผืนผ้าสีดำเหนือข้อความส่วนตัวที่กล่าวถึงใน Java
// ค้นหาข้อความใน PDF และซ่อนด้วยการวาดสี่เหลี่ยมทับโดยใช้ Java
final Redactor redactor = new Redactor("path/document.pdf");
redactor.apply(new ExactPhraseRedaction("John Doe", true, new ReplacementOptions(java.awt.Color.BLACK)));
redactor.save();
ผลลัพธ์ของโค้ดด้านบนเป็นดังนี้
รับใบอนุญาต API ฟรี
คุณสามารถรับใบอนุญาตชั่วคราวได้ฟรี เพื่อใช้ API โดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
โดยสรุป เราได้เรียนรู้วิธีค้นหาข้อความในไฟล์ PDF โดยใช้เทคนิคการค้นหาต่างๆ ต่อมาเราได้แก้ไขไฟล์ PDF โดยแทนที่หรือซ่อนข้อความภายในแอปพลิเคชันใน Java แม่นยำยิ่งขึ้น เราทำการค้นหาคำ วลีง่ายๆ ค้นหาด้วยตัวพิมพ์เล็กและใหญ่ และใช้ RegEx ใน Java สุดท้าย เราเปลี่ยนผลการค้นหาด้วยข้อความอื่นหรือเพียงแค่ซ่อนด้วยสีทับ
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ API โปรดไปที่เอกสารประกอบ หากมีข้อสงสัย โปรดติดต่อเราทาง ฟอรัม