Respons terhadap permintaan pemrosesan berisi objek Document
yang menyimpan semua yang diketahui tentang dokumen yang diproses, termasuk semua
informasi terstruktur yang dapat diekstrak oleh Document AI.
Halaman ini menjelaskan tata letak objek Document dengan memberikan contoh dokumen,
lalu memetakan aspek hasil OCR ke elemen tertentu dari JSON objek Document.
Selain itu, juga menyediakan library klien, contoh kode, dan contoh kode SDK Document AI Toolbox.
Contoh kode ini menggunakan pemrosesan online, tetapi penguraian objek Document berfungsi sama untuk pemrosesan batch.

Persegi panjang dan panah berwarna oranye dan biru menunjukkan bahwa setidaknya satu kolom dari
objek yang terhubung adalah .layout atau detectedLanguage. Diagram
menggunakan notasi
kaki gagak.
Gunakan penampil atau utilitas pengeditan JSON yang dirancang khusus untuk meluaskan atau menciutkan elemen. Meninjau JSON mentah dalam utilitas teks biasa tidak efisien.
Teks, tata letak, dan skor kualitas
Berikut adalah contoh dokumen teks:

Berikut adalah objek dokumen lengkap seperti yang ditampilkan oleh pemroses Enterprise Document OCR:
Output OCR ini juga selalu disertakan dalam output pemroses Document AI, karena OCR dijalankan oleh pemroses. Fitur ini menggunakan data OCR yang ada, sehingga Anda dapat memasukkan data JSON tersebut menggunakan opsi dokumen inline ke dalam pemroses Document AI.
image=None, # all our samples pass this var
mime_type="application/json",
inline_document=document_response # pass OCR output to CDE input - undocumented
Berikut beberapa kolom penting:
Teks mentah
Kolom text berisi teks yang dikenali oleh Document AI.
Teks ini tidak berisi struktur tata letak selain spasi, tab, dan
feed baris. Kolom ini adalah satu-satunya kolom yang menyimpan informasi tekstual dokumen dan berfungsi sebagai sumber tepercaya teks dokumen. Kolom lain dapat merujuk ke bagian kolom teks berdasarkan posisi (startIndex dan endIndex).
{
text: "Sample Document\nHeading 1\nLorem ipsum dolor sit amet, ..."
}
Ukuran halaman dan bahasa
Setiap page dalam objek dokumen sesuai dengan
halaman fisik dari dokumen contoh. Output JSON contoh berisi satu
halaman karena merupakan satu gambar PNG.
{
"pages:" [
{
"pageNumber": 1,
"dimension": {
"width": 679.0,
"height": 460.0,
"unit": "pixels"
},
}
]
}
- Kolom
pages[].detectedLanguages[]berisi bahasa yang ditemukan di halaman tertentu, beserta skor keyakinan.
{
"pages": [
{
"detectedLanguages": [
{
"confidence": 0.98009938,
"languageCode": "en"
},
{
"confidence": 0.01990064,
"languageCode": "und"
}
]
}
]
}
Data OCR
OCR Document AI mendeteksi teks dengan berbagai perincian atau organisasi di halaman, seperti blok teks, paragraf, token, dan simbol (tingkat simbol bersifat opsional, jika dikonfigurasi untuk menghasilkan data tingkat simbol). Semua ini adalah anggota objek halaman.
Setiap elemen memiliki layout yang sesuai yang
mendeskripsikan posisi dan teksnya. Elemen visual non-teks
(seperti kotak centang) juga berada di tingkat halaman.
{
"pages": [
{
"paragraphs": [
{
"layout": {
"textAnchor": {
"textSegments": [
{
"endIndex": "16"
}
]
},
"confidence": 0.9939527,
"boundingPoly": {
"vertices": [ ... ],
"normalizedVertices": [ ... ]
},
"orientation": "PAGE_UP"
}
}
]
}
]
}
Teks mentah dirujuk dalam objek textAnchor yang diindeks ke dalam string teks utama dengan startIndex dan endIndex.
Untuk
boundingPoly, sudut kiri atas halaman adalah asal(0,0). Nilai X positif berada di sebelah kanan, dan nilai Y positif berada di bawah.Objek
verticesmenggunakan koordinat yang sama dengan gambar asli, sedangkannormalizedVerticesberada dalam rentang[0,1]. Ada matriks transformasi yang menunjukkan ukuran pelurusan dan atribut normalisasi gambar lainnya.
- Untuk menggambar
boundingPoly, gambar segmen garis dari satu verteks ke verteks berikutnya. Kemudian, tutup poligon dengan menggambar segmen garis dari verteks terakhir kembali ke verteks pertama. Elemen orientasi tata letak menunjukkan apakah teks telah diputar relatif terhadap halaman.
Untuk membantu Anda memvisualisasikan struktur dokumen, gambar berikut menggambar poligon pembatas untuk page.paragraphs, page.lines, page.tokens.
Paragraf

Garis

Token

Blok

Prosesor Enterprise Document OCR dapat melakukan penilaian kualitas dokumen berdasarkan keterbacaannya.
- Anda harus menyetel kolom
processOptions.ocrConfig.enableImageQualityScoresketrueuntuk mendapatkan data ini dalam respons API.
Penilaian kualitas ini adalah skor kualitas dalam [0, 1], dengan 1 berarti kualitas sempurna.
Skor kualitas ditampilkan di kolom Page.imageQualityScores.
Semua kerusakan yang terdeteksi dicantumkan sebagai quality/defect_* dan diurutkan secara menurun berdasarkan nilai keyakinan.
Berikut adalah PDF yang terlalu gelap dan buram sehingga tidak nyaman dibaca:
Berikut informasi kualitas dokumen yang ditampilkan oleh pemroses Enterprise Document OCR:
{
"pages": [
{
"imageQualityScores": {
"qualityScore": 0.7811847,
"detectedDefects": [
{
"type": "quality/defect_document_cutoff",
"confidence": 1.0
},
{
"type": "quality/defect_glare",
"confidence": 0.97849524
},
{
"type": "quality/defect_text_cutoff",
"confidence": 0.5
}
]
}
}
]
}
Contoh kode
Contoh kode berikut menunjukkan cara mengirim permintaan pemrosesan, lalu membaca dan mencetak kolom ke terminal:
Java
Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Document AI.
Untuk melakukan autentikasi ke Document AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.