
ข้อมูลส่วนใหญ่จะแสดงเป็นข้อความภาพในเอกสาร รูปภาพ และบนเว็บ ดังนั้นบางครั้งการแยกข้อมูลข้อความจึงเป็นสิ่งที่จำเป็นที่สุด คุณอาจต้องแยกข้อความหรือรูปภาพจากเอกสาร Word หรือ PDF ในฐานะนักพัฒนา C# คุณสามารถแยกข้อความจากเอกสารโดยทางโปรแกรมได้อย่างง่ายดาย ในบทความนี้ คุณจะได้เรียนรู้วิธีแยกข้อความจากเอกสาร DOC หรือ DOCX โดยใช้ C#
หัวข้อต่อไปนี้จะกล่าวถึง/ครอบคลุมในบทความนี้:
- C# API สำหรับการแยกข้อความ
- แยกข้อความจาก DOCX โดยใช้ C#
- รับข้อความที่จัดรูปแบบจาก DOCX โดยใช้ C#
- แยกข้อความที่จัดรูปแบบออกจากหน้าโดยใช้ C#
C# API สำหรับการแยกข้อความ
ฉันจะใช้ GroupDocs.Parser for .NET API เพื่อแยกข้อความจากเอกสาร DOCX ช่วยให้สามารถแยกข้อความ ข้อมูลเมตา และรูปภาพจากเอกสารรูปแบบไฟล์ที่รองรับ เช่น Word, PDF, Excel และ Powerpoint นอกจากนี้ยังรองรับการแยกข้อความดิบที่มีการจัดรูปแบบและมีโครงสร้างตลอดจนข้อมูลเมตาจากไฟล์ในรูปแบบที่รองรับ
คุณสามารถ ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet
Install-Package GroupDocs.Parser
แยกข้อความจาก DOCX โดยใช้ C#
คุณสามารถแยกวิเคราะห์เอกสารและแยกข้อความได้อย่างง่ายดายโดยทำตามขั้นตอนง่าย ๆ ที่ระบุไว้ด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Parser
- ระบุเส้นทางของไฟล์
- เรียกเมธอด GetText ของคลาส Parser เพื่อแยกข้อความ
- รับผลลัพธ์ในวัตถุคลาส TextReader
- แสดงผลลัพธ์โดยการเรียกเมธอด ReadToEnd ของคลาส TextReader
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแยกข้อความจากไฟล์ DOCX โดยใช้ C#
// สร้างอินสแตนซ์ของคลาส Parser
Parser parser = new Parser(@"C:\Files\sample.docx");
// แยกข้อความลงในเครื่องอ่าน
using (TextReader reader = parser.GetText())
{
// พิมพ์ข้อความจากเอกสาร
// หากไม่รองรับการแยกข้อความ โปรแกรมอ่านจะเป็นโมฆะ
Console.WriteLine(reader == null ? "Text extraction isn't supported" : reader.ReadToEnd());
}

แยกข้อความจาก DOCX โดยใช้ C#
คลาส Parser เป็นคลาสหลักที่มีฟังก์ชันการแยกวิเคราะห์และการแยกข้อความและรูปภาพ ฉันระบุเส้นทางไฟล์อินพุตใน ตัวสร้าง ของคลาสนี้
GetText() วิธีการของคลาส Parser แยกข้อความจากเอกสารที่ระบุ
รับข้อความที่จัดรูปแบบจาก DOCX โดยใช้ C#
คุณสามารถแยกวิเคราะห์เอกสาร Word และแยกข้อความได้อย่างง่ายดายโดยไม่สูญเสียการจัดรูปแบบสไตล์โดยทำตามขั้นตอนง่าย ๆ ที่ระบุไว้ด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Parser
- ระบุเส้นทางของไฟล์
- กำหนด FormattedTextOptions
- ตั้งค่า FormattedTextMode เป็น HTML
- เรียกเมธอด GetFormattedText ของคลาส Parser เพื่อแยกข้อความ
- รับผลลัพธ์ในวัตถุคลาส TextReader
- แสดงผลลัพธ์โดยการเรียกเมธอด ReadToEnd ของคลาส TextReader
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแยกข้อความที่จัดรูปแบบแล้วจากไฟล์ DOCX โดยใช้ C#
// สร้างอินสแตนซ์ของคลาส Parser
Parser parser = new Parser(@"C:\Files\sample.docx");
// แยกข้อความที่จัดรูปแบบลงในเครื่องอ่าน
using (TextReader reader = parser.GetFormattedText(new FormattedTextOptions(FormattedTextMode.Html)))
{
// พิมพ์ข้อความที่จัดรูปแบบจากเอกสาร
// หากไม่รองรับการแยกข้อความที่จัดรูปแบบ โปรแกรมอ่านจะเป็นค่าว่าง
Console.WriteLine(reader == null ? "Formatted text extraction isn't suppported" : reader.ReadToEnd());
}

แยกข้อความที่จัดรูปแบบจาก DOCX โดยใช้ C#
คลาส FormattedTextOptions มีตัวเลือกที่ใช้สำหรับการแยกข้อความที่มีการจัดรูปแบบ เช่น การแยก Mode ฉันตั้งค่าโหมดการแยกเป็น HTML ซึ่งจะแยกข้อความในเอกสารเป็น HTML
GetFormattedText() วิธีการของคลาส Parser แยกข้อความที่จัดรูปแบบจากเอกสารที่ระบุ
แยกข้อความที่จัดรูปแบบออกจากหน้าโดยใช้ C#
คุณสามารถแยกวิเคราะห์เอกสาร Word และแยกข้อความที่จัดรูปแบบจากหน้าเฉพาะของเอกสารได้อย่างง่ายดายโดยทำตามขั้นตอนง่าย ๆ ที่ระบุไว้ด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Parser
- ระบุเส้นทางของไฟล์
- ตรวจสอบว่า FormattedText เป็นจริงหรือไม่
- เรียก GetDocumentInfo เพื่อนับจำนวนหน้า
- ตรวจสอบว่า PageCount ไม่เป็นศูนย์
- กำหนด FormattedTextOptions
- ตั้งค่า FormattedTextMode เป็น HTML
- เรียกเมธอด GetFormattedText สำหรับแต่ละดัชนีหน้าเพื่อแยกข้อความ
- รับผลลัพธ์ในวัตถุคลาส TextReader
- แสดงผลลัพธ์โดยการเรียกเมธอด ReadToEnd ของคลาส TextReader
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกข้อความที่จัดรูปแบบจากหน้าทีละหน้าโดยใช้ C#
// สร้างอินสแตนซ์ของคลาส Parser
using (Parser parser = new Parser(@"C:\Files\sample.docx"))
{
// ตรวจสอบว่าเอกสารรองรับการแยกข้อความที่จัดรูปแบบแล้วหรือไม่
if (!parser.Features.FormattedText)
{
Console.WriteLine("Document isn't supports formatted text extraction.");
return;
}
// รับข้อมูลเอกสาร
IDocumentInfo documentInfo = parser.GetDocumentInfo();
// ตรวจสอบว่าเอกสารมีหน้าหรือไม่
if (documentInfo.PageCount == 0)
{
Console.WriteLine("Document hasn't pages.");
return;
}
// ทำซ้ำบนหน้าต่างๆ
for (int p = 0; p < documentInfo.PageCount; p++)
{
// พิมพ์หมายเลขหน้า
Console.WriteLine(string.Format("Page {0}/{1}", p + 1, documentInfo.PageCount));
// แยกข้อความที่จัดรูปแบบลงในเครื่องอ่าน
using (TextReader reader = parser.GetFormattedText(p, new FormattedTextOptions(FormattedTextMode.Html)))
{
// พิมพ์ข้อความที่จัดรูปแบบจากเอกสาร
// เราเพิกเฉยต่อการตรวจสอบค่าว่างเนื่องจากเราได้ตรวจสอบการสนับสนุนคุณลักษณะการแยกข้อความที่จัดรูปแบบแล้วก่อนหน้านี้
Console.WriteLine(reader.ReadToEnd());
}
}
}

แยกข้อความที่จัดรูปแบบออกจากหน้าโดยใช้ C#
คลาส Parser จัดเตรียมคุณสมบัติ Features ที่แสดงถึงคลาส Features สามารถใช้เพื่อตรวจสอบว่าคุณสมบัติได้รับการสนับสนุนสำหรับเอกสารหรือไม่ คุณสามารถอ่านเพิ่มเติมเกี่ยวกับคุณสมบัติที่รองรับได้ในส่วน “รับคุณสมบัติที่รองรับ”
รับใบอนุญาตฟรี
คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีแยกข้อความจากเอกสาร Word โดยใช้ C# แล้ว คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Parser สำหรับ .NET API ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม