Extract Text from MS Word Documents in C#

เอกสาร Microsoft Word เป็นเครื่องมือหลักในการสร้างและแชร์เนื้อหาข้อความ หากคุณกำลังพัฒนาแอปพลิเคชัน C# ที่มีการโต้ตอบกับเอกสารเหล่านี้ คุณอาจพบว่าต้องการดึงข้อความจากเอกสาร การดึงข้อความอาจมีวัตถุประสงค์เช่น การวิเคราะห์ข้อความหรือการดึงส่วนเฉพาะของเอกสารเพื่อนำมารวบรวมเป็นเอกสารใหม่ ในโพสต์บล็อกนี้ เราจะเจาะลึกถึงวิธีการดึงข้อความจากเอกสาร Word ใน C#

สารบัญ

ไลบรารี C# สำหรับการดึงข้อความ

Aspose.Words for .NET เป็นไลบรารีที่มีประสิทธิภาพและใช้งานง่ายที่ออกแบบมาเพื่อทำงานกับเอกสาร Word มันมีชุดฟีเจอร์ที่ครอบคลุม รวมถึงการดึงข้อความ การสร้างเอกสาร การจัดการ และการแปลง ด้วย Aspose.Words for .NET นักพัฒนาสามารถจัดการแง่มุมต่างๆ ของเอกสาร Word ได้อย่างมีประสิทธิภาพ ทำให้มันเป็นเครื่องมือที่มีค่าในการพัฒนาของคุณ

เพื่อเริ่มต้น ดาวน์โหลดไลบรารี หรือทำการติดตั้งโดยตรงจาก NuGet โดยใช้คำสั่งต่อไปนี้ในคอนโซลผู้จัดการแพ็คเกจ:

PM> Install-Package Aspose.Words

ความเข้าใจเกี่ยวกับการดึงข้อความในเอกสาร Word

เอกสาร MS Word ประกอบด้วยองค์ประกอบต่างๆ เช่น ย่อหน้า ตาราง และภาพ ดังนั้นความต้องการในการดึงข้อความอาจแตกต่างกันไปตามกรณีการใช้งานเฉพาะ คุณอาจต้องการดึงข้อความระหว่างย่อหน้า บุ๊กมาร์ก ความคิดเห็น และอื่นๆ

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

คู่มือทีละขั้นตอนในการดึงข้อความจากเอกสาร Word

ในส่วนนี้ เราจะสร้างตัวดึงข้อความ C# สำหรับเอกสาร Word กระบวนการดึงข้อความจะประกอบด้วยขั้นตอนดังต่อไปนี้:

  1. กำหนดโหนดที่จะรวมอยู่ในกระบวนการดึง
  2. ดึงเนื้อหาระหว่างโหนดที่กำหนด (รวมหรือไม่รวมโหนดเริ่มต้นและสิ้นสุด)
  3. ใช้โหนดที่ถูกสร้างขึ้นใหม่เพื่อสร้างเอกสาร Word ใหม่ที่มีเนื้อหาที่ถูกดึง

มาสร้างวิธีการที่ชื่อว่า ExtractContent ที่จะรับโหนดและพารามิเตอร์อื่นๆ เพื่อทำการดึงข้อความ วิธีการนี้จะทำการวิเคราะห์เอกสารและสร้างโหนดตามพารามิเตอร์ดังต่อไปนี้:

  • StartNode และ EndNode: ซึ่งกำหนดจุดเริ่มต้นและจุดสิ้นสุดสำหรับการดึงเนื้อหา สามารถเป็นโหนดระดับบล็อก (เช่น Paragraph, Table) หรือโหนดระดับในบรรทัด (เช่น Run, FieldStart, BookmarkStart)
    • สำหรับฟิลด์ ให้ส่งวัตถุ FieldStart ที่เกี่ยวข้อง
    • สำหรับบุ๊กมาร์ก ให้ใช้โหนด BookmarkStart และ BookmarkEnd
    • สำหรับความคิดเห็น ให้ใช้โหนด CommentRangeStart และ CommentRangeEnd
  • IsInclusive: พารามิเตอร์นี้กำหนดว่าเครื่องหมายจะรวมอยู่ในกระบวนการดึงหรือไม่ หากตั้งค่าเป็น false และมีโหนดเดียวกันหรือโหนดที่ต่อเนื่องกันจะส่งคืนรายการว่าง

นี่คือการนำไปใช้ทั้งหมดของวิธีการ ExtractContent เพื่อดึงเนื้อหาระหว่างโหนดที่กำหนด:

นอกจากนี้ยังมีวิธีการช่วยเหลือบางอย่างที่จำเป็นสำหรับวิธีการ ExtractContent เพื่อช่วยในการดำเนินการดึงข้อความ:

เมื่อเรามีวิธีการของเราเรียบร้อยแล้ว เราสามารถดำเนินการดึงข้อความจากเอกสาร Word ได้

การดึงข้อความระหว่างย่อหน้าของเอกสาร Word

ในการดึงเนื้อหาระหว่างย่อสองย่อในเอกสาร Word DOCX ให้ทำตามขั้นตอนเหล่านี้:

  1. โหลดเอกสาร Word โดยใช้คลาส Document
  2. รับการอ้างอิงถึงย่อหน้าเริ่มต้นและสิ้นสุดโดยใช้วิธี Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean)
  3. เรียกใช้วิธี ExtractContent(startPara, endPara, True) เพื่อดึงโหนดไปยังวัตถุ
  4. ใช้วิธีช่วยเหลือ GenerateDocument(Document, extractedNodes) เพื่อสร้างเอกสารที่มีเนื้อหาที่ถูกดึง
  5. บันทึกเอกสารใหม่โดยใช้วิธี Document.Save(string)

นี่คือตัวอย่างโค้ดที่แสดงวิธีการดึงข้อความระหว่างย่อหน้าที่ 7 และ 11 ในเอกสาร Word:

การดึงข้อความระหว่างประเภทของโหนดที่แตกต่างกัน

คุณยังสามารถดึงเนื้อหาระหว่างประเภทของโหนดที่แตกต่างกันได้ ตัวอย่างเช่น ให้เราดึงเนื้อหาระหว่างย่อหน้าและตารางและบันทึกลงในเอกสาร Word ใหม่ ขั้นตอนมีดังนี้:

  1. โหลดเอกสาร Word โดยใช้คลาส Document
  2. รับการอ้างอิงถึงโหนดเริ่มต้นและสิ้นสุดโดยใช้วิธี Document.FirstSection.Body.GetChild(NodeType, int, boolean)
  3. เรียกใช้ ExtractContent(startPara, endPara, True) เพื่อดึงโหนดไปยังวัตถุ
  4. ใช้วิธีช่วยเหลือ GenerateDocument(Document, extractedNodes) เพื่อสร้างเอกสารที่มีเนื้อหาที่ถูกดึง
  5. บันทึกเอกสารใหม่โดยใช้ Document.Save(string)

นี่คือตัวอย่างโค้ดสำหรับการดึงข้อความระหว่างย่อหน้าและตารางใน C#:

การดึงข้อความตามสไตล์

ในการดึงเนื้อหาระหว่างย่อหน้าตามสไตล์ ให้ทำตามขั้นตอนเหล่านี้ สำหรับการสาธิตนี้ เราจะดึงเนื้อหาระหว่าง “Heading 1” แรกและ “Heading 3” แรกในเอกสาร Word:

  1. โหลดเอกสาร Word โดยใช้คลาส Document
  2. ดึงย่อหน้าไปยังวัตถุโดยใช้วิธีช่วยเหลือ ParagraphsByStyleName(Document, “Heading 1”)
  3. ดึงย่อหน้าไปยังวัตถุอีกอันโดยใช้ ParagraphsByStyleName(Document, “Heading 3”)
  4. เรียกใช้ ExtractContent(startPara, endPara, True) โดยใช้สมาชิกแรกจากทั้งสองอาร์เรย์ของย่อหน้า
  5. ใช้วิธีช่วยเหลือ GenerateDocument(Document, extractedNodes) เพื่อสร้างเอกสารที่มีเนื้อหาที่ถูกดึง
  6. บันทึกเอกสารใหม่โดยใช้ Document.Save(string)

นี่คือตัวอย่างโค้ดในการดึงเนื้อหาระหว่างย่อหน้าตามสไตล์:

อ่านเพิ่มเติมเกี่ยวกับการดึงข้อความ

สำรวจสถานการณ์เพิ่มเติมสำหรับการดึงข้อความจากเอกสาร Word ผ่าน บทความเอกสารนี้.

รับไลบรารีดึงข้อความ Word ฟรี

คุณสามารถขอรับ ใบอนุญาตชั่วคราวฟรี เพื่อดึงข้อความโดยไม่มีข้อจำกัดในการประเมินผล

สรุป

Aspose.Words for .NET เป็นไลบรารีที่หลากหลายซึ่งช่วยให้กระบวนการดึงข้อความจากเอกสาร Word ใน C# เป็นไปอย่างราบรื่น ด้วยฟีเจอร์ที่หลากหลายและ API ที่ใช้งานง่าย คุณสามารถทำงานกับเอกสาร Word ได้อย่างมีประสิทธิภาพและทำให้กระบวนการดึงข้อความเป็นอัตโนมัติ ไม่ว่าคุณจะกำลังพัฒนาแอปพลิเคชันที่ต้องการการประมวลผลเอกสาร Word หรือเพียงแค่ดึงข้อความ Aspose.Words for .NET เป็นเครื่องมือที่จำเป็นสำหรับนักพัฒนา

เพื่อสำรวจฟีเจอร์เพิ่มเติมของ Aspose.Words for .NET โปรดตรวจสอบ เอกสาร. หากคุณมีคำถามใด ๆ โปรดติดต่อเราผ่าน ฟอรัมของเรา.

ดูเพิ่มเติม

เคล็ดลับ: คุณอาจต้องการตรวจสอบ Aspose PowerPoint to Word Converter ซึ่งแสดงให้เห็นถึงกระบวนการที่ได้รับความนิยมในการแปลงงานนำเสนอเป็นเอกสาร Word.