แยกข้อความจากพื้นที่เฉพาะบนเพจ

การแนะนำ

ในบทช่วยสอนนี้ เราจะสำรวจวิธีการแยกข้อความจากพื้นที่เฉพาะบนเพจโดยใช้ไลบรารี GroupDocs.Parser สำหรับ .NET GroupDocs.Parser ช่วยให้การแยกข้อความจากเอกสารง่ายขึ้น ช่วยให้นักพัฒนาสามารถกำหนดเป้าหมายภูมิภาคที่สนใจภายในเอกสารเพื่อแยกข้อความได้ สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อต้องรับมือกับเอกสารที่ซับซ้อนซึ่งจำเป็นต้องมีการแยกข้อความที่แม่นยำเพื่อการประมวลผลหรือการวิเคราะห์เพิ่มเติม

ข้อกำหนดเบื้องต้น

ก่อนที่เราจะเริ่ม ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:

  • ติดตั้ง Visual Studio บนเครื่องของคุณแล้ว
  • ความเข้าใจพื้นฐานเกี่ยวกับการเขียนโปรแกรม C#
  • ติดตั้ง GroupDocs.Parser สำหรับไลบรารี .NET แล้ว คุณสามารถดาวน์โหลดได้จากที่นี่.
  • ไฟล์เอกสารตัวอย่างเพื่อทดสอบการแยกข้อความ

นำเข้าเนมสเปซ

ขั้นแรก รวมเนมสเปซที่จำเป็นในไฟล์โค้ด C# ของคุณเพื่อเข้าถึงฟังก์ชัน GroupDocs.Parser:

using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
using GroupDocs.Parser.Options;

ขั้นตอนที่ 1: สร้างอินสแตนซ์คลาส Parser

หากต้องการเริ่มแยกข้อความออกจากเอกสาร ให้สร้างอินสแตนซ์ของParserคลาสโดยระบุพาธไปยังไฟล์เอกสารตัวอย่างของคุณ:

// สร้างอินสแตนซ์ของคลาส Parser
using (Parser parser = new Parser("YourSampleFile.docx"))
{
    // ดำเนินการแยกข้อความต่อ...
}

แทนที่"YourSampleFile.docx" พร้อมเส้นทางไปยังไฟล์เอกสารจริงของคุณ

ขั้นตอนที่ 2: ตรวจสอบการสนับสนุนการแยกพื้นที่ข้อความ

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

// ตรวจสอบว่าเอกสารรองรับการแยกพื้นที่ข้อความหรือไม่
if (!parser.Features.TextAreas)
{
    Console.WriteLine("Document doesn't support text areas extraction.");
    return;
}

ขั้นตอนนี้ช่วยให้แน่ใจว่าสามารถประมวลผลเอกสารเพื่อแยกพื้นที่ข้อความได้

ขั้นตอนที่ 3: รับข้อมูลเอกสาร

ดึงข้อมูลพื้นฐานเกี่ยวกับเอกสารโดยใช้GetDocumentInfo() วิธี:

// รับข้อมูลเอกสาร
IDocumentInfo documentInfo = parser.GetDocumentInfo();

ข้อมูลนี้รวมถึงจำนวนหน้าและข้อมูลเมตาอื่น ๆ เกี่ยวกับเอกสาร

ขั้นตอนที่ 4: วนซ้ำหน้าเอกสาร

วนซ้ำแต่ละหน้าของเอกสารเพื่อแยกข้อความจากพื้นที่เฉพาะ:

// ตรวจสอบว่าเอกสารมีหน้าหรือไม่
if (documentInfo.PageCount == 0)
{
    Console.WriteLine("Document doesn't have any pages.");
    return;
}
// ทำซ้ำบนหน้าต่างๆ
for (int pageIndex = 0; pageIndex < documentInfo.PageCount; pageIndex++)
{
    // พิมพ์หมายเลขหน้าปัจจุบัน
    Console.WriteLine($"Page {pageIndex + 1}/{documentInfo.PageCount}");
    // ดำเนินการแยกข้อความจากพื้นที่ต่อไป...
}

ลูปนี้จะประมวลผลแต่ละหน้าของเอกสารตามลำดับ

ขั้นตอนที่ 5: แยกข้อความจากพื้นที่เฉพาะ

ภายในลูปการวนซ้ำเพจ ให้ดึงข้อความจากพื้นที่เฉพาะที่สนใจโดยใช้GetTextAreas() วิธี:

// วนซ้ำบริเวณข้อความของหน้า
foreach (PageTextArea area in parser.GetTextAreas(pageIndex))
{
    // พิมพ์พิกัดสี่เหลี่ยมและค่าพื้นที่ข้อความ
    Console.WriteLine($"Rectangle: {area.Rectangle}, Text: {area.Text}");
}

ขั้นตอนนี้จะแยกข้อความจากแต่ละพื้นที่ที่กำหนด (เช่น สี่เหลี่ยมขอบ) บนเพจ และแสดงข้อความที่แยกออกมา

บทสรุป

ในบทช่วยสอนนี้ เราได้เรียนรู้วิธีแยกข้อความจากพื้นที่เฉพาะบนเพจโดยใช้ GroupDocs.Parser สำหรับ .NET ด้วยการใช้ประโยชน์จากความสามารถของไลบรารีนี้ นักพัฒนาสามารถดึงข้อความจากภูมิภาคเป้าหมายภายในเอกสารสำหรับแอปพลิเคชันต่างๆ ได้อย่างแม่นยำ

คำถามที่พบบ่อย

ฉันสามารถดึงข้อความจากรูปภาพที่สแกนโดยใช้ GroupDocs.Parser สำหรับ .NET ได้หรือไม่

ใช่ GroupDocs.Parser รองรับการแยกข้อความจากรูปภาพที่สแกนผ่านความสามารถ OCR (Optical Character Recognition)

GroupDocs.Parser เข้ากันได้กับรูปแบบเอกสารต่าง ๆ หรือไม่

ใช่ GroupDocs.Parser รองรับรูปแบบเอกสารที่หลากหลาย รวมถึง PDF, เอกสาร Microsoft Office และอื่นๆ

ฉันจะจัดการกับโครงสร้างเอกสารที่ซับซ้อนด้วยองค์ประกอบที่ซ้อนกันได้อย่างไร

GroupDocs.Parser มีคุณสมบัติในการนำทางผ่านโครงสร้างเอกสารที่ซับซ้อนและแยกข้อความที่เลือกตามเกณฑ์ที่กำหนด

GroupDocs.Parser รักษาการจัดรูปแบบในระหว่างการแยกข้อความหรือไม่

GroupDocs.Parser มุ่งเน้นไปที่การแยกเนื้อหาข้อความดิบ อย่างไรก็ตาม คุณสามารถรวมตรรกะการจัดรูปแบบเพิ่มเติมได้ตามต้องการภายในแอปพลิเคชันของคุณ

GroupDocs.Parser สามารถใช้สำหรับการประมวลผลเอกสารเป็นชุดได้หรือไม่

ได้ GroupDocs.Parser สามารถรวมเข้ากับเวิร์กโฟลว์การประมวลผลเป็นชุดเพื่อจัดการเอกสารหลายชุดได้อย่างมีประสิทธิภาพ