Cara Mengekstrak Teks dari PDF di .NET
Cara Mengekstrak Teks dari PDF di .NET
Panduan ini mencakup ekstraksi teks dari halaman PDF menggunakan absorber API.
Prasyarat
| Persyaratan | Detail |
|---|---|
| Runtime | .NET 8.0 atau lebih baru |
| Paket | dotnet add package Aspose.Pdf.Foss |
Ekstrak semua teks dari sebuah halaman
TextAbsorber mengumpulkan semua teks pada halaman menjadi satu string. Buat sebuah
instance, berikan ke Page.Accept, dan baca hasilnya dari properti Text.
Ini adalah pendekatan paling sederhana ketika Anda membutuhkan output teks biasa tanpa informasi posisi.
using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);Ekstrak fragmen teks terstruktur
Ketika Anda membutuhkan metadata posisi, font, dan ukuran bersama teks, gunakan TextFragmentAbsorber sebagai gantinya. Setiap TextFragment mengekspos koordinat batasnya melalui properti Position.
var absorber = new TextFragmentAbsorber();
doc.Pages[1].Accept(absorber);
foreach (var fragment in absorber.TextFragments)
{
Console.WriteLine($"{fragment.Text} at ({fragment.Position.XIndent}, {fragment.Position.YIndent})");
}Cari dengan ekspresi reguler
Berikan pola regex ke TextFragmentAbsorber untuk menemukan teks yang cocok di seluruh
halaman. Ini berguna untuk menemukan nomor telepon, tanggal, atau pola data terstruktur lainnya dalam dokumen.
var absorber = new TextFragmentAbsorber(@"\d{3}-\d{2}-\d{4}");
doc.Pages.Accept(absorber);
foreach (var f in absorber.TextFragments)
Console.WriteLine(f.Text);Kelas Kunci
| Kelas | Tujuan |
|---|---|
TextAbsorber | Ekstrak semua teks sebagai string |
TextFragmentAbsorber | Ekstraksi teks terstruktur |
TextFragment | Teks dengan posisi dan font |
FontRepository | Pencarian font |