API ฟรี C# .NET สำหรับการสกัดข้อความ PDF และการวิเคราะห์

ไลบรารี .NET แบบโอเพนซอร์สชั้นนำสำหรับการสกัดข้อความ, รูปภาพ, เมตาดาต้า, และข้อมูลโครงสร้าง PDF จากไฟล์ PDF อย่างง่ายดาย. เพิ่มหน้า, ตาราง, ข้อความและรูปทรงใหม่ลงใน PDF.

PdfPig Library คืออะไร?

PdfPig เป็นไลบรารี .NET แบบโอเพนซอร์สที่ออกแบบมาสำหรับการอ่าน การแยกวิเคราะห์ และการดึงเนื้อหาจากไฟล์ PDF ใน C#. มันถูกพัฒนาเป็นพอร์ตของ Apache PDFBox สำหรับระบบนิเวศ .NET และได้รับการใช้งานอย่างกว้างขวางสำหรับการดึงข้อความจาก PDF การวิเคราะห์เอกสาร และการประมวลผล PDF ระดับต่ำ รองรับ .NET Standard และหลายเวอร์ชันของ .NET ทำให้มีความยืดหยุ่นสูงสำหรับสภาพแวดล้อมการพัฒนาสมัยใหม่ ไลบรารีนี้มีประโยชน์อย่างมากสำหรับการทำดัชนีเอกสาร เครื่องมือค้นหา การเตรียมข้อมูลเอกสารสำหรับ AI/ML การประมวลผลหลัง OCR การอัตโนมัติใบแจ้งหนี้ เครื่องมือการเข้าถึง PDF และระบบการดึงข้อมูล

ไฟล์ PDF มีอยู่ทั่วทุกที่—สัญญา รายงาน ใบแจ้งหนี้ eBook ใบแจ้งยอดธนาคาร งานวิจัย และแบบฟอร์มต่าง ๆ การสกัดข้อมูลเชิงโครงสร้างจาก PDF มักเป็นเรื่องยากเนื่องจาก PDF เป็นรูปแบบการนำเสนอเป็นหลัก ไม่ใช่รูปแบบเอกสารเชิงความหมาย PdfPig ทำให้ปัญหานี้ง่ายขึ้นโดยให้ผู้พัฒนาสามารถเข้าถึงข้อความดิบและคำ ตำแหน่งอักขระและกล่องขอบ ฟอนต์และข้อมูลสไตล์ รูปภาพและเมตาดาต้า รวมถึงรายละเอียดการจัดวางเอกสาร ต่างจากไลบรารี PDF หลายตัวที่มุ่งเน้นการสร้าง PDF เท่านั้น PdfPig เชี่ยวชาญในการอ่านเอกสาร PDF ที่มีอยู่แล้ว ทำให้เป็นตัวเลือกที่ยอดเยี่ยมสำหรับนักพัฒนาที่สร้างเครื่องมือค้นหา กระบวนการ OCR ตัวแยกใบแจ้งหนี้ ตัววิเคราะห์เอกสาร เครื่องมือปฏิบัติตามกฎระเบียบ หรือระบบสกัดเนื้อหา

Previous Next

เริ่มต้นใช้งาน PdfPig

ไลบรารี PdfPig มีให้เป็นแพ็กเกจ NuGet ดังนั้นจึงแนะนำอย่างยิ่งให้ใช้ NuGet เพื่อติดตั้ง PdfPig ในโปรเจกต์ของคุณ โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่สำเร็จ

ติดตั้ง PdfPig ผ่าน NuGet Package Manager

// Package Manager
Install-Package PdfPig

// .NET CLI

dotnet add package PdfPig

คุณยังสามารถติดตั้งด้วยตนเองได้; ดาวน์โหลดไฟล์เวอร์ชันล่าสุดโดยตรงจาก GitHub ที่เก็บ

ดึงข้อความจากเอกสาร PDF ผ่าน .NET

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

วิธีดึงข้อความจากเอกสาร PDF ผ่าน C# API?

using UglyToad.PdfPig;

using (var document = PdfDocument.Open("sample.pdf"))
{
    foreach (var page in document.GetPages())
    {
        string text = page.Text;
        Console.WriteLine(text);
    }
}

แบบฟอร์มโต้ตอบและการดึงไฟล์ที่ฝังอยู่

ไลบรารี PdfPig แบบโอเพ่นซอร์สสนับสนุนการสกัดแบบเนทีฟของแบบฟอร์ม Acrobat แบบโต้ตอบ (AcroForms) และการอ่านไฟล์ที่ซ่อนอยู่ในแนบไฟล์ PDF มันทำให้นักพัฒนาสามารถตรวจสอบคำนิยามฟอร์มทั่วทั้งระบบ, วนซ้ำผ่านองค์ประกอบฟอร์มโต้ตอบที่พิมพ์ประเภทต่าง ๆ (เช่น กล่องทำเครื่องหมาย, ฟิลด์ข้อความ, หรือปุ่มกด) และเข้าถึงข้อมูลไบต์ดิบพื้นฐานของไฟล์ที่ฝังอยู่ในคำอธิบายเอกสารเพื่อความร่วมมือของระบบอย่างราบรื่น

วิธีดึงข้อมูลฟอร์มแบบโต้ตอบโดยใช้ไลบรารี C# .NET?

using System;
using System.Collections.Generic;
using UglyToad.PdfPig;
using UglyToad.PdfPig.AcroForms;

class Program
{
    static void ExtractInteractiveContent(string pdfPath)
    {
        using (PdfDocument document = PdfDocument.Open(pdfPath))
        {
            // Extracting Interactive Form Data
            if (document.TryGetForm(out AcroForm form))
            {
                foreach (var field in form.Fields)
                {
                    Console.WriteLine($"Form Field Name: {field.Information.Name} | Type: {field.Type}");
                }
            }

            // Extracting Embedded Documents/Attachments
            if (document.Advanced.TryGetEmbeddedFiles(out IReadOnlyList embeddedFiles))
            {
                foreach (var file in embeddedFiles)
                {
                    Console.WriteLine($"Found Attachment: {file.Name} ({file.Bytes.Count} bytes)");
                    // File.WriteAllBytes(file.Name, file.Bytes.ToArray()); // Save attachment locally
                }
            }
        }
    }
}

การรวม PDF หลายไฟล์อย่างราบรื่นผ่าน C#

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

วิธีรวมไฟล์ PDF หลายไฟล์ภายในแอป C# .NET?

using System.IO;
using UglyToad.PdfPig.Writer;

class Program
{
    static void MergeDocuments(string firstPdf, string secondPdf, string outputPdf)
    {
        // Consolidate files into a single continuous byte sequence
        byte[] mergedFileBytes = PdfMerger.Merge(firstPdf, secondPdf);
        
        // Output the combined file stream directly to disk
        File.WriteAllBytes(outputPdf, mergedFileBytes);
    }
}

อ่านเมตาดาต้า, แบบฟอร์ม และคำอธิบายของ PDF

นอกเหนือจากการสกัดข้อความ ไลบรารีโอเพ่นซอร์ส PdfPig ได้รวมคุณลักษณะที่เปิดเผยเมตาดาต้าเอกสาร (ชื่อเรื่อง, ผู้เขียน, ผู้ผลิต) ฟิลด์ฟอร์มแบบโต้ตอบ, ลิงก์ไฮเปอร์ลิงก์, และบุ๊กมาร์ก ซึ่งมีคุณค่ามากสำหรับระบบการจัดประเภทเอกสาร การประมวลผลฟอร์มอัตโนมัติ และการทำดัชนีเนื้อหาเมื่อคุณต้องการทั้งเนื้อหาและบริบท

 ไทย