Inti API

API Inti

Halaman ini membahas siklus hidup objek dan perilaku pengecualian dari empat tipe inti: AsposeOcr, OcrInput, OcrOutput, dan RecognitionResult.


Siklus Hidup OcrInput

OcrInput mengimplementasikan IDisposable dan harus dibuat dalam pernyataan using. Konstruktornya menerima sebuah InputType (InputType.SingleImage atau InputType.PDF), dan OcrInput.Add(string) mengantri satu jalur file pada satu waktu — instance OcrInput yang sama dapat menampung beberapa file dengan tipe input yang sama.

using Aspose.OCR;

using var input = new OcrInput(InputType.SingleImage);
input.Add("page-1.jpg");
input.Add("page-2.png");

Mengenali dan Membaca OcrOutput

AsposeOcr.Recognize(OcrInput) mengembalikan sebuah OcrOutput, yang merupakan List<RecognitionResult> — dapat diindeks seperti daftar mana pun, dengan satu RecognitionResult per gambar (untuk InputType.SingleImage, satu per file yang ditambahkan) atau per halaman PDF (untuk InputType.PDF).

var api = new AsposeOcr();
OcrOutput output = api.Recognize(input);
RecognitionResult first = output[0];

RecognitionResult dan Tipe LinesResult Bersarang

RecognitionResult.LinesResult adalah kelas bersarang — referensikan sebagai RecognitionResult.LinesResult, bukan sebagai tipe mandiri. Setiap RecognitionResult menyajikan:

  • RecognitionText — teks yang dikenali lengkap untuk gambar atau halaman tersebut, dengan baris digabungkan oleh jeda baris.
  • RecognitionLinesResult — sebuah List<RecognitionResult.LinesResult>, satu entri per baris teks yang terdeteksi, masing-masing dengan TextInLine (teks baris) dan Line (sebuah System.Drawing.Rectangle yang memberi koordinat piksel baris tersebut dalam gambar sumber).
RecognitionResult result = output[0];
Console.WriteLine(result.RecognitionText);

foreach (RecognitionResult.LinesResult line in result.RecognitionLinesResult)
{
    System.Drawing.Rectangle bounds = line.Line;
    Console.WriteLine($"x={bounds.X}, y={bounds.Y}: {line.TextInLine}");
}

Pengecualian

AsposeOcr.Recognize(OcrInput) memvalidasi masukan sebelum menjalankan pengenalan:

ConditionException
input adalah nullArgumentNullException
input’s InputType bukan SingleImage atau PDFNotSupportedException
Jalur yang ditambahkan melalui OcrInput.Add() tidak ada di diskFileNotFoundException

Pemeriksaan ini dijalankan sebelum inferensi model apa pun, sehingga masukan yang buruk gagal segera alih-alih setelah proses pengenalan sebagian.


Tips dan Praktik Terbaik

  • OcrOutput kosong (Count == 0) jika OcrInput tidak memiliki file yang ditambahkan — periksa Count sebelum pengindeksan.
  • RecognitionResult.LinesResult berada di dalam RecognitionResult; nama tipe tingkat atas LinesResult saja tidak dapat diresolusikan di luar nesting tersebut.

Masalah Umum

MasalahPenyebabPerbaiki
ArgumentNullException pada Recognize()null diberikan alih-alih OcrInputSelalu buat OcrInput sebelum memanggil Recognize()
NotSupportedException pada Recognize()OcrInput dibuat dengan tipe input selain SingleImage/PDFHanya InputType.SingleImage dan InputType.PDF yang valid
FileNotFoundException pada Recognize()Jalur dalam antrian tidak adaValidasi jalur file sebelum memanggil OcrInput.Add()

FAQ

Apakah RecognitionResult.LinesResult merupakan kelas tingkat atasnya sendiri?

Tidak — ia berada di dalam RecognitionResult. Referensikan sebagai RecognitionResult.LinesResult.

Apakah OcrOutput menjamin urutan halaman untuk PDF?

Ya — untuk InputType.PDF, OcrOutput mengembalikan satu RecognitionResult per halaman dalam urutan sumber.

Apa yang terjadi jika saya memanggil Recognize() dengan OcrInput yang kosong?

Ia mengembalikan OcrOutput dengan Count == 0 alih-alih melempar.


API Reference Ringkasan

Kelas/MetodeDeskripsi
AsposeOcr.Recognize(OcrInput)Memvalidasi dan mengenali; melempar ArgumentNullException, NotSupportedException, atau FileNotFoundException pada input yang tidak valid
OcrInput.OcrInput(InputType)Membangun kontainer input untuk satu tipe input
OcrInput.Add(string)Mengantri jalur file
OcrInput.Dispose()Melepaskan sumber daya (melalui IDisposable)
OcrOutputList<RecognitionResult> dikembalikan oleh Recognize()
RecognitionResult.RecognitionTextTeks yang dikenali sepenuhnya untuk satu gambar/halaman
RecognitionResult.RecognitionLinesResultList<RecognitionResult.LinesResult>
RecognitionResult.LinesResult.TextInLineTeks yang dikenali untuk satu baris
RecognitionResult.LinesResult.LineSystem.Drawing.Rectangle kotak pembatas untuk satu baris

Lihat Juga

 Bahasa Indonesia