PdfPig: Ekstraksi Teks PDF Lanjutan untuk .NET
Baca dan analisis konten PDF tanpa dependensi - teks, posisi, font, dan metadata
Apa itu PdfPig?
PdfPig adalah library .NET open source yang berfokus pada ekstraksi konten dari file PDF tanpa ketergantungan native. Berbeda dengan generator PDF, PdfPig mengkhususkan diri dalam membaca dokumen yang ada untuk mengakses teks, informasi font, data posisi, dan struktur dokumen. Sangat berharga untuk penambangan data, analisis konten, dan alur pemrosesan dokumen.
Keunggulan utama PdfPig:
- Tidak ada dependensi: Murni implementasi C#
- Akses tingkat rendah: Posisi teks yang presisi dan metrik font
- Efisien memori: Menangani dokumen besar dengan overhead minimal
- Siap untuk OCR: Ekstrak teks dengan bounding box untuk analisis
- Lisensi MIT: Gratis untuk penggunaan komersial
Ideal untuk analisis dokumen, ekstraksi teks, dan pemrosesan konten PDF.
Mengapa Memilih PdfPig?
- Akurasi: Menangani tata letak teks PDF yang kompleks dengan benar
- Kinerja: Lebih cepat dibanding library .NET sejenis dalam benchmark
- Transparansi: Akses ke struktur PDF mentah ketika diperlukan
- Pengembangan aktif: Pembaruan rutin sejak 2018
- Lintas platform: Bekerja dengan .NET Standard 2.0+
Instalasi
PdfPig tersedia melalui NuGet untuk integrasi mudah:
Package Manager Console
Install-Package PdfPig
.NET CLI
dotnet add package PdfPig
Persyaratan Sistem: Runtime yang kompatibel dengan .NET Standard 2.0
Contoh Kode
Contoh praktis kemampuan PdfPig:
Contoh 1: Ekstraksi Teks Dasar
Contoh ini menunjukkan cara membuka dokumen PDF dan mengekstrak semua konten teks sambil mempertahankan urutan baca. PdfPig memberikan akses ke setiap huruf dengan posisi pastinya dalam dokumen, memungkinkan analisis tata letak lanjutan di luar ekstraksi teks sederhana.
Output mencakup:
- Konten teks mentah dalam urutan baca
- Nomor halaman untuk setiap segmen teks
- Informasi font dasar
Contoh 2: Analisis Posisi Lanjutan
PdfPig unggul dalam menyediakan data posisi yang presisi untuk elemen teks. Contoh ini menunjukkan cara mengekstrak kata dengan bounding box-nya, memungkinkan tugas seperti deteksi tabel, pemrosesan formulir, dan analisis wilayah konten.
Contoh 3: Ekstraksi Font dan Metadata
Selain konten teks, PdfPig memberikan akses ke metadata dokumen dan informasi font terperinci. Contoh ini menunjukkan ekstraksi properti dokumen dan analisis penggunaan font di seluruh PDF.
Fitur Lanjutan
PdfPig mendukung analisis PDF profesional:
- Ekstraksi gambar: Akses ke gambar yang disematkan:
Ekstraksi Gambar
using var document = PdfDocument.Open("file.pdf"); foreach (var page in document.GetPages()) { foreach (var image in page.GetImages()) { var bytes = image.RawBytes; // Proses data gambar } }
- Navigasi bookmark: Akses ke kerangka dokumen:
Bookmark
var bookmarks = document.GetBookmarks(); foreach (var bookmark in bookmarks) { Console.WriteLine($"{bookmark.Title} - Halaman {bookmark.PageNumber}"); }
- PDF terenkripsi: Penanganan file yang dilindungi password:
PDF Terenkripsi
var options = new ParsingOptions { Password = "secure123" }; using var doc = PdfDocument.Open("terenkripsi.pdf", options);
PdfPig vs PdfSharp
Berikut 5 perbedaan utama antara PdfPig dan PDFsharp:
- Fungsi utama: PdfPig mengkhususkan diri dalam membaca/mengekstrak teks, posisi, dan metadata. PDFsharp berfokus pada pembuatan/editing dokumen PDF
- Teks vs grafik: PdfPig mengekstrak teks dengan presisi piksel (termasuk koordinat). PDFsharp dioptimalkan untuk menggambar teks/bentuk (laporan, faktur, formulir)
- Akses dokumen: PdfPig menganalisis PDF yang ada, sementara PDFsharp dapat memodifikasi halaman, menambahkan konten, menggabungkan file
- Fitur lanjutan PdfPig mengungkap detail font, bounding box, dan struktur dokumen, sementara PDFsharp mendukung standar PDF/A, gambar, dan enkripsi
- Kasus penggunaan PdfPig untuk penambangan data, pra-pemrosesan OCR, analisis konten, sementara PDFsharp untuk pembuatan laporan, manipulasi PDF, pengisian formulir
Kesimpulan
PdfPig menyediakan akses tak tertandingi ke konten PDF untuk pengembang .NET. Ideal untuk:
- Ekstraksi data: Menambang konten dari laporan dan dokumen
- Analisis dokumen: Memahami struktur dan tata letak PDF
- Aksesibilitas: Mengkonversi konten PDF ke format lain
- Pra-pemrosesan: Mempersiapkan dokumen untuk OCR atau ML
Dengan fokus pada ekstraksi konten yang presisi dan penggunaan memori yang rendah, PdfPig adalah pilihan utama untuk analisis PDF di .NET.