Extract Text from MS Word Documents in C#

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

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

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

คุณสามารถ ดาวน์โหลด DLL หรือจัดตั้งไลบรารีโดยตรงจาก NuGet โดยใช้คอนโซลจัดการแพ็คเกจ.

PM> Install-Package Aspose.Words

การสกัดข้อความจากเอกสาร Word

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

สกัดข้อความจากเอกสาร DOC ใน C#

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

  • ก่อนอื่นเราจะกำหนดโหนดที่เราต้องการรวมอยู่ในกระบวนการสกัดข้อความ
  • จากนั้นเราจะสกัดเนื้อหาระหว่างโหนดที่ระบุ (รวมหรือไม่รวมโหนดเริ่มต้นและสิ้นสุด)
  • สุดท้ายเราจะใช้สำเนาของโหนดที่ถูกสกัด เช่น การสร้างเอกสาร Word ใหม่ที่ประกอบด้วยเนื้อหาที่สกัดได้

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

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

ต่อไปนี้คือการดำเนินการทั้งหมดของวิธีการ ExtractContent ที่สกัดเนื้อหาระหว่างโหนดที่ถูกส่งมาด้วยการ สกัดข้อความจากเอกสาร Word ที่ถูกป้องกัน C# อย่างแม่นยำ.

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

ตอนนี้เราพร้อมที่จะใช้วิธีการเหล่านี้และ สกัดข้อความจากเอกสาร Word โดยใช้ C#.

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

มาดูวิธีการสกัดเนื้อหาระหว่างย่อสองย่อในเอกสาร DOCX นี่คือขั้นตอนในการดำเนินการนี้ใน C#.

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

รหัสตัวอย่างต่อไปนี้แสดงวิธีการสกัดข้อความจากไฟล์ Word ขนาดใหญ่โดยการสกัดข้อความระหว่างย่อหน้าที่ 7 ถึง 11 ในเอกสาร Word โดยใช้ C#.

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

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

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

รหัสตัวอย่างต่อไปนี้แสดงถึงการสกัดข้อความระหว่างย่อหน้าและตารางใน C#.

สกัดข้อความระหว่างย่อหน้าตามรูปแบบ

มาดูวิธีการสกัดเนื้อหาระหว่างย่อหน้าตามรูปแบบ เป้าหมายในการแสดงจะเป็นการสกัดเนื้อหาระหว่าง “Heading 1” แรกและ “Heading 3” แรกในเอกสาร Word ขั้นตอนต่อไปนี้จะแสดงวิธีการบรรลุเป้าหมายนี้ใน C#.

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

รหัสตัวอย่างต่อไปนี้แสดงถึงการสกัดเนื้อหาระหว่างย่อหน้าตามรูปแบบ.

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

คุณสามารถสำรวจสถานการณ์อื่น ๆ ของ API .NET สำหรับการสกัดข้อความจากเอกสาร Word โดยใช้ บทความนี้.

รับไลบรารีเครื่องมือสกัดข้อความจาก Word ฟรี

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

สรุป

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

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

ดูเพิ่มเติม

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