

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Cara Amazon Textract Bekerja
<a name="how-it-works"></a>

Amazon Textract memungkinkan Anda mendeteksi dan menganalisis teks dalam dokumen input tunggal atau multihalaman (lihat[Dokumen Input](how-it-works-documents.md)). 

Amazon Textract menyediakan operasi untuk tindakan berikut.
+ Mendeteksi teks saja. Untuk informasi selengkapnya, lihat[Mendeteksi teks](how-it-works-detecting.md).
+ Mendeteksi dan menganalisis hubungan antar teks. Untuk informasi selengkapnya, lihat[Menganalisis Dokumen](how-it-works-analyzing.md).
+ Mendeteksi dan menganalisis teks dalam faktur dan tanda terima. Untuk informasi selengkapnya, lihat[Menganalisis Faktur dan Penerimaan](invoices-receipts.md).
+ Mendeteksi dan menganalisis teks dalam dokumen identitas pemerintah. Untuk informasi selengkapnya, lihat[Menganalisis Dokumen Identitas](how-it-works-identity.md).

Amazon Textract menyediakan operasi sinkron untuk memproses dokumen kecil, satu halaman, dan dengan respons real-time yang dekat. Untuk informasi selengkapnya, lihat [Memproses Dokumen dengan Operasi Sinkron](sync.md). Amazon Textract juga menyediakan operasi asinkron yang dapat Anda gunakan untuk memproses dokumen multihalaman yang lebih besar. Tanggapan asinkron tidak dalam waktu nyata. Untuk informasi selengkapnya, lihat [Memproses Dokumen dengan Operasi Asynchronous](async.md). 

Ketika operasi Amazon Textract memproses dokumen, hasilnya akan dikembalikan dalam array[Block](API_Block.md)objek atau array[ExpenseDocument](API_ExpenseDocument.md)objek. Kedua objek berisi informasi yang terdeteksi tentang item, termasuk lokasinya pada dokumen dan hubungannya dengan item lain pada dokumen. Untuk informasi selengkapnya, lihat [Objek Tanggapan Amazon Textract](how-it-works-document-response.md). Untuk contoh yang menunjukkan cara menggunakan`Block`benda, lihat[Tutorial](examples-blocks.md).

**Topics**
+ [Mendeteksi teks](how-it-works-detecting.md)
+ [Menganalisis Dokumen](how-it-works-analyzing.md)
+ [Menganalisis Faktur dan Penerimaan](invoices-receipts.md)
+ [Menganalisis Dokumen Identitas](how-it-works-identity.md)
+ [Dokumen Input](how-it-works-documents.md)
+ [Objek Tanggapan Amazon Textract](how-it-works-document-response.md)
+ [Lokasi Item pada Halaman Dokumen](text-location.md)

# Mendeteksi teks
<a name="how-it-works-detecting"></a>

Amazon Textract menyediakan operasi sinkron dan asinkron yang hanya mengembalikan teks yang terdeteksi dalam dokumen. Untuk kedua set operasi, informasi berikut dikembalikan dalam beberapa[Block](API_Block.md)objek.
+ Garis dan kata-kata teks yang terdeteksi
+ Hubungan antara garis dan kata-kata teks yang terdeteksi
+ Halaman yang terdeteksi teks muncul di
+ Lokasi baris dan kata-kata teks pada halaman dokumen

Untuk informasi selengkapnya, lihat [Baris dan Kata-kata Teks](how-it-works-lines-words.md).

Untuk mendeteksi teks secara serentak, gunakan[DetectDocumentText](API_DetectDocumentText.md)Operasi API, dan lulus file dokumen sebagai masukan. Seluruh rangkaian hasil dikembalikan oleh operasi. Untuk informasi lebih lanjut dan contoh, lihat [Memproses Dokumen dengan Operasi Sinkron](sync.md). 

**catatan**  
Operasi Amazon Rekognition API`DetectText`berbeda dari`DetectDocumentText`. Anda menggunakan`DetectText`untuk mendeteksi teks dalam adegan langsung, seperti poster atau rambu jalan.

Untuk mendeteksi teks secara asinkron, gunakan[StartDocumentTextDetection](API_StartDocumentTextDetection.md)untuk mulai memproses file dokumen input. Untuk mendapatkan hasilnya, hubungi[GetDocumentTextDetection](API_GetDocumentTextDetection.md). Hasilnya dikembalikan dalam satu atau lebih tanggapan dari`GetDocumentTextDetection`. Untuk informasi lebih lanjut dan contoh, lihat [Memproses Dokumen dengan Operasi Asynchronous](async.md). 

# Menganalisis Dokumen
<a name="how-it-works-analyzing"></a>

Amazon Textract menganalisis dokumen dan formulir untuk hubungan antara teks yang terdeteksi. Operasi analisis Amazon Textract Texact mengembalikan 3 kategori ekstraksi dokumen — teks, formulir, dan tabel. Analisis faktur dan tanda terima ditangani melalui proses yang berbeda, untuk informasi lebih lanjut lihat[Menganalisis Faktur dan Penerimaan](invoices-receipts.md).

**Ekstraksi teks**  
Teks mentah diekstrak dari dokumen. Untuk informasi selengkapnya, lihat[Baris dan kata-kata teks](how-it-works-lines-words.md).

**Ekstraksi formulir**  
Data formulir terkait dengan item teks yang diekstrak dari dokumen. Amazon Textract mewakili data formulir sebagai pasangan nilai kunci. Pada contoh berikut, salah satu baris teks yang terdeteksi oleh Amazon Textract adalah*Nama: Doe*. Amazon Textract juga mengidentifikasi kunci (*Nama:*) dan nilai (*Doe*). Untuk informasi selengkapnya, lihat[Data formulir (Pasangan kunci/nilai)](how-it-works-kvp.md).

*Nama*: *Doe*

*Alamat: 123 Any Street, Anytown, Amerika Serikat*

*Tanggal lahir: 12-26-1980*

Pasangan kunci-nilai juga digunakan untuk mewakili kotak centang atau tombol opsi (tombol radio) yang diekstraksi dari bentuk.

*Laki-Laki:*☑

Untuk informasi selengkapnya, lihat[Elemen seleksi](how-it-works-selectables.md).

**Ekstraksi Tabel**  
Amazon Textract dapat mengekstrak tabel, sel tabel, dan item dalam sel tabel dan dapat diprogram untuk mengembalikan hasil dalam file JSON, .csv, atau .txt.


| Nama | Alamat | 
| --- | --- | 
|  Carolina  |  123 Kota mana pun  | 

Untuk informasi selengkapnya, lihat[Tabel](how-it-works-tables.md). Elemen seleksi juga bisa diekstraksi dari tabel. Untuk informasi selengkapnya, lihat[Elemen seleksi](how-it-works-selectables.md).

Untuk item yang dianalisis, Amazon Textract mengembalikan yang berikut dalam beberapa[Block](API_Block.md)Objek:
+ Garis dan kata-kata teks yang terdeteksi
+ Isi item yang terdeteksi
+ Hubungan antara item yang terdeteksi
+ Halaman yang item terdeteksi pada
+ Lokasi item pada halaman dokumen

Anda dapat menggunakan operasi sinkron atau asinkron untuk menganalisis teks dalam dokumen. Untuk menganalisis teks secara serentak, gunakan[AnalyzeDocument](API_AnalyzeDocument.md)operasi, dan lulus dokumen sebagai masukan.`AnalyzeDocument`mengembalikan seluruh rangkaian hasil. Untuk informasi selengkapnya, lihat [Menganalisis Teks Dokumen dengan Amazon Textract](analyzing-document-text.md). 

Untuk mendeteksi teks secara asinkron, gunakan[StartDocumentAnalysis](API_StartDocumentAnalysis.md)untuk memulai pemrosesan. Untuk mendapatkan hasilnya, hubungi[GetDocumentAnalysis](API_GetDocumentAnalysis.md). Hasilnya dikembalikan dalam satu atau lebih tanggapan dari`GetDocumentAnalysis`. Untuk informasi lebih lanjut dan contoh, lihat [Mendeteksi atau Menganalisis Teks dalam Dokumen Multipage](async-analyzing-with-sqs.md). 

Untuk menentukan jenis analisis yang akan dilakukan, Anda dapat menggunakan`FeatureTypes`daftar parameter masukan. Tambahkan TABLES ke daftar untuk mengembalikan informasi tentang tabel yang terdeteksi dalam dokumen input — misalnya, sel tabel, teks sel, dan elemen seleksi dalam sel. Tambahkan FORM untuk mengembalikan hubungan kata, seperti pasangan kunci-nilai dan elemen seleksi. Untuk melakukan kedua jenis analisis, tambahkan TABLES dan FORMS ke`FeatureTypes`. 

Semua baris dan kata-kata yang terdeteksi dalam dokumen termasuk dalam respon (termasuk teks yang tidak terkait dengan nilai`FeatureTypes`).

# Menganalisis Faktur dan Penerimaan
<a name="invoices-receipts"></a>

Amazon Textract mengekstrak data yang relevan seperti informasi kontak, item yang dibeli, dan nama vendor, dari hampir semua faktur atau tanda terima tanpa memerlukan templat atau konfigurasi apa pun. Faktur dan tanda terima sering menggunakan berbagai tata letak, sehingga sulit dan memakan waktu untuk mengekstrak data secara manual dalam skala besar. Amazon Textract menggunakan ML-nya untuk memahami konteks faktur dan tanda terima serta secara otomatis mengekstrak data seperti tanggal faktur atau tanda terima, nomor faktur atau tanda terima, harga barang, jumlah total, dan persyaratan pembayaran yang sesuai dengan kebutuhan bisnis Anda.

Amazon Textract juga mengidentifikasi nama vendor yang sangat penting untuk alur kerja Anda tetapi mungkin tidak diberi label secara eksplisit. Misalnya, Amazon Textract dapat menemukan nama vendor pada tanda terima meskipun hanya ditunjukkan dalam logo di bagian atas halaman tanpa kombinasi pasangan nilai kunci eksplisit. Amazon Textract juga memudahkan Anda untuk mengkonsolidasikan masukan dari beragam tanda terima dan faktur yang menggunakan kata berbeda untuk konsep yang sama. Misalnya, Amazon Textract memetakan hubungan antara nama lapangan dalam dokumen yang berbeda seperti nomor pelanggan, nomor pelanggan, dan ID akun, menampilkan taksonomi standar sebagai`INVOICE_RECEIPT_ID`. Dalam hal ini, Amazon Textract mewakili data secara konsisten di berbagai jenis dokumen. Bidang yang tidak sejajar dengan taksonomi standar dikategorikan sebagai`OTHER`. 

Berikut ini adalah daftar bidang standar yang AnalyzeExpense saat ini mendukung:
+ Nama Vendor:`VENDOR_NAME`
+ Total:`TOTAL`
+ Alamat Penerima:`RECEIVER_ADDRESS`
+ Tanggal Faktur/Tanda Terima:`INVOICE_RECEIPT_DATE`
+ Faktur/Tanda Terima ID:`INVOICE_RECEIPT_ID`
+ Ketentuan Pembayaran:`PAYMENT_TERMS`
+ Subtotal:`SUBTOTAL`
+ Tanggal jatuh tempo:`DUE_DATE`
+ Pajak:`TAX`
+ ID Pembayar Pajak Faktur (SSN/ITIN atau EIN):`TAX_PAYER_ID`
+ Nama Item:`ITEM_NAME`
+ Harga Item:`PRICE`
+ Kuantitas Item:`QUANTITY`

AnalyzeExpense API mengembalikan elemen berikut untuk halaman dokumen yang diberikan:
+ Jumlah penerimaan atau faktur dalam halaman diwakili sebagai`ExpenseIndex`
+ Nama standar untuk bidang individu direpresentasikan sebagai`Type`
+ Nama sebenarnya dari bidang seperti yang muncul pada dokumen, direpresentasikan sebagai`LabelDetection`
+ Nilai bidang yang sesuai direpresentasikan sebagai`ValueDetection`
+ Jumlah halaman dalam dokumen yang diajukan direpresentasikan sebagai`Pages`
+ Nomor halaman di mana bidang, nilai, atau item baris terdeteksi, direpresentasikan sebagai`PageNumber`
+ Geometri, yang mencakup kotak pembatas dan mengkoordinasikan lokasi bidang individu, nilai, atau item baris pada halaman, direpresentasikan sebagai`Geometry`
+ Skor kepercayaan yang terkait dengan setiap bagian dari data yang terdeteksi pada dokumen, direpresentasikan sebagai`Confidence`
+ Seluruh baris item baris individu yang dibeli, direpresentasikan sebagai`EXPENSE_ROW`

Berikut ini adalah sebagian dari output API untuk tanda terima yang diproses oleh AnalyzeExpense yang menunjukkan Total: \$155.64 dalam dokumen yang diekstrak sebagai bidang standar`TOTAL`, teks aktual pada dokumen sebagai “Total”, Keyakinan Skor “97.1”, Halaman Nomor “1", Nilai total sebagai “\$155.64" dan kotak pembatas dan koordinat poligon: 

```
{
    "Type": {
        "Text": "TOTAL",
        "Confidence": 99.94717407226562
    },
    "LabelDetection": {
        "Text": "Total:",
        "Geometry": {
            "BoundingBox": {
                "Width": 0.09809663146734238,
                "Height": 0.0234375,
                "Left": 0.36822840571403503,
                "Top": 0.8017578125
            },
            "Polygon": [
                {
                    "X": 0.36822840571403503,
                    "Y": 0.8017578125
                },
                {
                    "X": 0.466325044631958,
                    "Y": 0.8017578125
                },
                {
                    "X": 0.466325044631958,
                    "Y": 0.8251953125
                },
                {
                    "X": 0.36822840571403503,
                    "Y": 0.8251953125
                }
        ]
    },
    "Confidence": 97.10792541503906
},
    "ValueDetection": {
        "Text": "$55.64",
        "Geometry": {
            "BoundingBox": {
                "Width": 0.10395314544439316,
                "Height": 0.0244140625,
                "Left": 0.66837477684021,
                "Top": 0.802734375
            },
            "Polygon": [
                {
                    "X": 0.66837477684021,
                    "Y": 0.802734375
                },
                {
                    "X": 0.7723279595375061,
                    "Y": 0.802734375
                },
                {
                    "X": 0.7723279595375061,
                    "Y": 0.8271484375
                },
                {
                    "X": 0.66837477684021,
                    "Y": 0.8271484375
                }
            ]
        },
    "Confidence": 99.85165405273438
},
"PageNumber": 1
}
```

Anda dapat menggunakan operasi sinkron untuk menganalisis faktur atau tanda terima. Untuk menganalisis dokumen-dokumen ini, Anda menggunakan operasi AnalyzeExpense dan memberikan tanda terima atau faktur untuk itu.`AnalyzeExpense`mengembalikan seluruh rangkaian hasil. Untuk informasi selengkapnya, lihat [Menganalisis Faktur dan Penerimaan dengan Amazon Textract](analyzing-document-expense.md).

Untuk menganalisis faktur dan tanda terima secara asinkron, gunakan[StartExpenseAnalysis](API_StartExpenseAnalysis.md)untuk mulai memproses file dokumen input. Untuk mendapatkan hasilnya, hubungi[GetExpenseAnalysis](API_GetExpenseAnalysis.md). Hasil untuk panggilan yang diberikan ke[StartExpenseAnalysis](API_StartExpenseAnalysis.md)dikembalikan oleh`GetExpenseAnalysis`. Untuk informasi lebih lanjut dan contoh, lihat [Memproses Dokumen dengan Operasi Asynchronous](async.md). 

# Menganalisis Dokumen Identitas
<a name="how-it-works-identity"></a>

 Amazon Textract dapat mengekstrak informasi yang relevan dari paspor, SIM, dan dokumentasi identitas lainnya yang dikeluarkan oleh Pemerintah AS menggunakan AnalyzeID API. Dengan Analyze ID, bisnis dapat dengan cepat, dan akurat mengekstrak informasi dari ID seperti SIM AS, ID negara, dan paspor yang memiliki template atau format yang berbeda. AnalyzeID API mengembalikan dua kategori tipe data: 
+  Pasangan nilai kunci tersedia pada ID seperti Tanggal Lahir, Tanggal Terbitan, ID \$1, Kelas, dan Pembatasan. 
+  Bidang tersirat pada dokumen yang mungkin tidak memiliki kunci eksplisit yang terkait dengannya seperti Nama, Alamat, dan Dikeluarkan Oleh. 

Nama kunci distandarisasi dalam respon. Misalnya, jika SIM Anda mengatakan LIC \$1 (nomor lisensi) dan paspor mengatakan Paspor No, Analyze ID response akan mengembalikan kunci standar sebagai “ID Dokumen” bersama dengan kunci mentah (misalnya LIC \$1). Standarisasi ini memungkinkan pelanggan dengan mudah menggabungkan informasi di banyak ID yang menggunakan istilah yang berbeda untuk konsep yang sama.

![\[Teks deskriptif di sini: SIM tiruan dari negara bagian Massachusetts. Nama individu yang memiliki lisensi adalah Maria Garcia. Bidang ISS memiliki nilai 03/18/2018. Bidang Nomor memiliki nilai 736HDV7874JSB. Bidang EXP memiliki nilai 01/20/2028. Bidang DOB memiliki nilai 18/03/2001. Bidang CLASS memiliki nilai D. bidang REST adalah NONE. Bidang END adalah NONE. Alamat di ID adalah 100 Market Street, Bigtown, MA, 02801. Bidang EYES adalah BLK, bidang SEX adalah F, bidang HGT adalah 4-6 “, bidang DD adalah 03/12/2019, dan bidang REV adalah 03/12/2017.\]](http://docs.aws.amazon.com/id_id/textract/latest/dg/images/textract-id-sample-1.png)


 Menganalisis ID mengembalikan informasi dalam struktur yang disebut`IdentityDocumentFields`. Ini adalah`JSON`struktur yang berisi dua buah informasi: Jenis dinormalisasi dan Nilai yang terkait dengan Type. Keduanya juga memiliki skor kepercayaan diri. Untuk informasi selengkapnya, lihat [Identitas Dokumentasi Respon Ob](identitydocumentfields.md). 

 Anda dapat menggunakan operasi sinkron untuk menganalisis SIM atau paspor. Untuk menganalisis dokumen-dokumen ini, Anda menggunakan operasi AnalyzeID dan meneruskan dokumen identitas ke dalamnya.`AnalyzeID`mengembalikan seluruh rangkaian hasil. Untuk informasi selengkapnya, lihat [Menganalisis Dokumentasi Identitas dengan Amazon Textract](analyzing-document-identity.md). 

**catatan**  
 Beberapa dokumen identitas, seperti SIM, memiliki dua sisi. Anda dapat melewati gambar depan dan belakang lisensi driver sebagai gambar terpisah dalam permintaan Analyze ID API yang sama. 

# Dokumen Input
<a name="how-it-works-documents"></a>

Input yang sesuai untuk operasi Amazon Textract adalah dokumen tunggal atau multipage. Beberapa contoh adalah dokumen hukum, formulir, ID, atau surat. Formulir adalah dokumen dengan pertanyaan atau petunjuk bagi pengguna untuk memberikan jawaban. Beberapa contoh adalah formulir pendaftaran pasien, formulir pajak, atau formulir klaim asuransi. 

Dokumen dapat dalam format JPEG, PNG, PDF atau TIFF. Dengan file format PDF dan TIFF, Anda dapat memproses dokumen multipage. Untuk informasi tentang cara Amazon Textract mewakili dokumen sebagai`Block`benda, lihat[Deteksi Teks dan Dokumen Analisis Respon Objek](how-it-works-document-layout.md).

Berikut ini adalah contoh dokumen input yang dapat diterima.

![\[Gambar selembar kertas putih dengan header Aplikasi Pekerjaan. Baris berikutnya mengatakan Informasi Aplikasi, Nama Lengkap berikutnya: Jane Doe, Nomor Telepon berikutnya: 555-0100, Alamat Rumah berikutnya: 123 Any Street, AnyTown USA, Mailing Address berikutnya: sama seperti di atas. Di bawahnya adalah tabel berjudul Previous Employment History. Ini memiliki lima kolom dan empat baris. Judul kolom adalah Tanggal Mulai, Tanggal Akhir, Nama Perusahaan, Posisi Dipegang, dan Alasan untuk meninggalkan. Baris berikutnya mencantumkan 1/15/2009, 6/30/2011, Any Company, Assistant baker, dan relokasi. Berikutnya 7/1/2011, 8/10/2013, Contoh Corp Baker, opp lebih baik. Berikutnya 8/15/2013, Hadir, AnyCompany, kepala baker, dan N/A, saat ini.\]](http://docs.aws.amazon.com/id_id/textract/latest/dg/images/Handwriting%20Sample%203.png)


Untuk informasi tentang batas dokumen, lihat[Batas Keras di Amazon Textract](limits.md).

Untuk operasi sinkron Amazon Textract, Anda dapat menggunakan dokumen input yang disimpan di bucket Amazon S3, atau Anda dapat meneruskan byte citra yang dikodekan base64. Untuk informasi selengkapnya, lihat [Memanggil Operasi Sinkronisasi Amazon Texact](sync-calling.md). Untuk operasi asinkron, Anda perlu memasok dokumen input di bucket Amazon S3. Untuk informasi selengkapnya, lihat [Memanggil Operasi Asinkron Amazon Texact](api-async.md). 

# Objek Tanggapan Amazon Textract
<a name="how-it-works-document-response"></a>

Operasi Amazon Textract Texact mengembalikan berbagai jenis objek tergantung pada operasi yang dijalankan. Untuk mendeteksi teks, dan menganalisis dokumen generik, operasi mengembalikan objek Block. Untuk menganalisis faktur atau tanda terima, operasi mengembalikan objek expenseDocuments. Untuk menganalisis dokumentasi identitas, operasi mengembalikan objek IdentityDocumentFields. Untuk informasi selengkapnya tentang objek respons ini, lihat bagian berikut:

**Topics**
+ [Deteksi Teks dan Dokumen Analisis Respon Objek](how-it-works-document-layout.md)
+ [Faktur dan Respon Tanda Terima Objek](expensedocuments.md)
+ [Identitas Dokumentasi Respon Ob](identitydocumentfields.md)

# Deteksi Teks dan Dokumen Analisis Respon Objek
<a name="how-it-works-document-layout"></a>

Saat Amazon Textract memproses dokumen, dokumen akan membuat daftar[Block](API_Block.md)objek untuk teks terdeteksi atau dianalisis. Setiap blok berisi informasi tentang item yang terdeteksi, di mana letaknya, dan keyakinan yang dimiliki Amazon Textract dalam keakuratan pemrosesan.

Sebuah dokumen terdiri dari jenis berikut`Block`objek.
+ [Halaman](how-it-works-pages.md)
+  [Baris dan kata-kata teks](how-it-works-lines-words.md) 
+  [Data Formulir (Pasangan kunci/nilai)](how-it-works-kvp.md) 
+  [Tabel dan Sel](how-it-works-tables.md) 
+ [Elemen seleksi](how-it-works-selectables.md)

Isi blok tergantung pada operasi yang Anda panggil. Jika Anda memanggil salah satu operasi deteksi teks, halaman, baris, dan kata-kata teks yang terdeteksi akan dikembalikan. Untuk informasi selengkapnya, lihat [Mendeteksi teks](how-it-works-detecting.md). Jika Anda memanggil salah satu operasi analisis dokumen, informasi tentang halaman terdeteksi, pasangan kunci-nilai, tabel, elemen seleksi, dan teks dikembalikan. Untuk informasi selengkapnya, lihat [Menganalisis Dokumen](how-it-works-analyzing.md).

Beberapa`Block`bidang objek umum untuk kedua jenis pengolahan. Misalnya, setiap blok memiliki pengenal yang unik.

Untuk contoh yang menunjukkan cara menggunakan`Block`benda, lihat[Tutorial](examples-blocks.md).

## Tata Letak Dokumen
<a name="hows-it-works-blocks-types.title"></a>

Amazon Textract mengembalikan representasi dokumen sebagai daftar berbagai jenis`Block`objek yang terkait dalam hubungan orangtua-ke-anak atau pasangan kunci-nilai. Metadata yang menyediakan jumlah halaman dalam dokumen juga dikembalikan. Berikut ini adalah JSON untuk khas`Block`objek tipe`PAGE`.

```
{
    "Blocks": [
        {
            "Geometry": {
                "BoundingBox": {
                    "Width": 1.0, 
                    "Top": 0.0, 
                    "Left": 0.0, 
                    "Height": 1.0
                }, 
                "Polygon": [
                    {
                        "Y": 0.0, 
                        "X": 0.0
                    }, 
                    {
                        "Y": 0.0, 
                        "X": 1.0
                    }, 
                    {
                        "Y": 1.0, 
                        "X": 1.0
                    }, 
                    {
                        "Y": 1.0, 
                        "X": 0.0
                    }
                ]
            }, 
            "Relationships": [
                {
                    "Type": "CHILD", 
                    "Ids": [
                        "2602b0a6-20e3-4e6e-9e46-3be57fd0844b", 
                        "82aedd57-187f-43dd-9eb1-4f312ca30042", 
                        "52be1777-53f7-42f6-a7cf-6d09bdc15a30", 
                        "7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c"
                    ]
                }
            ], 
            "BlockType": "PAGE", 
            "Id": "8136b2dc-37c1-4300-a9da-6ed8b276ea97"
        }..... 
        
    ], 
    "DocumentMetadata": {
        "Pages": 1
    }
}
```

Dokumen dibuat dari satu atau lebih`PAGE`blok. Setiap halaman berisi daftar blok anak untuk item utama yang terdeteksi pada halaman, seperti baris teks dan tabel. Untuk informasi selengkapnya, lihat [Halaman](how-it-works-pages.md). 

Anda dapat menentukan jenis`Block`objek dengan memeriksa`BlockType`Bidang.

SEBUAH`Block`objek berisi daftar terkait`Block`benda-benda di`Relationships`lapangan, yang merupakan array[Relationship](API_Relationship.md)objek. SEBUAH`Relationships`array adalah salah satu dari jenis ANAK atau jenis NILAI. Array jenis ANAK digunakan untuk daftar item yang anak-anak dari blok saat ini. Misalnya, jika blok saat ini adalah tipe LINE,`Relationships`berisi daftar ID untuk blok WORD yang membentuk baris teks. Array tipe VALUE digunakan untuk mengandung pasangan nilai kunci. Anda dapat menentukan jenis hubungan dengan memeriksa`Type`bidang`Relationship`objek. 

Blok anak tidak memiliki informasi tentang objek Blokir induknya.

Untuk contoh yang menunjukkan`Block`informasi, lihat[Memproses Dokumen dengan Operasi Sinkron](sync.md).

## Kepercayaan
<a name="how-it-works-confidence"></a>

Operasi Amazon Textract mengembalikan kepercayaan persentase yang dimiliki Amazon Textract dalam keakuratan item yang terdeteksi. Untuk mendapatkan kepercayaan diri, gunakan`Confidence`bidang`Block`objek. Nilai yang lebih tinggi menunjukkan kepercayaan yang lebih tinggi. Tergantung pada skenario, deteksi dengan kepercayaan rendah mungkin memerlukan konfirmasi visual oleh manusia.

## Geometry
<a name="how-it-works-geometry"></a>

Operasi Amazon Textract Texact, dengan pengecualian analisis identitas, mengembalikan informasi lokasi tentang lokasi item yang terdeteksi pada halaman dokumen. Untuk mendapatkan lokasi, gunakan`Geometry`bidang`Block`objek. Untuk informasi selengkapnya, lihat[Lokasi Item pada Halaman Dokumen](text-location.md) 

# Halaman
<a name="how-it-works-pages"></a>

Sebuah dokumen terdiri dari satu atau beberapa halaman. SEBUAH[Block](API_Block.md)objek tipe`PAGE`ada untuk setiap halaman dokumen. SEBUAH`PAGE`blok objek berisi daftar ID anak untuk baris teks, pasangan kunci-nilai, dan tabel yang terdeteksi pada halaman dokumen. 

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/textract/latest/dg/images/hieroglyph-pages.png)


JSON untuk`PAGE`terlihat seperti berikut ini.

```
{

    "Geometry": .... 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "2602b0a6-20e3-4e6e-9e46-3be57fd0844b", // Line - Hello, world.
                "82aedd57-187f-43dd-9eb1-4f312ca30042", // Line - How are you?
                "52be1777-53f7-42f6-a7cf-6d09bdc15a30", 
                "7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c"   
            ]
        }
    ], 
    "BlockType": "PAGE", 
    "Id": "8136b2dc-37c1-4300-a9da-6ed8b276ea97"  // Page identifier
},
```

Jika Anda menggunakan operasi asinkron dengan dokumen multipage yang ada dalam format PDF, Anda dapat menentukan halaman tempat blok berada di dengan memeriksa`Page`bidang`Block`objek. Gambar yang dipindai (gambar dalam format JPEG, PNG, PDF, atau TIFF) dianggap sebagai dokumen satu halaman, bahkan jika ada lebih dari satu halaman dokumen pada gambar. Operasi asinkron selalu mengembalikan`Page`nilai 1 untuk gambar yang dipindai.

Jumlah total halaman dikembalikan dalam`Pages`bidang`DocumentMetadata`.`DocumentMetadata`dikembalikan dengan setiap daftar`Block`objek yang dikembalikan oleh operasi Amazon Textract.

# Baris dan Kata-kata Teks
<a name="how-it-works-lines-words"></a>

Teks yang terdeteksi yang dikembalikan oleh operasi Amazon Textract Texact dikembalikan dalam daftar[Block](API_Block.md)objek. Benda-benda ini mewakili baris teks atau kata-kata tekstual yang terdeteksi pada halaman dokumen. Teks berikut menunjukkan dua baris teks yang dibuat dari beberapa kata.

Ini adalah teks.

Dalam dua baris terpisah.

Teks yang terdeteksi dikembalikan dalam`Text`bidang a`Block`objek. Parameter`BlockType`bidang menentukan apakah teks adalah baris teks (LINE) atau kata (WORD). SEBUAH*KATA*adalah satu atau lebih karakter skrip Latin dasar ISO yang tidak dipisahkan oleh spasi. SEBUAH*LINI*adalah string kata-kata tab-delimited dan bersebelahan.

 Selain itu, Amazon Textract akan menentukan apakah sepotong teks ditulis tangan atau dicetak menggunakan`TextTypes`Bidang. Ini kembali sebagai TANGAN TANGAN dan DICETAKAN masing-masing. 

Yang lainnya`Block`properti umum untuk semua jenis blok, seperti ID, kepercayaan diri, dan informasi geometri. Untuk informasi selengkapnya, lihat [Deteksi Teks dan Dokumen Analisis Respon Objek](how-it-works-document-layout.md). 

Untuk mendeteksi hanya baris dan kata-kata, Anda dapat menggunakan[DetectDocumentText](API_DetectDocumentText.md)atau[StartDocumentTextDetection](API_StartDocumentTextDetection.md). Untuk informasi selengkapnya, lihat [Mendeteksi teks](how-it-works-detecting.md). Untuk mendapatkan teks yang terdeteksi (baris dan kata-kata) dan informasi tentang bagaimana hal itu berhubungan dengan bagian lain dari dokumen, seperti tabel, Anda dapat menggunakan[AnalyzeDocument](API_AnalyzeDocument.md)atau[StartDocumentAnalysis](API_StartDocumentAnalysis.md). Untuk informasi selengkapnya, lihat [Menganalisis Dokumen](how-it-works-analyzing.md).

`PAGE`,`LINE`, dan`WORD`blok terkait satu sama lain dalam hubungan orang tua-ke-anak. SEBUAH`PAGE`blok adalah induk untuk semua`LINE`blok objek pada halaman dokumen. Karena GARIS dapat memiliki satu atau beberapa kata, maka`Relationships`array untuk blok LINE menyimpan ID untuk blok WORD anak yang membentuk baris teks. 

Diagram berikut menunjukkan bagaimana garis*Halo, dunia.*dalam teks*Halo, dunia. Bagaimana kabarmu?*diwakili oleh`Block`objek. 

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/textract/latest/dg/images/hieroglyph-text-detection.png)




Berikut ini adalah output JSON dari`DetectDocumentText`ketika kalimat*Halo, dunia. Bagaimana kabarmu?*terdeteksi. Contoh pertama adalah JSON untuk halaman dokumen. Perhatikan bagaimana ID ANAK memungkinkan Anda untuk menavigasi dokumen.

```
{
    "Geometry": {...}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "d7fbd604-d609-4d69-857d-247a3f591238", // Line - Hello, world.
                "b6c19a93-6493-4d8e-958f-853c8f7ca055" //  Line - How are you?
            ]
        }
    ], 
    "BlockType": "PAGE", 
    "Id": "56ec1d77-171f-4881-9852-2b5b7e761608"
},
```

Berikut ini adalah JSON untuk blok LINE yang membentuk baris “Hello, World”: 

```
{
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "7f97e2ca-063e-47a8-981c-8beee31afc01", // Word - Hello,
                "4b990aa0-af96-4369-b90f-dbe02538ed21"  // Word - world.
            ]
        }
    ], 
    "Confidence": 99.63229370117188, 
    "Geometry": {...}, 
    "Text": "Hello, world.", 
    "BlockType": "LINE", 
    "Id": "d7fbd604-d609-4d69-857d-247a3f591238"
},
```

Berikut ini adalah JSON untuk blok WORD untuk kata*Halo,*: 

```
{
    "Geometry": {...}, 
    "Text": "Hello,", 
    "TextType": "PRINTED",
    "BlockType": "WORD", 
    "Confidence": 99.74746704101562, 
    "Id": "7f97e2ca-063e-47a8-981c-8beee31afc01"
},
```

JSON terakhir adalah blok WORD untuk kata*dunia.*:

```
{
    "Geometry": {...}, 
    "Text": "world.",
    "TextType": "PRINTED",
    "BlockType": "WORD", 
    "Confidence": 99.5171127319336, 
    "Id": "4b990aa0-af96-4369-b90f-dbe02538ed21"
},
```

# Data Formulir (Pasangan Nilai Kunci)
<a name="how-it-works-kvp"></a>

Amazon Textract dapat mengekstrak data formulir dari dokumen sebagai pasangan nilai kunci. Misalnya, dalam teks berikut, Amazon Textract dapat mengidentifikasi kunci (*Nama:*) dan nilai (*Carolina*).

Nama: Carolina

Pasangan nilai kunci dikembalikan sebagai[Block](API_Block.md)objek dalam tanggapan dari[AnalyzeDocument](API_AnalyzeDocument.md)dan[GetDocumentAnalysis](API_GetDocumentAnalysis.md). Anda dapat menggunakan`FeatureTypes`parameter masukan untuk mengambil informasi tentang pasangan kunci-nilai, tabel, atau keduanya. Untuk pasangan kunci-nilai saja, gunakan nilai`FORMS`. Sebagai contoh, lihat [Mengekstrak Pasangan Ky-Value dari Dokumen Formulir](examples-extract-kvp.md). Untuk informasi umum tentang bagaimana dokumen diwakili oleh`Block`benda, lihat[Deteksi Teks dan Dokumen Analisis Respon Objek](how-it-works-document-layout.md). 

Blokir objek dengan tipe KEY\$1VALUE\$1SET adalah wadah untuk objek KEY atau VALUE Block yang menyimpan informasi tentang item teks terkait yang terdeteksi dalam dokumen. Anda dapat menggunakan`EntityType`atribut untuk menentukan apakah blok adalah KEY atau NILAI. 
+ SEBUAH*KUNCI*objek berisi informasi tentang kunci untuk teks terkait. Misalnya,*Nama:*. Sebuah blok KEY memiliki dua daftar hubungan. Sebuah hubungan jenis VALUE adalah daftar yang berisi ID dari blok VALUE terkait dengan kunci. Hubungan tipe ANAK adalah daftar ID untuk blok WORD yang membentuk teks kunci.
+ SEBUAH*NILAI*objek berisi informasi tentang teks yang terkait dengan kunci. Dalam contoh sebelumnya,*Carolina*adalah nilai untuk kunci*Nama:*. Sebuah blok NILAI memiliki hubungan dengan daftar blok ANAK yang mengidentifikasi blok WORD. Setiap blok WORD berisi salah satu kata yang membentuk teks nilai. SEBUAH`VALUE`objek juga dapat berisi informasi tentang elemen yang dipilih. Untuk informasi selengkapnya, lihat [Elemen Seleksi](how-it-works-selectables.md).

Setiap contoh dari KEY\$1VALUE\$1SET`Block`objek adalah anak dari PAGE`Block`objek yang sesuai dengan halaman saat ini.

Diagram berikut menunjukkan bagaimana pasangan nilai kunci*Nama: Carolina*diwakili oleh`Block`objek.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/textract/latest/dg/images/hieroglyph-key-value-set.png)


Contoh berikut menunjukkan bagaimana pasangan nilai kunci*Nama: Carolina*diwakili oleh JSON.

Blok PAGE memiliki blok ANAK tipe`KEY_VALUE_SET`untuk setiap KEY dan blok NILAI terdeteksi dalam dokumen. 

```
{
    "Geometry": .... 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "2602b0a6-20e3-4e6e-9e46-3be57fd0844b", 
                "82aedd57-187f-43dd-9eb1-4f312ca30042", 
                "52be1777-53f7-42f6-a7cf-6d09bdc15a30", // Key - Name:
                "7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c"  // Value - Ana Caroline 
            ]
        }
    ], 
    "BlockType": "PAGE", 
    "Id": "8136b2dc-37c1-4300-a9da-6ed8b276ea97"  // Page identifier
},
```

JSON berikut menunjukkan bahwa blok KEY (52be1777-53f7-42f6-a7cf-6d09bdc15a30) memiliki hubungan dengan blok NILAI (7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c). Ini juga memiliki blok ANAK untuk blok WORD (c734fca6-c4c4-415c-b6c1-30f7510b72ea) yang berisi teks untuk kunci (*Nama:*).

```
{
    "Relationships": [
        {
            "Type": "VALUE", 
            "Ids": [
                "7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c"  // Value identifier
            ]
        }, 
        {
            "Type": "CHILD", 
            "Ids": [
                "c734fca6-c4c4-415c-b6c1-30f7510b72ee"  // Name:
            ]
        }
    ], 
    "Confidence": 51.55965805053711, 
    "Geometry": ...., 
    "BlockType": "KEY_VALUE_SET", 
    "EntityTypes": [
        "KEY"
    ], 
    "Id": "52be1777-53f7-42f6-a7cf-6d09bdc15a30"  //Key identifier
},
```

JSON berikut menunjukkan bahwa VALUE blok 7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c memiliki daftar ANAK ID untuk blok WORD yang membentuk teks dari nilai (*Ana*dan*Carolina*).

```
{
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "db553509-64ef-4ecf-ad3c-bea62cc1cd8a", // Ana
                "e5d7646c-eaa2-413a-95ad-f4ae19f53ef3"  // Carolina
            ]
        }
    ], 
    "Confidence": 51.55965805053711, 
    "Geometry": ...., 
    "BlockType": "KEY_VALUE_SET", 
    "EntityTypes": [
        "VALUE"
    ], 
    "Id": "7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c" // Value identifier
}
```

JSON berikut menunjukkan`Block`objek untuk kata-kata*Nama:*,*Ana*, dan*Carolina*.

```
{
    "Geometry": {...}, 
    "Text": "Name:", 
    "TextType": "PRINTED".
    "BlockType": "WORD", 
    "Confidence": 99.56285858154297, 
    "Id": "c734fca6-c4c4-415c-b6c1-30f7510b72ee"
},
 {
    "Geometry": {...}, 
    "Text": "Ana", 
    "TextType": "PRINTED",
    "BlockType": "WORD", 
    "Confidence": 99.52057647705078, 
    "Id": "db553509-64ef-4ecf-ad3c-bea62cc1cd8a"
}, 
{
    "Geometry": {...}, 
    "Text": "Carolina", 
    "TextType": "PRINTED",
    "BlockType": "WORD", 
    "Confidence": 99.84207916259766, 
    "Id": "e5d7646c-eaa2-413a-95ad-f4ae19f53ef3"
},
```

# Tabel
<a name="how-it-works-tables"></a>

Amazon Textract dapat mengekstrak tabel dan sel dalam tabel. Misalnya, ketika tabel berikut terdeteksi pada formulir, Amazon Textract mendeteksi tabel dengan empat sel. 


| Nama | Alamat | 
| --- | --- | 
|  Carolina  |  123 Kota mana pun  | 

Tabel yang terdeteksi dikembalikan sebagai[Block](API_Block.md)objek dalam tanggapan dari[AnalyzeDocument](API_AnalyzeDocument.md)dan[GetDocumentAnalysis](API_GetDocumentAnalysis.md). Anda dapat menggunakan`FeatureTypes`parameter masukan untuk mengambil informasi tentang pasangan kunci-nilai, tabel, atau keduanya. Untuk tabel saja, gunakan nilainya`TABLES`. Sebagai contoh, lihat [Mengekspor Tabel ke File CSV](examples-export-table-csv.md). Untuk informasi umum tentang bagaimana dokumen diwakili oleh`Block`benda, lihat[Deteksi Teks dan Dokumen Analisis Respon Objek](how-it-works-document-layout.md).

Diagram berikut menunjukkan bagaimana sel tunggal dalam tabel diwakili oleh`Block`objek.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/textract/latest/dg/images/hieroglyph-table-cell.png)


Sel mengandung`WORD`blok untuk kata-kata yang terdeteksi, dan`SELECTION_ELEMENT`blok untuk elemen seleksi seperti kotak centang. 

Berikut ini adalah JSON partial untuk tabel sebelumnya, yang memiliki empat sel.

Objek PAGE Block memiliki daftar ID Blok ANAK untuk blok TABLE dan setiap LINE teks yang terdeteksi. 

```
{
    "Geometry": {...}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "f2a4ad7b-f21d-4966-b548-c859b84f66a4",   // Line - Name
                "4dce3516-ffeb-45e0-92a2-60770e9cb744",   // Line  - Address 
                "ee506578-768f-4696-8f4b-e4917e429f50",   // Line - Ana Carolina
                "33fc7223-411b-4399-8a90-ccd3c5a2c196",   // Line  - 123 Any Town
                "3f9665be-379d-4ae7-be44-d02f32b049c2"    // Table
            ]
        }
    ], 
    "BlockType": "PAGE", 
    "Id": "78c3ce84-ae70-418e-add7-27058418adf6"
},
```

Blok TABLE mencakup daftar ID anak untuk sel-sel dalam tabel. Sebuah blok TABLE juga mencakup informasi geometri untuk lokasi tabel dalam dokumen. JSON berikut menunjukkan bahwa tabel memiliki empat sel, yang tercantum dalam`Ids`array.

```
{
    "Geometry": {...}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "505e9581-0d1c-42fb-a214-6ff736822e8c", 
                "6fca44d4-d3d3-46ab-b22f-7fca1fbaaf02", 
                "9778bd78-f3fe-4ae1-9b78-e6d29b89e5e9", 
                "55404b05-ae12-4159-9003-92b7c129532e"
            ]
        }
    ], 
    "BlockType": "TABLE", 
    "Confidence": 92.5705337524414, 
    "Id": "3f9665be-379d-4ae7-be44-d02f32b049c2"
},
```

Jenis Blok untuk sel tabel adalah CELL. Parameter`Block`objek untuk setiap sel mencakup informasi tentang lokasi sel dibandingkan dengan sel-sel lain dalam tabel. Ini juga mencakup informasi geometri untuk lokasi sel pada dokumen. Dalam contoh sebelumnya,`505e9581-0d1c-42fb-a214-6ff736822e8c`adalah ID anak untuk sel yang berisi kata*Nama*. Contoh berikut adalah informasi untuk sel. 

```
{
    "Geometry": {...}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "e9108c8e-0167-4482-989e-8b6cd3c3653e"
            ]
        }
    ], 
    "Confidence": 100.0, 
    "RowSpan": 1, 
    "RowIndex": 1, 
    "ColumnIndex": 1, 
    "ColumnSpan": 1, 
    "BlockType": "CELL", 
    "Id": "505e9581-0d1c-42fb-a214-6ff736822e8c"
},
```

Setiap sel memiliki lokasi di meja, dengan sel pertama menjadi 1,1. Pada contoh sebelumnya, sel dengan nilai*Nama*adalah di baris 1, kolom 1. Sel dengan nilai*123 Kota mana pun*adalah di baris 2, kolom 2. Sebuah objek blok sel berisi informasi ini di`RowIndex`dan`ColumnIndex`bidang. Daftar anak berisi ID untuk objek WORD Block yang berisi teks yang ada di dalam sel. Kata-kata dalam daftar berada dalam urutan di mana mereka terdeteksi, dari kiri atas sel ke kanan bawah sel. Pada contoh sebelumnya, sel memiliki ID anak dengan nilai e9108c8e-0167-4482-989e-8b6cd3c3653e. Output berikut adalah untuk Blok WORD dengan nilai ID e9108c8e-0167-4482-989e-8b6cd3c3653e: 

```
"Geometry": {...}, 
"Text": "Name", 
"TextType": "Printed",
"BlockType": "WORD",
"Confidence": 99.81139373779297, 
"Id": "e9108c8e-0167-4482-989e-8b6cd3c3653e"
},
```

# Elemen Seleksi
<a name="how-it-works-selectables"></a>

Amazon Textract dapat mendeteksi elemen pilihan seperti tombol opsi (tombol radio) dan kotak centang pada halaman dokumen. elemen seleksi dapat dideteksi di[data formulir](how-it-works-kvp.md)dan di[tabel](how-it-works-tables.md). Misalnya, ketika tabel berikut terdeteksi pada formulir, Amazon Textract mendeteksi kotak centang di sel tabel.


|  |  |  |  | 
| --- |--- |--- |--- |
|     |  **Setuju**  |  **Netral**  |  **Tidak Setuju**  | 
|  **Pelayanan yang Baik**  |  ☑  |  ☐  |  ☐  | 
|  **Mudah digunakan**  |  ☐  |  ☑  |  ☐  | 
|  **Harga yang adil**  |  ☑  |  ☐  |  ☐  | 

elemen seleksi terdeteksi dikembalikan sebagai[Block](API_Block.md)objek dalam tanggapan dari[AnalyzeDocument](API_AnalyzeDocument.md)dan[GetDocumentAnalysis](API_GetDocumentAnalysis.md).

**catatan**  
Anda dapat menggunakan`FeatureTypes`parameter masukan untuk mengambil informasi tentang pasangan kunci-nilai, tabel, atau keduanya. Misalnya, jika Anda memfilter pada tabel, respon mencakup elemen seleksi yang terdeteksi dalam tabel. Elemen seleksi yang terdeteksi dalam pasangan kunci-nilai tidak termasuk dalam respon.

Informasi tentang elemen seleksi terkandung dalam`Block`objek tipe`SELECTION_ELEMENT`. Untuk menentukan status elemen yang dapat dipilih, gunakan`SelectionStatus`bidang`SELECTION_ELEMENT`blok. Status dapat berupa*TERPILIH*atau*NOT\$1SELECTED*. Misalnya, nilai`SelectionStatus`untuk gambar sebelumnya adalah*TERPILIH*.

SEBUAH`SELECTION_ELEMENT` `Block`objek terkait dengan pasangan nilai kunci atau sel tabel. SEBUAH`SELECTION_ELEMENT` `Block`objek berisi informasi kotak pembatas untuk elemen seleksi di`Geometry`Bidang. SEBUAH`SELECTION_ELEMENT` `Block`objek bukan anak`PAGE` `Block`objek.

## Data Formulir (Pasangan Nilai Kunci)
<a name="how-it-works-selectable-kvp"></a>

Pasangan kunci-nilai digunakan untuk mewakili elemen seleksi yang terdeteksi pada formulir. Parameter`KEY`blok berisi teks untuk elemen seleksi. Parameter`VALUE`blok berisi blok SELECTION\$1ELEMENT. Diagram berikut menunjukkan bagaimana elemen seleksi diwakili oleh[Block](API_Block.md)objek.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/textract/latest/dg/images/hieroglyph-key-value-set-selectable.png)


Untuk informasi selengkapnya tentang pasangan nilai kunci, lihat[Data Formulir (Pasangan Nilai Kunci)](how-it-works-kvp.md).

Cuplikan JSON berikut menunjukkan kunci untuk pasangan kunci-nilai yang berisi elemen seleksi (**Laki-Laki ☑**). ID anak (Id bd14cfd5-9005-498b-a7f3-45ceb171f0ff) adalah ID dari blok WORD yang berisi teks untuk elemen seleksi (*jantan*). ID nilai (Id 24aaac7f-fcce-49c7-a4f0-3688b05586d4) adalah ID`VALUE`blok yang berisi`SELECTION_ELEMENT`objek blok.

```
{
    "Relationships": [
        {
            "Type": "VALUE", 
            "Ids": [
                "24aaac7f-fcce-49c7-a4f0-3688b05586d4"  // Value containing Selection Element
            ]
        }, 
        {
            "Type": "CHILD", 
            "Ids": [
                "bd14cfd5-9005-498b-a7f3-45ceb171f0ff"  // WORD - male
            ]
        }
    ], 
    "Confidence": 94.15619659423828, 
    "Geometry": {
        "BoundingBox": {
            "Width": 0.022914813831448555, 
            "Top": 0.08072036504745483, 
            "Left": 0.18966935575008392, 
            "Height": 0.014860388822853565
        }, 
        "Polygon": [
            {
                "Y": 0.08072036504745483, 
                "X": 0.18966935575008392
            }, 
            {
                "Y": 0.08072036504745483, 
                "X": 0.21258416771888733
            }, 
            {
                "Y": 0.09558075666427612, 
                "X": 0.21258416771888733
            }, 
            {
                "Y": 0.09558075666427612, 
                "X": 0.18966935575008392
            }
        ]
    }, 
    "BlockType": "KEY_VALUE_SET", 
    "EntityTypes": [
        "KEY"
    ], 
    "Id": "a118dc43-d5f7-49a2-a20a-5f876d9ffd79"
}
```

Potongan JSON berikut adalah blok WORD untuk kata*Laki-laki*. Blok WORD juga memiliki blok LINE induk.

```
{
    "Geometry": {
        "BoundingBox": {
            "Width": 0.022464623674750328, 
            "Top": 0.07842985540628433, 
            "Left": 0.18863198161125183, 
            "Height": 0.01617223583161831
        }, 
        "Polygon": [
            {
                "Y": 0.07842985540628433, 
                "X": 0.18863198161125183
            }, 
            {
                "Y": 0.07842985540628433, 
                "X": 0.2110965996980667
            }, 
            {
                "Y": 0.09460209310054779, 
                "X": 0.2110965996980667
            }, 
            {
                "Y": 0.09460209310054779, 
                "X": 0.18863198161125183
            }
        ]
    }, 
    "Text": "Male", 
    "BlockType": "WORD", 
    "Confidence": 54.06439208984375, 
    "Id": "bd14cfd5-9005-498b-a7f3-45ceb171f0ff"
},
```

Blok VALUE memiliki anak (Id f2f5e8cd-e73a-4e99-a095-053acd3b6bfb) yang merupakan blok SELECTION\$1ELEMENT. 

```
{
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "f2f5e8cd-e73a-4e99-a095-053acd3b6bfb"  // Selection element
            ]
        }
    ], 
    "Confidence": 94.15619659423828, 
    "Geometry": {
        "BoundingBox": {
            "Width": 0.017281491309404373, 
            "Top": 0.07643391191959381, 
            "Left": 0.2271782010793686, 
            "Height": 0.026274094358086586
        }, 
        "Polygon": [
            {
                "Y": 0.07643391191959381, 
                "X": 0.2271782010793686
            }, 
            {
                "Y": 0.07643391191959381, 
                "X": 0.24445968866348267
            }, 
            {
                "Y": 0.10270800441503525, 
                "X": 0.24445968866348267
            }, 
            {
                "Y": 0.10270800441503525, 
                "X": 0.2271782010793686
            }
        ]
    }, 
    "BlockType": "KEY_VALUE_SET", 
    "EntityTypes": [
        "VALUE"
    ], 
    "Id": "24aaac7f-fcce-49c7-a4f0-3688b05586d4"
}, 
}
```

JSON berikut adalah blok SELECTION\$1ELEMENT. Nilai dari`SelectionStatus`menunjukkan bahwa kotak centang dipilih.

```
{
    "Geometry": {
        "BoundingBox": {
            "Width": 0.020316146314144135, 
            "Top": 0.07575977593660355, 
            "Left": 0.22590067982673645, 
            "Height": 0.027631107717752457
        }, 
        "Polygon": [
            {
                "Y": 0.07575977593660355, 
                "X": 0.22590067982673645
            }, 
            {
                "Y": 0.07575977593660355, 
                "X": 0.2462168186903
            }, 
            {
                "Y": 0.1033908873796463, 
                "X": 0.2462168186903
            }, 
            {
                "Y": 0.1033908873796463, 
                "X": 0.22590067982673645
            }
        ]
    }, 
    "BlockType": "SELECTION_ELEMENT", 
    "SelectionStatus": "SELECTED", 
    "Confidence": 74.14942932128906, 
    "Id": "f2f5e8cd-e73a-4e99-a095-053acd3b6bfb"
}
```

## Sel tabel
<a name="how-it-works-selectable-table"></a>

Amazon Textract dapat mendeteksi elemen seleksi di dalam sel tabel. Misalnya, sel-sel dalam tabel berikut memiliki kotak centang.


|  |  |  |  | 
| --- |--- |--- |--- |
|     |  **Setuju**  |  **Netral**  |  **Tidak Setuju**  | 
|  **Pelayanan yang Baik**  |  ☑  |  ☐  |  ☐  | 
|  **Mudah digunakan**  |  ☐  |  ☑  |  ☐  | 
|  **Harga yang adil**  |  ☑  |  ☐  |  ☐  | 

SEBUAH`CELL`blok dapat berisi anak`SELECTION_ELEMENT`objek untuk elemen seleksi, serta anak`WORD`blok untuk teks terdeteksi.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/textract/latest/dg/images/hieroglyph-table-cell-selectable.png)


Untuk informasi selengkapnya, lihat[Tabel](how-it-works-tables.md).

TABLE`Block`objek untuk tabel sebelumnya terlihat mirip dengan ini.

```
{
    "Geometry": {.....}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "652c09eb-8945-473d-b1be-fa03ac055928", 
                "37efc5cc-946d-42cd-aa04-e68e5ed4741d", 
                "4a44940a-435a-4c5c-8a6a-7fea341fa295", 
                "2de20014-9a3b-4e26-b453-0de755144b1a", 
                "8ed78aeb-5c9a-4980-b669-9e08b28671d2", 
                "1f8e1c68-2c97-47b2-847c-a19619c02ca9", 
                "9927e1d1-6018-4960-ac17-aadb0a94f4d9", 
                "68f0ed8b-a887-42a5-b618-f68b494a6034", 
                "fcba16e0-6bd7-4ea5-b86e-36e8330b68ea", 
                "2250357c-ae34-4ed9-86da-45dac5a5e903", 
                "c63ad40d-5a14-4646-a8df-2d4304213dbc",   // Cell
                "2b8417dc-e65f-4fcd-aa0f-61a23f1e8cb0", 
                "26c62932-72f0-4dc2-9893-1ae27829c060", 
                "27f291cc-abf4-4c23-aa24-676abe99cb1e", 
                "7e5ce028-1bcd-4d9f-ad42-15ac181c5b47", 
                "bf32e3d2-efa2-4fc1-b09b-ab9cc52ff734"
            ]
        }
    ], 
    "BlockType": "TABLE", 
    "Confidence": 99.99993896484375, 
    "Id": "f66eac36-2e74-406e-8032-14d1c14e0b86"
}
```

CEL`BLOCK`objek (Id c63ad40d-5a14-4646-a8df-2d4304213dbc) untuk sel yang berisi kotak centang*Pelayanan yang Baik*terlihat seperti berikut ini. Ini termasuk seorang anak`Block`(Id = 26d122fd-c5f4-4b53-92c4-0ae92730ee1e) itu adalah`SELECTION_ELEMENT` `Block`untuk kotak centang.

```
{
    "Geometry": {.....}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "26d122fd-c5f4-4b53-92c4-0ae92730ee1e"  // Selection Element
            ]
        }
    ], 
    "Confidence": 79.741689682006836, 
    "RowSpan": 1, 
    "RowIndex": 3, 
    "ColumnIndex": 3, 
    "ColumnSpan": 1, 
    "BlockType": "CELL", 
    "Id": "c63ad40d-5a14-4646-a8df-2d4304213dbc"
}
```

SELECTION\$1ELEMENT`Block`objek untuk kotak centang adalah sebagai berikut. Nilai dari`SelectionStatus`menunjukkan bahwa kotak centang dipilih.

```
{
    "Geometry": {.......}, 
    "BlockType": "SELECTION_ELEMENT", 
    "SelectionStatus": "SELECTED", 
    "Confidence": 88.79517364501953, 
    "Id": "26d122fd-c5f4-4b53-92c4-0ae92730ee1e"
}
```

# Faktur dan Respon Tanda Terima Objek
<a name="expensedocuments"></a>

Ketika Anda mengirimkan faktur atau tanda terima ke AnalyzeExpense API, ia mengembalikan serangkaian objek ExpenseDocuments. Setiap expenseDocument selanjutnya dipisahkan menjadi`LineItemGroups`dan`SummaryFields`. Sebagian besar faktur dan tanda terima berisi informasi seperti nama vendor, nomor tanda terima, tanggal penerimaan, atau jumlah total. AnalyzeExpense mengembalikan informasi ini di bawah`SummaryFields`. Tanda terima dan faktur juga berisi rincian tentang barang yang dibeli. AnalyzeExpense API mengembalikan informasi ini di bawah`LineItemGroups`. Parameter`ExpenseIndex`lapangan unik mengidentifikasi biaya, dan mengaitkan yang sesuai`SummaryFields`dan`LineItemGroups`terdeteksi dalam biaya itu.

Tingkat data yang paling terperinci dalam respons AnalyzeExpense terdiri dari`Type`,`ValueDetection`, dan`LabelDetection`(Opsional). Entitas individu adalah:
+ [Tipe](how-it-works-type.md): Mengacu pada jenis informasi apa yang terdeteksi pada tingkat tinggi.
+ [LabelDetection](how-it-works-labeldetection.md): Mengacu pada label nilai terkait dalam teks dokumen.`LabelDetection`adalah opsional dan hanya dikembalikan jika label ditulis.
+ [ValueDetection](how-it-works-valuedetection.md): Mengacu pada nilai label atau jenis dikembalikan.

AnalyzeExpense API juga mendeteksi`ITEM`,`QUANTITY`, dan`PRICE`dalam item baris sebagai bidang dinormalisasi. Jika ada teks lain dalam item baris pada gambar tanda terima seperti SKU atau deskripsi rinci, maka akan dimasukkan dalam JSON sebagai`EXPENSE_ROW`seperti yang ditunjukkan pada contoh di bawah ini:

```
               {
                                    "Type": {
                                        "Text": "EXPENSE_ROW",
                                        "Confidence": 99.95216369628906
                                    },
                                    "ValueDetection": {
                                        "Text": "Banana 5 $2.5",
                                        "Geometry": {
                                          …
                                        },
                                        "Confidence": 98.11214447021484
                                    }
```

Contoh di atas menunjukkan bagaimana AnalyzeExpense API mengembalikan seluruh baris pada tanda terima yang berisi informasi item baris tentang 5 pisang dijual seharga \$12.5. 

# Tipe
<a name="how-it-works-type"></a>

Berikut ini adalah contoh tipe standar atau normalisasi dari pasangan nilai kunci:

```
               {
                    "PageNumber": 1, 
                    "Type": {
                        "Text": "VENDOR_NAME", 
                        "Confidence": 70.0
                    }, 
                    "ValueDetection": {
                        "Geometry": { ... }, 
                        "Text": "AMAZON", 
                        "Confidence": 87.89806365966797
                    }
                }
```

Tanda terima tidak memiliki “Nama Penjual” secara eksplisit terdaftar. Namun, Analyze Expense API mengakui dokumen sebagai tanda terima dan mengkategorikan nilai “AMAZON” sebagai Type`VENDOR_NAME`. 

# LabelDetection
<a name="how-it-works-labeldetection"></a>

Berikut ini adalah contoh teks seperti yang ditunjukkan pada halaman dokumen pelanggan:

```
               {
                    "PageNumber": 1, 
                    "Type": {
                        "Text": "OTHER", 
                        "Confidence": 70.0
                    }, 
                    "LabelDetection": {
                        "Geometry": { ... }, 
                        "Text": "CASHIER", 
                        "Confidence": 88.19171142578125
                    }, 
                    "ValueDetection": {
                        "Geometry": { ... }, 
                        "Text": "Mina", 
                        "Confidence": 87.89806365966797
                    }
                }
```

Contoh dokumen berisi “CASHIER Mina”. Analyze Expense API mengekstrak apa adanya nilai dan mengembalikannya di bawah`LabelDetection`. Untuk nilai tersirat seperti “Nama Penjual”, di mana “kunci” tidak ditampilkan secara eksplisit dalam tanda terima,`LabelDetection`tidak akan disertakan dalam elemen AnalyzeExpense. Dalam kasus tersebut, AnalyzeExpense API tidak kembali`LabelDetection`. 

# ValueDetection
<a name="how-it-works-valuedetection"></a>

Berikut ini adalah contoh menunjukkan “nilai” dari pasangan nilai kunci.

```
               {
                    "PageNumber": 1, 
                    "Type": {
                        "Text": "OTHER", 
                        "Confidence": 70.0
                    }, 
                    "LabelDetection": {
                        "Geometry": { ... }, 
                        "Text": "CASHIER", 
                        "Confidence": 88.19171142578125
                    }, 
                    "ValueDetection": {
                        "Geometry": { ... }, 
                        "Text": "Mina", 
                        "Confidence": 87.89806365966797
                    }
                }
```

Dalam contoh, dokumen berisi “CASHIER Mina”. AnalyzeExpense API mendeteksi nilai Kasir sebagai Mina dan mengembalikannya di bawah`ValueDetection`. 

# Identitas Dokumentasi Respon Ob
<a name="identitydocumentfields"></a>

 Ketika Anda mengirimkan dokumen identitas ke AnalyzeID API, ia mengembalikan serangkaian`IdentityDocumentField`objek. Masing-masing benda-benda ini berisi`Type`, dan`Value`.`Type`mencatat bidang dinormalisasi yang Amazon Textract mendeteksi, dan`Value`mencatat teks yang terkait dengan bidang dinormalisasi. 

 Di bawah ini adalah contoh`IdentityDocumentField`, dipersingkat untuk singkatnya. 

```
{
    "DocumentMetadata": {
        "Pages": 1
    }, 
    "IdentityDocumentFields": [
        {
            "Type": {
                "Text": "first name"
            }, 
            "ValueDetection": {
                "Text": "jennifer", 
                "Confidence": 99.99908447265625
            }
        }, 
        {
            "Type": {
                "Text": "last name"
            }, 
            "ValueDetection": {
                "Text": "sample", 
                "Confidence": 99.99758911132812
            }
        },
```

 Ini adalah dua contoh IdentityDocumentFields dipotong dari respon yang lebih panjang. Ada pemisahan antara jenis terdeteksi dan nilai untuk jenis itu. Di sini, itu adalah nama pertama dan belakang masing-masing. Struktur ini berulang dengan semua informasi yang terkandung. Jika tipe tidak diakui sebagai bidang dinormalisasi, maka akan terdaftar sebagai “lainnya”. 

Berikut ini adalah daftar bidang dinormalisasi untuk SIM:
+  Nama Depan 
+  Nama belakang 
+  Nama Tengah 
+  akhiran 
+  alamat kota 
+  kode pos di alamat 
+  alamat 
+  county 
+  nomor dokumen 
+  Tanggal kedaluwarsa 
+  tanggal lahir 
+  nama negara 
+  tanggal penerbitan 
+  kelas 
+  pembatasan 
+  dukungan 
+  Tipe id 
+  kawakan 
+  menegur 

Berikut ini adalah daftar bidang dinormalisasi untuk Paspor AS:
+  Nama Depan 
+  Nama belakang 
+  Nama Tengah 
+  nomor dokumen 
+  Tanggal kedaluwarsa 
+  tanggal lahir 
+ tempat lahir
+  tanggal penerbitan 
+  Tipe id 

# Lokasi Item pada Halaman Dokumen
<a name="text-location"></a>

Operasi Amazon Textract Texact mengembalikan lokasi dan geometri item yang ditemukan di halaman dokumen.[DetectDocumentText](API_DetectDocumentText.md)dan[GetDocumentTextDetection](API_GetDocumentTextDetection.md)mengembalikan lokasi dan geometri untuk garis dan kata-kata, sementara[AnalyzeDocument](API_AnalyzeDocument.md)dan[GetDocumentAnalysis](API_GetDocumentAnalysis.md)mengembalikan lokasi dan geometri pasangan kunci-nilai, tabel, sel, dan elemen seleksi.

Untuk menentukan di mana item berada di halaman dokumen, gunakan kotak pembatas ([Geometry](API_Geometry.md)) informasi yang dikembalikan oleh operasi Amazon Textract Texact dalam[Block](API_Block.md)objek. Parameter`Geometry`objek berisi dua jenis lokasi dan informasi geometris untuk item terdeteksi:
+ Sumbu sejajar[BoundingBox](API_BoundingBox.md)objek yang berisi koordinat kiri atas dan lebar dan tinggi item.
+ Sebuah objek poligon yang menggambarkan garis besar item, ditentukan sebagai array[Point](API_Point.md)benda-benda yang mengandung`X`(sumbu horizontal) dan`Y`(sumbu vertikal) koordinat halaman dokumen setiap titik.

JSON untuk`Block`terlihat seperti berikut ini. Catatan`BoundingBox`dan`Polygon`bidang.

```
{
    "Geometry": {
        "BoundingBox": {
            "Width": 0.053907789289951324, 
            "Top": 0.08913730084896088, 
            "Left": 0.11085548996925354, 
            "Height": 0.013171200640499592
        }, 
        "Polygon": [
            {
                "Y": 0.08985357731580734, 
                "X": 0.11085548996925354
            }, 
            {
                "Y": 0.08913730084896088, 
                "X": 0.16447919607162476
            }, 
            {
                "Y": 0.10159222036600113, 
                "X": 0.16476328670978546
            }, 
            {
                "Y": 0.10230850428342819, 
                "X": 0.11113958805799484
            }
        ]
    }, 
    "Text": "Name:", 
    "TextType": "PRINTED",
    "BlockType": "WORD", 
    "Confidence": 99.56285858154297, 
    "Id": "c734fca6-c4c4-415c-b6c1-30f7510b72ee"
},
```

Anda dapat menggunakan informasi geometri untuk menggambar kotak pembatas di sekitar item yang terdeteksi. Untuk contoh yang menggunakan`BoundingBox`dan`Polygon`informasi untuk menggambar kotak di sekitar garis dan garis vertikal pada awal dan akhir setiap kata, lihat[Mendeteksi Teks Dokumen dengan Amazon Textract](detecting-document-text.md). Output contoh ini mirip dengan yang berikut ini.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/textract/latest/dg/images/janedoe.png)


## Kotak Pembatas
<a name="bounding-box"></a>

Sebuah kotak pembatas (`BoundingBox`) memiliki sifat sebagai berikut:
+ Tinggi — Tinggi kotak pembatas sebagai rasio tinggi halaman dokumen secara keseluruhan.
+ Kiri — Koordinat X titik kiri atas kotak pembatas sebagai rasio lebar halaman dokumen secara keseluruhan.
+ Atas — Koordinat Y dari titik kiri atas kotak pembatas sebagai rasio tinggi halaman dokumen secara keseluruhan.
+ Lebar — Lebar kotak pembatas sebagai rasio lebar halaman dokumen secara keseluruhan.

Setiap properti BoundingBox memiliki nilai antara 0 dan 1. Nilai adalah rasio lebar citra secara keseluruhan (berlaku untuk`Left`dan`Width`) atau tinggi (berlaku untuk`Height`dan`Top`). Misalnya, jika citra input berukuran 700 x 200 piksel, dan koordinat kiri atas kotak batas adalah (350,50) piksel, maka API mengembalikan a`Left`nilai 0,5 (350/700) dan`Top`nilai 0,25 (50/200). 

Diagram berikut menunjukkan kisaran halaman dokumen yang mencakup setiap properti BoundingBox.

![\[Diagram showing bounding box properties: Top, Left, Width, and Height within an image.\]](http://docs.aws.amazon.com/id_id/textract/latest/dg/images/bounding-box.png)


Untuk menampilkan kotak pembatas dengan lokasi dan ukuran yang benar, Anda harus mengalikan nilai-nilai BoundingBox dengan lebar halaman dokumen atau tinggi (tergantung pada nilai yang Anda inginkan) untuk mendapatkan nilai-nilai piksel. Anda menggunakan nilai-nilai piksel untuk menampilkan kotak pembatas. Contohnya adalah menggunakan halaman dokumen dengan lebar 608 piksel x tinggi 588 piksel, dan nilai kotak pembatas berikut untuk teks yang dianalisis: 

```
BoundingBox.Left: 0.3922065
BoundingBox.Top: 0.15567766
BoundingBox.Width: 0.284666
BoundingBox.Height: 0.2930403
```

Lokasi kotak pembatas teks dalam piksel dihitung sebagai berikut: 

`Left coordinate = BoundingBox.Left (0.3922065) * document page width (608) = 238`

`Top coordinate = BoundingBox.Top (0.15567766) * document page height (588) = 91`

`Bounding box width = BoundingBox.Width (0.284666) * document page width (608) = 173`

`Bounding box height = BoundingBox.Height (0.2930403) * document page height (588) = 172`

Anda menggunakan nilai-nilai ini untuk menampilkan kotak pembatas di sekitar teks yang dianalisis. Contoh Java dan Python berikut menunjukkan bagaimana menampilkan kotak pembatas.

------
#### [ Java ]

```
    public void ShowBoundingBox(int imageHeight, int imageWidth, BoundingBox box, Graphics2D g2d) {

        float left = imageWidth * box.getLeft();
        float top = imageHeight * box.getTop();

        // Display bounding box.
        g2d.setColor(new Color(0, 212, 0));
        g2d.drawRect(Math.round(left / scale), Math.round(top / scale),
                Math.round((imageWidth * box.getWidth()) / scale), Math.round((imageHeight * box.getHeight())) / scale);

    }
```

------
#### [ Python ]

Contoh Python ini mengambil di`response`dikembalikan oleh[DetectDocumentText](API_DetectDocumentText.md)Operasi API.

```
def process_text_detection(response):

    # Get the text blocks
    blocks = response['Blocks']
    width, height = image.size
    draw = ImageDraw.Draw(image)
    print('Detected Document Text')

    # Create image showing bounding box/polygon the detected lines/text
    for block in blocks:

        draw = ImageDraw.Draw(image)

        if block['BlockType'] == "LINE":
            box=block['Geometry']['BoundingBox']
            left = width * box['Left']
            top = height * box['Top']
            draw.rectangle([left,top, left + (width * box['Width']), top +(height * box['Height'])],outline='black')

    # Display the image
    image.show()

    return len(blocks)
```

------

## Polygon
<a name="polygon"></a>

Poligon yang dikembalikan oleh`AnalyzeDocument`adalah array[Point](API_Point.md)objek. Masing-masing`Point`memiliki koordinat X dan Y untuk lokasi tertentu pada halaman dokumen. Seperti koordinat BoundingBox, koordinat poligon dinormalisasi dengan lebar dan tinggi dokumen, dan antara 0 dan 1. 

Anda dapat menggunakan poin dalam array poligon untuk menampilkan kotak pembatas butir halus di sekitar`Block`objek. Anda menghitung posisi setiap titik poligon pada halaman dokumen dengan menggunakan teknik yang sama digunakan untuk`BoundingBoxes`. Kalikan koordinat X dengan lebar halaman dokumen, dan kalikan koordinat Y dengan tinggi halaman dokumen.

Contoh berikut menunjukkan cara menampilkan garis vertikal poligon.

```
    public void ShowPolygonVerticals(int imageHeight, int imageWidth, List <Point> points, Graphics2D g2d) {

        g2d.setColor(new Color(0, 212, 0));
        Object[] parry = points.toArray();
        g2d.setStroke(new BasicStroke(2));

        g2d.drawLine(Math.round(((Point) parry[0]).getX() * imageWidth),
                Math.round(((Point) parry[0]).getY() * imageHeight), Math.round(((Point) parry[3]).getX() * imageWidth),
                Math.round(((Point) parry[3]).getY() * imageHeight));

        g2d.setColor(new Color(255, 0, 0));
        g2d.drawLine(Math.round(((Point) parry[1]).getX() * imageWidth),
                Math.round(((Point) parry[1]).getY() * imageHeight), Math.round(((Point) parry[2]).getX() * imageWidth),
                Math.round(((Point) parry[2]).getY() * imageHeight));

    }
```