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

จะอ่านและแยกข้อความจากเอกสาร Word ใน Java ได้อย่างไร?

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

แยกข้อความจากเอกสาร Word ใน java

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

// Load document
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new File("FileFormat.docx"));
// Load main document part
MainDocumentPart mainDocumentPart = wordMLPackage.getMainDocumentPart();
// Extract nodes
String textNodesXPath = "//w:t";
List<Object> textNodes= mainDocumentPart.getJAXBNodesViaXPath(textNodesXPath, true);
// Print text
for (Object obj : textNodes) {
  Text text = (Text) ((JAXBElement) obj).getValue();
  String textValue = text.getValue();
  System.out.println(textValue);
}

มาดูกันว่ารหัสนี้ทำงานอย่างไร เอกสาร Word ถูกโหลดโดยใช้ WordProcesingMlPackage และประมวลผลเพิ่มเติมโดยใช้ mainDocumentPart คลาสของ DOCX4J API เมื่อโหลดเอกสารรายการของโหนดข้อความจะได้รับจากวัตถุ MainDocumentPart ที่มีเอกสารจริง แต่ละโหนดข้อความจะถูกอ่านเป็น jaxbelement วัตถุโดยการสำรวจข้ามมัน

บทสรุป

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