API C# .NET miễn phí để trích xuất và phân tích văn bản PDF

Thư viện .NET mã nguồn mở hàng đầu để trích xuất Văn bản, Hình ảnh, Siêu dữ liệu và Thông tin Cấu trúc PDF từ các tệp PDF một cách dễ dàng. Thêm các Trang, Bảng, Văn bản và Hình dạng mới vào PDF.

Thư viện PdfPig là gì?

PdfPig là một thư viện .NET mã nguồn mở được thiết kế để đọc, phân tích và trích xuất nội dung từ các tệp PDF trong C#. Nó được phát triển như một bản chuyển đổi của Apache PDFBox cho hệ sinh thái .NET và được sử dụng rộng rãi cho việc trích xuất văn bản PDF, phân tích tài liệu và xử lý PDF cấp thấp. Thư viện hỗ trợ .NET Standard và nhiều phiên bản .NET, giúp nó rất linh hoạt cho môi trường phát triển hiện đại. Thư viện này rất hữu ích cho việc lập chỉ mục tài liệu, công cụ tìm kiếm, tiền xử lý tài liệu AI/ML, xử lý hậu OCR, tự động hóa hoá đơn, công cụ truy cập PDF và hệ thống trích xuất dữ liệu.

Các tệp PDF hiện diện khắp nơi—hợp đồng, báo cáo, hoá đơn, sách điện tử, sao kê ngân hàng, bài báo nghiên cứu và mẫu đơn. Việc trích xuất thông tin có cấu trúc từ PDF thường khó khăn vì PDF chủ yếu là định dạng trình bày, không phải là định dạng tài liệu ngữ nghĩa. PdfPig đơn giản hoá vấn đề này bằng cách cung cấp cho nhà phát triển quyền truy cập vào văn bản và từ ngữ thô, vị trí ký tự và hộp bao, phông chữ và thông tin kiểu dáng, hình ảnh và siêu dữ liệu cùng chi tiết bố cục tài liệu. Khác với nhiều thư viện PDF chỉ tập trung vào việc tạo PDF, PdfPig chuyên về đọc các tài liệu PDF hiện có. Điều này khiến nó trở thành lựa chọn tuyệt vời cho các nhà phát triển xây dựng công cụ tìm kiếm, quy trình OCR, bộ phân tích hoá đơn, công cụ phân tích tài liệu, phần mềm tuân thủ hoặc hệ thống trích xuất nội dung.

Previous Next

Bắt đầu với PdfPig

Thư viện PdfPig có sẵn dưới dạng gói nuget. Vì vậy, rất khuyến nghị sử dụng NuGet để cài đặt PdfPig vào dự án của bạn. Vui lòng sử dụng lệnh sau để cài đặt thành công.

Cài đặt PdfPig qua Trình quản lý gói NuGet

// Package Manager
Install-Package PdfPig

// .NET CLI

dotnet add package PdfPig

Bạn cũng có thể cài đặt thủ công; tải xuống các tệp phát hành mới nhất trực tiếp từ kho GitHub.

Trích xuất văn bản từ tài liệu PDF bằng .NET

Một trong những trường hợp sử dụng phổ biến nhất của PdfPig là trích xuất văn bản thuần từ tài liệu PDF. Các nhà phát triển phần mềm có thể mở một PDF và đọc văn bản trang theo trang hoặc trích xuất toàn bộ nội dung. Điều này đặc biệt hữu ích cho việc lập chỉ mục tìm kiếm, quét từ khóa và phân tích nội dung. Dưới đây là một ví dụ đơn giản minh họa cách các nhà phát triển phần mềm có thể trích xuất văn bản từ tài liệu PDF trong các ứng dụng C# .NET. Đầu tiên nó mở tệp PDF và lặp qua tất cả các trang, sau đó đọc nội dung văn bản đã trích xuất.

Cách trích xuất văn bản từ tài liệu PDF qua API C#?

using UglyToad.PdfPig;

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

Biểu mẫu tương tác & Trích xuất tệp nhúng

Thư viện mã nguồn mở PdfPig hỗ trợ nguyên bản việc trích xuất các Form Acrobat tương tác (AcroForms) và đọc các tệp ẩn trong các tệp đính kèm PDF. Nó cho phép các nhà phát triển kiểm tra định nghĩa form trên toàn bộ, lặp qua các phần tử form tương tác đã được gõ (như hộp kiểm, trường văn bản, hoặc nút nhấn), và truy cập dữ liệu byte thô nền tảng của các tệp được nhúng trong chú thích tài liệu để đảm bảo khả năng tương tác hệ thống liền mạch.

Cách trích xuất dữ liệu biểu mẫu tương tác bằng thư viện 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
                }
            }
        }
    }
}

Kết hợp PDF đa tệp liền mạch bằng C#

Ngoài việc trích xuất nội dung, PdfPig cung cấp các tiện ích quản lý tài liệu đơn giản. Bằng cách sử dụng lớp PdfMerger, các nhà phát triển có thể hợp nhất các cấu trúc PDF độc lập riêng biệt thành một mảng byte file đầu ra duy nhất, thống nhất. Điều này cung cấp một cách hiệu quả để nối các báo cáo lập trình, hoá đơn hoặc tài liệu sao kê khách hàng mà không cần thêm các phụ thuộc bên ngoài nặng nề vào pipeline .NET của bạn. Ví dụ sau đây minh họa cách người dùng có thể kết hợp nhiều tài liệu PDF trong các ứng dụng .NET.

Cách hợp nhất nhiều tệp PDF trong các ứng dụng 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);
    }
}

Đọc siêu dữ liệu PDF, biểu mẫu và chú thích

Ngoài việc trích xuất văn bản, thư viện mã nguồn mở PdfPig đã bao gồm các tính năng cho phép truy cập siêu dữ liệu tài liệu (tiêu đề, tác giả, nhà sản xuất), các trường biểu mẫu tương tác, liên kết siêu văn bản và dấu trang. Điều này vô giá đối với các hệ thống phân loại tài liệu, xử lý biểu mẫu tự động và lập chỉ mục nội dung, nơi bạn cần cả nội dung và ngữ cảnh.

 Tiếng Việt