Cara Bekerja dengan Aspose.OCR FOSS Core API di .NET
Aspose.OCR FOSS untuk .NET mengenali teks dalam gambar raster dan dokumen PDF melalui inti kecil API: AsposeOcr, OcrInput, OcrOutput, dan RecognitionResult. Panduan ini menjelaskan cara menginstal paket dan menggunakan API inti tersebut dari ujung ke ujung.
Panduan Langkah demi Langkah
Langkah 1: Instal Paket
dotnet add package Aspose.OCR.FOSSLangkah 2: Impor Namespace
Tambahkan namespace Aspose.OCR ke file sumber mana pun yang memanggil AsposeOcr, OcrInput, atau RecognitionResult:
using Aspose.OCR;Namespace tunggal ini mengekspos AsposeOcr, OcrInput, OcrOutput, InputType, dan RecognitionResult.
Langkah 3: Bangun OcrInput dan Kenali Gambar
Bangun sebuah AsposeOcr, buat sebuah OcrInput dengan InputType.SingleImage, antrikan sebuah file dengan OcrInput.Add(), dan panggil AsposeOcr.Recognize().
var api = new AsposeOcr();
using var input = new OcrInput(InputType.SingleImage);
input.Add("scan.png");
RecognitionResult result = api.Recognize(input)[0];
Console.WriteLine(result.RecognitionText);Langkah 4: Baca Baris Individu dan Kotak Pembatas
Setiap entri RecognitionResult.LinesResult dalam RecognitionLinesResult berisi teks satu baris (TextInLine) dan kotak pembatas koordinat pikselnya (Line).
foreach (RecognitionResult.LinesResult line in result.RecognitionLinesResult)
{
System.Drawing.Rectangle bounds = line.Line;
Console.WriteLine($"x={bounds.X}, y={bounds.Y}: {line.TextInLine}");
}Langkah 5: Kenali PDF Multi-Halaman
Untuk InputType.PDF, AsposeOcr.Recognize() mengembalikan satu RecognitionResult per halaman, sesuai urutan sumber.
using var pdfInput = new OcrInput(InputType.PDF);
pdfInput.Add("document.pdf");
OcrOutput output = api.Recognize(pdfInput);
foreach (RecognitionResult page in output)
{
Console.WriteLine(page.RecognitionText);
}Masalah Umum dan Solusi
NotSupportedException ketika memanggil Recognize(). The OcrInput dibuat dengan tipe input selain InputType.SingleImage or InputType.PDF. Hanya dua tipe input tersebut yang didukung.
FileNotFoundException ketika memanggil Recognize(). Sebuah path yang ditambahkan melalui OcrInput.Add() tidak ada di disk. Validasi path sebelum memanggil Add().
ArgumentNullException ketika memanggil Recognize(). null diterima alih-alih sebuah OcrInput instance. Selalu buat sebuah OcrInput pertama.
Empty RecognitionLinesResult. Tidak ada baris teks yang terdeteksi — pastikan gambar sumber berisi teks yang dapat dibaca, tidak terrotasi, dan menggunakan skrip Latin.
Pertanyaan yang Sering Diajukan
Apakah OcrOutput mempertahankan urutan file?
Ya. OcrOutput adalah daftar RecognitionResult, satu per gambar (atau per halaman PDF), dalam urutan file ditambahkan melalui OcrInput.Add().
Apakah saya perlu membuang OcrInput?
Ya — OcrInput mengimplementasikan IDisposable. Gunakan pernyataan using atau panggil Dispose() secara eksplisit setelah pengenalan selesai.
Bisakah saya memproses gambar dan PDF dalam OcrInput yang sama?
Tidak — setiap OcrInput dibangun dengan satu InputType (SingleImage atau PDF) dan hanya menerima berkas dengan tipe tersebut.