ดึงข้อความจากเอกสาร MS Word ใน C#

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

สารบัญ

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

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

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

PM> Install-Package Aspose.Words

ความเข้าใจในการดึงข้อความในเอกสาร Word

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

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

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

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

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

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

การใช้งานทั้งหมดของวิธีการ ExtractContent ซึ่งจะ ดึงข้อความจากเอกสาร Word ที่ถูกป้องกันใน C# มีดังนี้:

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

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

ดึงข้อความระหว่างย่อหน้าของเอกสาร 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).

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

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

คุณยังสามารถดึงเนื้อหาระหว่างประเภทของโหนดที่แตกต่างกัน ตัวอย่างเช่น มาดึงเนื้อหาระหว่างย่อหน้าและตารางและบันทึกลงในเอกสาร 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).

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

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

สำรวจสถานการณ์อื่นๆ ของ API .NET สำหรับการดึงข้อความจากเอกสาร Word ใน เอกสารประกอบนี้.

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

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

สรุป

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

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

ดูเพิ่มเติม

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