1. Produk
  2.   PDF
  3.   .NET
  4.   PdfPig
 
  

API C# .NET Percuma untuk Pengekstrakan Teks PDF dan Analisis

Perpustakaan .NET Sumber Terbuka Terkemuka untuk Mengekstrak Teks, Imej, Metadata, dan Maklumat Struktur PDF daripada Fail PDF dengan mudah. Tambah Halaman baru, Jadual, Teks dan Bentuk ke PDF.

Apakah Perpustakaan PdfPig?

PdfPig ialah perpustakaan .NET sumber terbuka yang direka untuk membaca, mengurai, dan mengekstrak kandungan daripada fail PDF dalam C#. Ia dibangunkan sebagai port Apache PDFBox untuk ekosistem .NET dan banyak digunakan untuk pengekstrakan teks PDF, analisis dokumen, serta pemprosesan PDF peringkat rendah. Ia menyokong .NET Standard dan pelbagai versi .NET, menjadikannya sangat fleksibel untuk persekitaran pembangunan moden. Perpustakaan ini sangat berguna untuk pengindeksan dokumen, enjin carian, pra-pemprosesan dokumen AI/ML, pasca-pemprosesan OCR, automasi invois, alat kebolehcapaian PDF dan sistem pengekstrakan data.

Fail PDF ada di mana-mana—kontrak, laporan, invois, eBuku, penyata bank, kertas penyelidikan, dan borang. Mengekstrak maklumat berstruktur daripada PDF sering sukar kerana PDF pada dasarnya adalah format persembahan, bukan format dokumen semantik. PdfPig mempermudah masalah ini dengan memberi pemaju akses kepada teks mentah dan perkataan, kedudukan aksara dan kotak sempadan, fon dan maklumat gaya, imej dan metadata serta butiran susun atur dokumen. Berbeza dengan banyak perpustakaan PDF yang kebanyakannya memberi tumpuan kepada penjanaan PDF, PdfPig khusus untuk membaca dokumen PDF sedia ada. Ini menjadikannya pilihan yang sangat baik untuk pemaju yang membina enjin carian, saluran OCR, pengurai invois, penganalisis dokumen, alat pematuhan, atau sistem pengekstrakan kandungan.

Previous Next

Mula Menggunakan PdfPig

Perpustakaan PdfPig tersedia sebagai pakej nuget. Oleh itu, sangat disarankan menggunakan NuGet untuk memasang PdfPig ke dalam projek anda. Sila gunakan perintah berikut untuk pemasangan yang berjaya.

Pasang PdfPig melalui Pengurus Pakej NuGet

// Package Manager
Install-Package PdfPig

// .NET CLI

dotnet add package PdfPig

Anda juga boleh memasangnya secara manual; muat turun fail pelepasan terkini secara langsung dari repositori GitHub.

Ekstrak Teks dari Dokumen PDF melalui .NET

Salah satu kes penggunaan paling umum PdfPig ialah mengekstrak teks biasa daripada dokumen PDF. Pemaju perisian boleh membuka PDF dan membaca teks halaman demi halaman atau mengekstrak keseluruhan kandungan. Ini sangat berguna untuk pengindeksan carian, pengimbasan kata kunci, dan analisis kandungan. Berikut ialah contoh mudah yang menunjukkan bagaimana pemaju perisian boleh mengekstrak teks daripada dokumen PDF dalam aplikasi C# .NET. Pertama ia membuka fail PDF dan mengulangi semua halaman, kemudian membaca kandungan teks yang diekstrak.

Bagaimana untuk Mengekstrak Teks dari Dokumen PDF melalui 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);
    }
}

Borang Interaktif & Pengekstrakan Fail Terbenam

Pustaka PdfPig sumber terbuka secara asli menyokong pengekstrakan Borang Acrobat interaktif (AcroForms) dan pembacaan fail yang tersembunyi dalam lampiran PDF. Ia membolehkan pemaju memeriksa definisi borang secara global, mengulangi elemen borang interaktif berjenis (seperti kotak semak, medan teks, atau butang tekan), dan mengakses data bait mentah asas fail yang terbenam dalam anotasi dokumen untuk interoperabiliti sistem yang lancar.

Bagaimana Mengekstrak Data Borang Interaktif melalui Perpustakaan 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
                }
            }
        }
    }
}

Penggabungan PDF Berbilang Fail Secara Lancar melalui C#

Selain pengekstrakan kandungan, PdfPig menawarkan utiliti pengurusan dokumen yang mudah. Dengan menggunakan kelas PdfMerger, pembangun dapat menggabungkan struktur PDF berasingan yang bebas menjadi satu susunan bait fail output yang bersatu. Ini menyediakan cara yang berkesan untuk menyambungkan laporan programatik, invois, atau dokumen penyata pelanggan tanpa menambah kebergantungan luaran yang besar kepada paip .NET anda. Contoh berikut menunjukkan bagaimana pengguna dapat menggabungkan pelbagai dokumen PDF dalam aplikasi .NET.

Bagaimana Menggabungkan Beberapa Fail PDF dalam Aplikasi 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);
    }
}

Baca Metadata PDF, Borang, dan Anotasi

Selain pengekstrakan teks, perpustakaan sumber terbuka PdfPig telah menyertakan ciri-ciri yang memaparkan metadata dokumen (tajuk, pengarang, pengeluar), medan borang interaktif, pautan hiper, dan penanda buku. Ini sangat berharga untuk sistem pengelasan dokumen, pemprosesan borang automatik, dan pengindeksan kandungan di mana anda memerlukan kedua-dua kandungan dan konteks.

 Melayu