Aspose.OCR FOSS for .NET — การแก้ไขปัญหา
หน้านี้แสดงรายการข้อผิดพลาดและข้อจำกัดที่มักจะปรากฏขึ้นเมื่อทำการรวม Aspose.OCR FOSS สำหรับ .NET, พร้อมสาเหตุที่แท้จริงของแต่ละข้อ.
ข้อยกเว้นที่ถูกโยนโดย Recognize()
AsposeOcr.Recognize() ตรวจสอบความถูกต้องของข้อมูลเข้า ก่อนที่โมเดลใดจะทำงาน การตรวจสอบแต่ละรายการด้านล่างจะล้มเหลวตามลำดับนี้:
| Exception | สาเหตุ | แก้ไข |
|---|---|---|
ArgumentNullException | ค่า OcrInput ที่ส่งไปยัง Recognize() คือ null | สร้าง OcrInput เสมอก่อนเรียก Recognize() |
NotSupportedException | OcrInput ถูกสร้างด้วย InputType ที่ไม่ใช่ SingleImage หรือ PDF | เฉพาะ InputType.SingleImage และ InputType.PDF เท่านั้นที่ถูกต้อง |
FileNotFoundException | เส้นทางที่เพิ่มผ่าน OcrInput.Add() ไม่มีอยู่บนดิสก์ | ตรวจสอบความถูกต้องของทุกเส้นทางก่อนเรียก Add() — ไฟล์ที่หายไปจะทำให้การเรียกทั้งหมดล้มเหลว ไม่ใช่แค่ไฟล์นั้นเท่านั้น |
การจดจำไม่คืนข้อความใด
หาก RecognitionResult.RecognitionText ว่างและ RecognitionLinesResult ไม่มีรายการใด ตัวตรวจจับไม่พบพื้นที่บรรทัดข้อความในภาพ สิ่งนี้เป็นเรื่องที่คาดหวัง — ไม่ใช่บั๊ก — สำหรับ:
- ภาพที่ไม่มีข้อความที่อ่านได้, หรือข้อความที่เล็กเกินไป, หมุน, หรือมีคอนทราสต์ต่ำจนตัวตรวจจับไม่สามารถลงทะเบียนเป็นพื้นที่ได้
- สคริปต์ที่ไม่ใช่ละติน: โมเดลการจดจำที่ฝังอยู่ครอบคลุมเฉพาะข้อความแบบละตินและอักขระที่มีเครื่องหมายกำกับเท่านั้น
- ภาพที่ส่วนที่ตรวจจับได้ถูกกรองออกระหว่างการประมวลผลหลัง (คะแนนความน่าจะเป็นของข้อความต่ำมาก)
ไม่มีคะแนนความเชื่อมั่นที่เปิดเผยเพื่อแยกแยะระหว่าง “nothing detected” จาก “detected but uncertain” — see ขอบเขตและข้อจำกัด.
การรับรู้ทำงานแต่ผลลัพธ์ดูผิดพลาด
- ข้อความที่หมุนหรือเอียง. ไม่มีการแก้ไขการเอียงหรือการหมุนโดยอัตโนมัติ. Pre-rotate the source image before calling
Recognize(). - ตารางหรือเค้าโครงแบบฟอร์มดูสับสน. ตัวตรวจจับจะคืนค่าเฉพาะสี่เหลี่ยมที่จัดแนวตามแกนของบรรทัด — ไม่มีแนวคิดเกี่ยวกับคอลัมน์ ตาราง หรือลำดับการอ่านนอกเหนือจากตำแหน่งของบรรทัด การสร้างเค้าโครงใหม่เป็นความรับผิดชอบของผู้เรียกใช้.
- ตำแหน่งข้อความใน PDF ดูเหมือนจะเลื่อนออกไป. หน้า PDF จะถูกเรนเดอร์ที่ 150 DPI ภายในเสมอ; พิกัดสี่เหลี่ยมใน
RecognitionResult.LinesResult.Lineอยู่ในพื้นที่พิกเซลของภาพที่เรนเดอร์นั้น ไม่ใช่ในพื้นที่จุดของ PDF.
ปัญหาแพลตฟอร์มและการสร้าง
PlatformNotSupportedExceptionหรือที่คล้ายกันในขณะทำงานบน Linux/macOS. การประมวลผลภาพขึ้นอยู่กับSystem.Drawing.Common, ซึ่งเป็นแบบเฉพาะ Windows บน .NET 6 และรุ่นต่อไป นี้เป็นเส้นทางการประมวลผลภาพของไลบรารีนี้ที่ทำงานได้เฉพาะบน Windows.- การสร้างล้มเหลวเมื่อเป้าหมายเป็น
net9.0/net10.0. การสร้างเป้าหมายเหล่านั้นต้องใช้ .NET 10 SDK — ดู วิธีการสร้างจากซอร์สโค้ด. - Mixing
InputType.SingleImageandInputType.PDFในหนึ่งOcrInput. ไม่รองรับ — ดู วิธีการประมวลผลหลายภาพเป็นชุด.