วิธีการสกัดข้อความจาก PDF ใน .NET

วิธีการสกัดข้อความจาก PDF ใน .NET

บทความนี้แสดงให้เห็นถึงวิธีการสกัดข้อความจากเอกสาร PDF โดยใช้ Aspose.PDF Text Extractor สําหรับ .NET คุณจะเรียนรู้ที่จะใช้โหมดสกปรกทั้งหมดที่ได้รับการสนับสนุน - Pure, Raw, และ Plain - และอัตโนมัติการไหลของงานสําหรับไฟล์ PDF แต่ละหรือหลาย

ปัญหาโลกจริง

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

ความคิดเห็นเกี่ยวกับโซลูชัน

Aspose.PDF Text Extractor for .NET ให้อินเตอร์เฟซที่สะอาดและสามารถเขียนโปรแกรมได้สําหรับการสกัดข้อความในรูปแบบต่างๆ เลือกระหว่างโหมด Pure, Raw และ Plain เพื่อให้เหมาะกับกรณีการใช้งานของคุณ - ไม่ว่าคุณต้องการการส่งออกแบบฟอร์มข้อมูลหรือเนื้อหาเรียบ

ข้อกําหนด

  • Visual Studio 2019 หรือภายหลัง
  • .NET 6.0 หรือเร็วกว่า
  • Aspose.PDF สําหรับ .NET ติดตั้งผ่าน NuGet
PM> Install-Package Aspose.PDF

การดําเนินการขั้นตอนขั้นตอน

ขั้นตอน 1: ติดตั้งและกําหนดค่า Aspose.PDF

using Aspose.Pdf.Plugins;
using System.IO;

ขั้นตอน 2: สารสกัดข้อความโดยใช้โหมด default (Raw)

using (var extractor = new TextExtractor())
{
    var options = new TextExtractorOptions(); // Raw mode by default
    options.AddInput(new FileDataSource("input.pdf"));
    var resultContainer = extractor.Process(options);
    string textExtracted = resultContainer.ResultCollection[0].ToString();
    Console.WriteLine(textExtracted);
}

ขั้นตอนที่ 3: สารสกัดข้อความในโหมดบริสุทธิ์หรือเรียบ

  • **โหมดบริสุทธิ์: ** ปกป้องตําแหน่งที่เกี่ยวข้องและเพิ่มพื้นที่สําหรับการปรับตัว
  • **โหมดการวางแผน: ** รูปแบบ stripes, output text with minimal spaces.
using (var extractor = new TextExtractor())
{
    var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Pure); // Or .Plain
    options.AddInput(new FileDataSource("input.pdf"));
    var resultContainer = extractor.Process(options);
    string textExtracted = resultContainer.ResultCollection[0].ToString();
    Console.WriteLine(textExtracted);
}

การใช้กรณีและแอพพลิเคชัน (ด้วยการเปลี่ยนแปลงรหัส)

1. Batch สารสกัดข้อความจากไฟล์ PDF จํานวนมาก

string[] files = Directory.GetFiles(@"C:\PDFs", "*.pdf");
using (var extractor = new TextExtractor())
{
    var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Pure);
    foreach (var file in files)
        options.AddInput(new FileDataSource(file));
    var resultContainer = extractor.Process(options);
    for (int i = 0; i < resultContainer.ResultCollection.Count; i++)
    {
        string extracted = resultContainer.ResultCollection[i].ToString();
        // Save to disk, process, or analyze as needed
        File.WriteAllText($@"C:\PDFs\out\{Path.GetFileNameWithoutExtension(files[i])}.txt", extracted);
    }
}

2. เลือกโหมดการสกัดขึ้นอยู่กับกรณีการใช้

  • ใช้ Pure สําหรับการจัดตั้งแบบตารางหรือการออกแบบพื้นที่
  • ใช้ Plain สําหรับการสกัดหรือวิเคราะห์ข้อมูลที่สะอาด
  • ใช้ Raw สําหรับข้อความที่ไม่ได้ประมวลผล

3. กระบวนการโพสต์ข้อความที่สกัด

หลังจากสกัดใช้ regex, การทําความสะอาดข้อความหรือส่งผลให้บริการอื่น ๆ (การค้นหา, ท่อ ML ฯลฯ )

4. บูรณาการการสกัดด้วยท่อข้อมูล

การสกัดอัตโนมัติเป็นส่วนหนึ่งของกระแสการทํางานที่กว้างกว่า ETL, การรายงานหรือการจัดการเอกสารโดยใช้การปฏิบัติมาตรฐาน .NET

ความท้าทายและโซลูชั่นทั่วไป

ความท้าทาย: ** ผลลัพธ์ที่ไม่สม่ําเสมอเนื่องจากโครงสร้าง PDF ที่ซับซ้อนโซลูชัน:**ลองโหมดการสกัดที่แตกต่างกัน (บริสุทธิ์เรียบราก) และเปรียบเทียบผลการกระบวนการหลังถ้าจําเป็น

ความท้าทาย: ** ความเร็วในการสกัดแบตช์โซลูชัน:** ใช้เดียว TextExtractor ตัวอย่างและประมวลผลไฟล์หลายไฟล์ในครั้งเดียวเพื่อประสิทธิภาพที่ดีที่สุด

ความท้าทาย: ตัวละครพิเศษหรือปัญหาการเข้ารหัสโซลูชัน: ใช้โหมดเรียบเพื่อการจัดรูปแบบขั้นต่ําแล้วใช้การประมวลผล string ที่กําหนดเองตามความต้องการ

ประสิทธิภาพและการปฏิบัติที่ดีที่สุด

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

ตัวอย่างการดําเนินการที่สมบูรณ์

using Aspose.Pdf.Plugins;
using System;
using System.IO;

class Program
{
    static void Main()
    {
        using (var extractor = new TextExtractor())
        {
            var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Plain);
            options.AddInput(new FileDataSource(@"C:\PDFs\input.pdf"));
            var resultContainer = extractor.Process(options);
            string textExtracted = resultContainer.ResultCollection[0].ToString();
            File.WriteAllText(@"C:\PDFs\output.txt", textExtracted);
        }
    }
}

ข้อสรุป

Aspose.PDF Text Extractor for .NET ให้คุณเครื่องมือที่มีประสิทธิภาพและมีความยืดหยุ่นสําหรับการสกัดข้อความในรูปแบบหลายแบบเหมาะสําหรับการประมวลผลข้อมูลการจัดเก็บข้อมูลหรือวิเคราะห์ เลือกโหมดสกปรกที่เหมาะสมที่สุดสําหรับความต้องการของคุณและอัตโนมัติสแกนเพื่อประสิทธิภาพสูงในแอพพลิเคชัน .Net

 แบบไทย