چگونه متن را از PDFها در .NET استخراج کنیم
چگونه متن را از PDFها در .NET استخراج کنیم
این راهنما استخراج متن از صفحات PDF را با استفاده از API جذبکننده پوشش میدهد.
پیشنیازها
| نیازمندی | جزئیات |
|---|---|
| زمان اجرا | .NET 8.0 یا بعد |
| بسته | dotnet add package Aspose.Pdf.Foss |
استخراج تمام متن از یک صفحه
TextAbsorber تمام متنهای موجود در یک صفحه را در یک رشته جمعآوری میکند. یک
نمونه ایجاد کنید، آن را به Page.Accept پاس دهید، و نتیجه را از ویژگی Text بخوانید.
این سادهترین روش است وقتی که به خروجی متن ساده بدون اطلاعات موقعیتی نیاز دارید.
using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);استخراج قطعات متن ساختاری
وقتی به متادیتای موقعیت، قلم و اندازه در کنار متن نیاز دارید، به جای آن از TextFragmentAbsorber استفاده کنید. هر TextFragment مختصات مرزی خود را از طریق ویژگی 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})");
}جستجو با یک عبارت منظم
یک الگوی regex را به TextFragmentAbsorber پاس دهید تا متن مطابق را در سراسر
تمام صفحات. این برای یافتن شمارههای تلفن، تاریخها یا سایر
الگوهای داده ساختاریافته در یک سند.
var absorber = new TextFragmentAbsorber(@"\d{3}-\d{2}-\d{4}");
doc.Pages.Accept(absorber);
foreach (var f in absorber.TextFragments)
Console.WriteLine(f.Text);کلاسهای کلیدی
| کلاس | هدف |
|---|---|
TextAbsorber | استخراج تمام متن بهصورت رشته |
TextFragmentAbsorber | استخراج متن ساختاریافته |
TextFragment | متن همراه با موقعیت و قلم |
FontRepository | جستجوی قلم |