چگونه متن را از PDFها در .NET استخراج کنیم

چگونه متن را از 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جستجوی قلم

همچنین ببینید

 فارسی