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

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

บทความนี้แสดงให้เห็นว่าวิธีการสกัดข้อความจาก คู่มือ PDF dokuments using the Aspose.PDF Text Extractor for .NET. You will learn to use all supported extraction modes—Pure, Raw, and Plain—and automate workflows for individual or multiple PDFs. คุณจะเรียนรู้ที่จะใช้โหมดการสกัดที่ได้รับการสนับสนุนทั้งหมดและอัตโนมัติการไหลของงานสําหรับไฟล์ 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.

 แบบไทย