ในบล็อกโพสต์ของวันนี้ เราจะสำรวจวิธีค้นหาและแทนที่ข้อความในเอกสาร Word (DOC/DOCX) โดยใช้ Java เราจะครอบคลุมแง่มุมต่างๆ ของงานนี้ รวมถึงการทำงานกับ API การเขียนข้อความ Java Word การค้นหาและการแทนที่คำหรือวลี การค้นหาแบบคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ และแม้แต่การแทนที่ข้อความโดยใช้นิพจน์ทั่วไป (RegEx) สำหรับการแทนที่ขั้นสูง
บทความนี้จะกล่าวถึงประเด็นต่อไปนี้:
- ไลบรารี Java สำหรับการค้นหาและแทนที่ใน Word
- ค้นหาและแทนที่คำหรือวลี
- ค้นหาและแทนที่ข้อความที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
- แทนที่ข้อความโดยใช้นิพจน์ทั่วไป
ไลบรารีการโต้ตอบข้อความ Java Word - การติดตั้ง
ในการเริ่มต้น เราต้องตั้งค่าไลบรารี Conholdate.Total for Java ขั้นตอนการติดตั้งไลบรารี Java นี้ง่ายมาก ผู้ใช้ Maven สามารถเพิ่มการกำหนดค่าต่อไปนี้ในไฟล์ pom.xml
<repository>
<id>ConholdateJavaAPI</id>
<name>Conholdate Java API</name>
<url>https://releases.conholdate.com/java/repo</url>
</repository>
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>23.6</version>
<type>pom</type>
</dependency>
จากนั้นรันคำสั่งต่อไปนี้
mvn clean
mvn install -U
หากต้องการกำหนดค่าเฟรมเวิร์ก Java อื่นๆ โปรดไปที่ releases.conholdate.com
รับใบอนุญาตฟรี
คุณสามารถดาวน์โหลด [ใบอนุญาตชั่วคราวฟรี] เพื่อทดสอบไลบรารีโดยไม่มีข้อจำกัดในการประเมิน
ถามคำถาม
คุณสามารถโพสต์คำถามหรือความคิดเห็นของคุณเกี่ยวกับไลบรารีตัวลบเพจ Java PDF ได้ใน [ฟอรั่ม] นี้ 10
การใช้ไลบรารีการเขียนข้อความ Java Word
บอกลาความยุ่งยากในการใช้ MS Word ในการเขียนข้อความ ด้วย Java เราสามารถจัดการมันได้ทั้งหมดด้วยตัวเอง ไม่จำเป็นต้องใช้ซอฟต์แวร์ภายนอก เราจะสำรวจแนวทางต่างๆ เพื่อจัดการกับการค้นหาและการแทนที่ข้อความในเอกสาร Word โดยใช้ Java เราจะใช้ประโยชน์จากพลังของ Java เพื่อทำการค้นหาและแทนที่การดำเนินการอย่างมีประสิทธิภาพ คุณจะประหลาดใจกับความง่ายดายที่คุณสามารถจัดการการแก้ไขข้อความโดยทางโปรแกรมโดยใช้ภาษาโปรแกรมอเนกประสงค์นี้
เราจะใช้เอกสาร Word ตัวอย่างดังที่แสดงในภาพหน้าจอต่อไปนี้:
ค้นหาและแทนที่คำหรือวลี: ขั้นตอนในการเขียนโปรแกรม Java
ต่อไปนี้เป็นขั้นตอนที่อธิบายวิธีการค้นหาและแทนที่อินสแตนซ์ของคำ/วลีในเอกสาร Word
- ขั้นแรก โหลดไฟล์ DOC/DOCX โดยใช้คลาส Redactor
- จากนั้น ค้นหาวลีหรือคำเป้าหมายโดยใช้คลาส ExactPhraseRedaction และ ReplacementOptions
- จากนั้น ปรับใช้การแก้ไขโดยใช้วิธี apply ของ Redactor
- หลังจากนั้น ให้บันทึกไฟล์ที่แก้ไขไปยังตำแหน่งอื่นโดยใช้สตรีมเอาต์พุต
- สุดท้าย ให้บันทึกการเปลี่ยนแปลงการแก้ไขโดยใช้วิธี บันทึก
โค้ด Java ต่อไปนี้ค้นหาคำว่า “John Doe” ในเอกสาร Word ด้านบน และแทนที่อินสแตนซ์ทั้งหมดของ “John Doe” ด้วยคำว่า “[censored]”
// ค้นหาวลีที่ตรงทั้งหมดและแทนที่ด้วยข้อความอื่นโดยใช้ Java
final Redactor redactor = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
// หากคุณต้องการบันทึกไฟล์ที่ถูกแก้ไขในตำแหน่งอื่นด้วยชื่อที่แตกต่างกัน
FileOutputStream stream = new FileOutputStream("path/exactPhrase.docx");
RasterizationOptions rasterOptions = new RasterizationOptions();
rasterOptions.setEnabled(false);
redactor.save(stream, rasterOptions);
ผลลัพธ์ของโค้ดจะเป็นดังนี้
ค้นหาและแทนที่ข้อความที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
ตัวอักษรที่ตรงกันทุกประการของคำดูเหมือนจะมีความสำคัญสำหรับคุณ และคุณต้องการแทนที่ด้วยคำที่เกี่ยวข้องกับการค้นหาแบบคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ของคุณเท่านั้น รหัสต่อไปนี้จะแทนที่การเกิดขึ้นของการจับคู่ตัวพิมพ์ทุกประการของคำว่า “John Doe” ในภาษา Java
// ค้นหาวลีที่ตรงกันทุกประการ (คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) และแทนที่ด้วยข้อความอื่นโดยใช้ Java
final Redactor redactor = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
redactor.save();
ผลลัพธ์ของโค้ดจะเป็นดังนี้
ค้นหาและแทนที่โดยใช้นิพจน์ทั่วไป (RegEx) ใน Java
หากคุณต้องการอัปเดตรูปแบบภายในเอกสารของคุณ แทนที่จะเป็นคำเฉพาะ คุณสามารถใช้นิพจน์ทั่วไป (RegEx) ในโปรแกรม Java เพื่อค้นหาและแทนที่รูปแบบข้อความใดๆ ก็ได้โดยทำตามขั้นตอนด้านล่าง
- โหลดเอกสารด้วยคลาส Redactor
- สร้างรูปแบบ RegEx โดยใช้ RegexRedaction
- ระบุข้อความแทนที่ด้วย ReplacementOptions
- ใช้การแก้ไขโดยใช้วิธี apply
- บันทึกเอกสารที่แก้ไขโดยใช้วิธี บันทึก
โค้ด Java ต่อไปนี้แสดงวิธีการค้นหาคำในเอกสาร MS Word โดยใช้ RegEx และแทนที่ด้วยข้อความอื่น
// ค้นหาข้อความโดยใช้นิพจน์ทั่วไปและแทนที่ด้วยข้อความอื่นโดยใช้ Java
final Redactor redactor = new Redactor("path/document.docx");
redactor.apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
redactor.save();
ผลลัพธ์ของโค้ดจะเป็นดังนี้
บทสรุป
ในตอนท้ายของโพสต์บนบล็อกนี้ คุณจะมีความเข้าใจที่ครอบคลุมเกี่ยวกับวิธีการค้นหาและแทนที่ข้อความในเอกสาร Word โดยใช้ Java ด้วย Conholdate.Total สำหรับไลบรารี Java คุณจะได้รับความรู้และเครื่องมือเพื่อทำให้งานนี้ทำงานอัตโนมัติได้อย่างมีประสิทธิภาพ ปรับปรุงประสิทธิภาพการทำงาน และลดความซับซ้อนของเวิร์กโฟลว์การจัดการเอกสาร เรามาเริ่มต้นและใช้ประโยชน์จาก Conholdate.Total สำหรับ Java กันดีกว่า เพื่อปรับปรุงการประมวลผลเอกสาร Word บน Java ของคุณ!
สุดท้ายนี้ โปรดไปที่ conholdate.com เพื่อรับการอัปเดตเป็นประจำ