ในหลายกระบวนการทำงานของธุรกิจ เอกสาร PDF ที่สแกนต้องถูกแปลงเป็นข้อความที่สามารถค้นหาได้หรือแก้ไขได้. Extract Text from Scanned PDFs with Aspose.PDF OCR in C# tutorial แสดงวิธีการใช้เครื่องมือ OCR ที่รวมอยู่ใน Aspose.PDF for .NET เพื่อดึงข้อความธรรมดาจากหน้าที่เป็นภาพ. โดยการทำตามคู่มือนี้ คุณจะได้โซลูชันพร้อมใช้งานที่ทำงานกับ PDF ที่สแกนใด ๆ ไม่ว่าจะมีขนาดหรือภาษาก็ตาม.
ดึงข้อความจาก PDF ที่สแกนโดยใช้ Aspose.PDF OCR SDK
PDF ที่สแกนมีเพียงภาพเท่านั้น ดังนั้น API การสกัดข้อความทั่วไปจะไม่คืนค่าอะไรเลย OCR (Optical Character Recognition) แปลงภาพเหล่านั้นเป็นอักขระที่เครื่องคอมพิวเตอร์อ่านได้ ทำให้สามารถทำการจัดทำดัชนี การทำเหมืองข้อมูล และการประมวลผลต่อเนื่องได้ การทำ OCR อัตโนมัติใน C# จะลบขั้นตอนคัดลอก‑วางด้วยมือออก ปรับปรุงความแม่นยำ และขยายขนาดได้สำหรับชุดเอกสารจำนวนมาก
Aspose.PDF มีเนมสเปซ Aspose.Pdf.Ocr ซึ่งรวมถึง OcrTextRecognitionOptions, OcrTextAbsorber และ enum ของภาษา ไลบรารีนี้จัดจำหน่ายผ่าน NuGet. ติดตั้งโดยใช้คำสั่งต่อไปนี้:
Install-Package Aspose.PDF
สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชม หน้าผลิตภัณฑ์ Aspose.PDF.
ดึงข้อความจาก PDF ที่สแกนด้วย Aspose.PDF OCR ใน C#
- โหลด PDF ที่สแกนเข้าไปใน
Aspose.Pdf.Document. - กำหนดค่าตัวเลือก OCR (ภาษา, ความละเอียด, ตัวคั่นหน้า).
- ใช้
OcrTextAbsorberกับคอลเลกชันหน้าของเอกสาร. - ดึงข้อความที่ได้รับการจดจำและบันทึกไว้.
ตัวอย่างนี้แสดงการโหลด PDF ที่สแกน, การกำหนดค่า OCR, การสกัดข้อความ, และการเขียนผลลัพธ์ลงไฟล์โดยใช้ C#
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RecognizeTextWithOcr()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
{
// Configure OCR recognition options
var options = new Aspose.Pdf.Ocr.OcrTextRecognitionOptions
{
Language = Aspose.Pdf.Ocr.OcrLanguage.English,
Resolution = 300,
PageSeparator = "\n\n"
};
// Recognize text from all pages
var absorber = new Aspose.Pdf.Ocr.OcrTextAbsorber(options);
document.Pages.Accept(absorber);
// Save recognized text
System.IO.File.WriteAllText(dataDir + "recognized-text.txt", absorber.Text);
}
}
Aspose.PDF คุณลักษณะที่สำคัญสำหรับงานนี้
- เครื่องยนต์ OCR แบบบูรณาการ – ไม่มีการพึ่งพาภายนอก; เครื่องยนต์ OCR อยู่ในเนมสเปซ
Aspose.Pdf.Ocr. - การเลือกภาษา –
OcrLanguageenum ให้คุณระบุพจนานุกรมเพื่อการจดจำที่ดียิ่งขึ้น. - การควบคุมความละเอียด – DPI ที่สูงขึ้นช่วยปรับปรุงความแม่นยำของอักขระ, โดยเฉพาะสำหรับการสแกนที่จาง.
- PageSeparator – สตริงที่ปรับแต่งได้เพื่อแยกหน้าต่างข้อความผลลัพธ์.
- Thread‑safe page collection – อนุญาตให้ประมวลผลแบบขนานของ PDF ขนาดใหญ่.
ความสามารถเหล่านี้ทำให้สามารถใช้โซลูชันแบบไลบรารีเดียวที่แข็งแกร่งสำหรับการสกัดข้อความจาก PDF ที่สแกนใด ๆ
การติดตั้งและตั้งค่าใน C#
- เปิดโซลูชัน .NET ของคุณใน Visual Studio.
- เปิด Package Manager Console แล้วรัน
Install-Package Aspose.PDF. - เพิ่ม
using Aspose.Pdf;และusing Aspose.Pdf.Ocr;ที่ส่วนบนของไฟล์คลาสของคุณ. - ตรวจสอบว่าคุณมีใบอนุญาตชั่วคราวหรือเต็ม; หากไม่มี, ผลลัพธ์อาจมีลายน้ำ.
สำหรับรายละเอียดการรับใบอนุญาต ดูที่ หน้าลิขสิทธิ์ชั่วคราว.
การดำเนินการแบบขั้นตอนต่อขั้นตอนใน C#
ส่วนนี้ตอบคำถามอะไร? ขั้นตอนโค้ดที่แน่นอนในการดึงข้อความคืออะไร?
- เริ่มต้นเอกสาร
var pdfPath = "path/to/scanned.pdf";
var document = new Document(pdfPath);
- สร้างตัวเลือก OCR
var ocrOptions = new OcrTextRecognitionOptions
{
Language = OcrLanguage.English,
Resolution = 300,
PageSeparator = "\n--- Page Break ---\n"
};
- เรียกใช้ตัวดูด
var absorber = new OcrTextAbsorber(ocrOptions);
document.Pages.Accept(absorber);
- เข้าถึงข้อความที่สกัดออกมา
string extractedText = absorber.Text;
- บันทึกหรือประมวลผลข้อความ
System.IO.File.WriteAllText("output.txt", extractedText);
โค้ดทำงานตามลำดับเดียวกับตัวอย่างที่ครอบคลุมข้างต้น แต่จะแบ่งตรรกะออกเป็นขั้นตอนที่เข้าใจง่าย
รับใบอนุญาตฟรี
ประเมิน Aspose.PDF โดยไม่เสียค่าใช้จ่ายโดยการขอใบอนุญาตชั่วคราวที่นี่: https://purchase.aspose.com/temporary-license/
แหล่งข้อมูลเพิ่มเติมฟรี
สรุป
คู่มือนี้ได้พาคุณผ่านขั้นตอนการสกัดข้อความจาก PDF ที่สแกนโดยใช้ Aspose.PDF OCR ใน C#. คุณได้เรียนรู้วิธีการติดตั้งไลบรารี, กำหนดค่าตัวเลือก OCR เพื่อความแม่นยำ, สร้างกระบวนการสกัดข้อความที่สะอาด, และใช้การปรับประสิทธิภาพสำหรับเอกสารขนาดใหญ่. ด้วยเทคนิคเหล่านี้, นักพัฒนา .NET ใดก็สามารถแปลง PDF ที่เป็นภาพเท่านั้นให้เป็นสตรีมข้อความที่ค้นหาได้และแก้ไขได้.
คำถามที่พบบ่อย
How do I extract text from a scanned PDF in C# using Aspose.PDF?
สร้างDocumentกำหนดค่าOcrTextRecognitionOptionsเรียกใช้OcrTextAbsorberบนหน้าแต่ละหน้า และอ่านคุณสมบัติText.Which OCR languages are supported by Aspose.PDF?
ไลบรารีรองรับหลายภาษาโดยใช้ enumOcrLanguageรวมถึงอังกฤษ, ฝรั่งเศส, เยอรมัน, สเปน, จีน และอื่น ๆHow can I improve OCR accuracy for low‑resolution scans?
เพิ่มค่าResolution(เช่น 300 DPI) เลือกภาษาที่ถูกต้อง และพิจารณาการประมวลผลล่วงหน้าของภาพเพื่อเพิ่มความคอนทราสต์Is it safe to process large PDFs in parallel?
ใช่ โดยการแบ่งเอกสารเป็นช่วงหน้าต่าง ๆ และประมวลผลแต่ละช่วงบนเธรดแยกต่างหาก พร้อมตรวจสอบการใช้หน่วยความจำWhat licensing is required for OCR features?
OCR มีให้ใช้งานเต็มรูปแบบเมื่อมีใบอนุญาต Aspose.PDF for .NET ที่ถูกต้อง; สามารถขอใบอนุญาตชั่วคราวสำหรับการประเมินได้Where can I find more documentation on OCR settings?
คำแนะนำการกำหนดค่า OCR อย่างละเอียดมีให้ในเอกสารการตั้งค่า OCR ของ Aspose.PDF ที่ https://docs.aspose.com/pdf/net/.
