.NET'te PDF'lerden metin nasıl çıkarılır
.NET’te PDF’lerden metin nasıl çıkarılır
Bu kılavuz, PDF sayfalarından metin çıkarımı API’yi kullanarak kapsamaktadır.
Prerequisites
| Requirement | Detail |
|---|---|
| Runtime | .NET 8.0 veya daha sonraki |
| Package | dotnet add package Aspose.Pdf.Foss |
Tüm metinleri bir sayfadan çıkarın
TextAbsorber Bir sayfadaki tüm metni tek bir çubuk haline getirir. Örneğin, geçin Page.Accept,Sonuçları okuyun ve bu Text Mülkiyet için. Bu, pozisyonel olmayan düz metin çıkışına ihtiyacınız olduğunda en basit yaklaşımdır. Bilgi için.
using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);Yapılandırılmış metin parçaları çıkarın
Konumu, yazı tipi ve metadata gerektirdiğinde, metin yanında, Kullanım TextFragmentAbsorber Her biri yerine TextFragment Açıklama kendi Koordinatları ile bağlantı kurmak için Position Mülkiyet için.
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})");
}Düzenli bir ifade ile arama yapın.
Regex modelini kullanın TextFragmentAbsorber Teklifi karşılaştırmak için arama yapın Tüm sayfalar. bu telefon numaraları, tarihleri veya diğerleri bulmak için yararlıdır Bir belgede yapılandırılmış veri desenleri.
var absorber = new TextFragmentAbsorber(@"\d{3}-\d{2}-\d{4}");
doc.Pages.Accept(absorber);
foreach (var f in absorber.TextFragments)
Console.WriteLine(f.Text);Anahtar Sınıflar
| Class | Purpose |
|---|---|
TextAbsorber | Tüm metni bir çubuk olarak çıkarın |
TextFragmentAbsorber | Yapılandırılmış metin çıkarımı |
TextFragment | Konumu ve yazı tipi ile yazılı |
FontRepository | Görüntüleme arama |