วิธีดึงข้อความจาก PDF ใน .NET

วิธีดึงข้อความจาก PDF ใน .NET

วิธีดึงข้อความจาก PDFs ใน .NET

คู่มือนี้ครอบคลุมการสกัดข้อความจากหน้า PDF โดยใช้ absorber 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ค้นหาแบบอักษร

ดูเพิ่มเติม

 ภาษาไทย