

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Funktionsweise von Amazon Textract
<a name="how-it-works"></a>

Mit Amazon Textract können Sie Text in ein- oder mehrseitigen Eingabedokumenten erkennen und analysieren (siehe[Eingabe-Dokumente](how-it-works-documents.md)) enthalten. 

Amazon Textract bietet Vorgänge für die folgenden Aktionen.
+ Nur Text wird erkannt. Weitere Informationen finden Sie unter[Erkennen von Text](how-it-works-detecting.md)aus.
+ Erkennen und Analysieren von Beziehungen zwischen Text. Weitere Informationen finden Sie unter[Analysieren von Dokumenten](how-it-works-analyzing.md)aus.
+ Erkennen und Analysieren von Text in Rechnungen und Quittungen. Weitere Informationen finden Sie unter[Analysieren von Rechnungen und Belegen](invoices-receipts.md)aus.
+ Erkennen und Analysieren von Text in Regierungsausweisdokumenten. Weitere Informationen finden Sie unter[Analysieren von Ausweisdokumenten](how-it-works-identity.md)aus.

Amazon Textract bietet synchrone Vorgänge für die Verarbeitung kleiner, einseitiger Dokumente und nahezu Echtzeitantworten. Weitere Informationen finden Sie unter [Dokumente mit synchronen Operationen verarbeiten](sync.md) . Amazon Textract bietet auch asynchrone Vorgänge, mit denen Sie größere, mehrseitige Dokumente verarbeiten können. Asynchrone Antworten sind nicht in Echtzeit. Weitere Informationen finden Sie unter [Dokumente mit asynchronen Operationen verarbeiten](async.md) . 

Wenn ein Amazon Textract Textract-Vorgang ein Dokument verarbeitet, werden die Ergebnisse in einem Array von[Block](API_Block.md)-Objekte oder ein Array von[ExpenseDocument](API_ExpenseDocument.md)Objekte. Beide Objekte enthalten Informationen, die über Elemente erkannt werden, einschließlich ihrer Position im Dokument und ihrer Beziehung zu anderen Elementen im Dokument. Weitere Informationen finden Sie unter [Amazon Textract Antwortobjekte](how-it-works-document-response.md) . Für Beispiele, die zeigen, wie Sie verwenden`Block`objekte, siehe[Tutorials](examples-blocks.md)aus.

**Topics**
+ [Erkennen von Text](how-it-works-detecting.md)
+ [Analysieren von Dokumenten](how-it-works-analyzing.md)
+ [Analysieren von Rechnungen und Belegen](invoices-receipts.md)
+ [Analysieren von Ausweisdokumenten](how-it-works-identity.md)
+ [Eingabe-Dokumente](how-it-works-documents.md)
+ [Amazon Textract Antwortobjekte](how-it-works-document-response.md)
+ [Artikelspeicherort auf einer Dokumentseite](text-location.md)

# Erkennen von Text
<a name="how-it-works-detecting"></a>

Amazon Textract bietet synchrone und asynchrone Vorgänge, die nur den in einem Dokument erkannten Text zurückgeben. Für beide Operationsgruppen werden die folgenden Informationen in mehreren Fällen zurückgegeben[Block](API_Block.md)Objekte.
+ Die Zeilen und Wörter des erkannten Textes
+ Die Beziehungen zwischen den Zeilen und Wörtern des erkannten Textes
+ Die Seite, auf der der erkannte Text angezeigt wird
+ Die Position der Textzeilen und Wörter auf der Dokumentseite

Weitere Informationen finden Sie unter [Zeilen und Wörter des Textes](how-it-works-lines-words.md) .

Um Text synchron zu erkennen, verwenden Sie die[DetectDocumentText](API_DetectDocumentText.md)API-Betrieb, und übergeben Sie eine Dokumentdatei als Eingabe. Der gesamte Ergebnissatz wird von der Operation zurückgegeben. Weitere Informationen sowie ein Beispiel finden Sie unter [Dokumente mit synchronen Operationen verarbeiten](sync.md). 

**Anmerkung**  
Der Betrieb der Amazon Rekognition API`DetectText`ist anders als`DetectDocumentText`aus. Du benutzt`DetectText`um Text in Live-Szenen wie Poster oder Verkehrszeichen zu erkennen.

Um Text asynchron zu erkennen, verwenden Sie[StartDocumentTextDetection](API_StartDocumentTextDetection.md)um mit der Verarbeitung einer Eingabedokumentdatei zu beginnen. Rufen Sie an, um die Ergebnisse zu erhalten[GetDocumentTextDetection](API_GetDocumentTextDetection.md)aus. Die Ergebnisse werden in einer oder mehreren Antworten von`GetDocumentTextDetection`aus. Weitere Informationen sowie ein Beispiel finden Sie unter [Dokumente mit asynchronen Operationen verarbeiten](async.md). 

# Analysieren von Dokumenten
<a name="how-it-works-analyzing"></a>

Amazon Textract analysiert Dokumente und Formulare auf Beziehungen zwischen erkannten Texten. Amazon Textract Textract-Analysevorgänge geben 3 Kategorien der Dokumentextraktion zurück - Text, Formulare und Tabellen. Die Analyse von Rechnungen und Belegen wird durch einen anderen Prozess abgewickelt, weitere Informationen finden Sie unter[Analysieren von Rechnungen und Belegen](invoices-receipts.md)aus.

**Textextraktion**  
Der Rohtext, der aus einem Dokument extrahiert wurde. Weitere Informationen finden Sie unter[Textzeilen und Wörter](how-it-works-lines-words.md)aus.

**Extraktion von Formularen**  
Formulardaten sind mit Textelementen verknüpft, die aus einem Dokument extrahiert wurden. Amazon Textract stellt Formulardaten als Schlüssel-Wert-Paare dar. Im folgenden Beispiel ist eine der von Amazon Textract erkannten Textzeilen*Name: Jane Doe*aus. Amazon Textract identifiziert auch einen Schlüssel (*Name:*) und ein Wert (*Jane Doe*) enthalten. Weitere Informationen finden Sie unter[Formulardaten (Schlüssel-Wert-Paare)](how-it-works-kvp.md)aus.

*Name: Jane Doe*

*Adresse: 123 Any Street, Anytown, USA*

*Geburtsdatum: 12-26-1980*

Schlüssel-Wert-Paare werden auch verwendet, um Kontrollkästchen oder Optionsfelder (Optionsfelder) darzustellen, die aus Formularen extrahiert werden.

*Männlich:*☑

Weitere Informationen finden Sie unter[Auswahl-Elemente](how-it-works-selectables.md)aus.

**Extraktion von Tabellen**  
Amazon Textract kann Tabellen, Tabellenzellen und die Elemente in Tabellenzellen extrahieren und kann so programmiert sein, dass die Ergebnisse in einer JSON-, .csv- oder einer TXT-Datei zurückgegeben werden.


| Name | Adresse | 
| --- | --- | 
|  Ana Carolina  |  123 Jede Stadt  | 

Weitere Informationen finden Sie unter [Tabellen](how-it-works-tables.md). Selektionselemente können auch aus Tabellen extrahiert werden. Weitere Informationen finden Sie unter[Auswahl-Elemente](how-it-works-selectables.md)aus.

Für analysierte Artikel gibt Amazon Textract Folgendes in mehreren[Block](API_Block.md)Objekte:
+ Die Zeilen und Wörter des erkannten Textes
+ Der Inhalt der erkannten Elemente
+ Die Beziehung zwischen erkannten Elementen
+ Die Seite, auf der das Element erkannt wurde
+ Die Position des Elements auf der Dokumentseite

Sie können synchrone oder asynchrone Operationen verwenden, um Text in einem Dokument zu analysieren. Um Text synchron zu analysieren, verwenden Sie die[AnalyzeDocument](API_AnalyzeDocument.md)-Operation, und übergeben Sie ein Dokument als Eingabe.`AnalyzeDocument`gibt den gesamten Ergebnissatz zurück. Weitere Informationen finden Sie unter [Analysieren von Dokumenttext mit Amazon Textract](analyzing-document-text.md) . 

Um Text asynchron zu erkennen, verwenden Sie[StartDocumentAnalysis](API_StartDocumentAnalysis.md)um mit der Verarbeitung zu beginnen. Rufen Sie an, um die Ergebnisse zu erhalten[GetDocumentAnalysis](API_GetDocumentAnalysis.md)aus. Die Ergebnisse werden in einer oder mehreren Antworten von`GetDocumentAnalysis`aus. Weitere Informationen sowie ein Beispiel finden Sie unter [Erkennen oder Analysieren von Text in einem mehrseitigen Dokument](async-analyzing-with-sqs.md). 

Um anzugeben, welche Art von Analyse durchgeführt werden soll, können Sie die`FeatureTypes`listet Eingabeparameter auf. Fügen Sie der Liste TABLES hinzu, um Informationen über die im Eingabedokument erkannten Tabellen zurückzugeben, z. B. Tabellenzellen, Zelltext und Auswahlelemente in Zellen. Fügen Sie FORMS hinzu, um Wortbeziehungen wie Schlüssel-Wert-Paare und Auswahlelemente zurückzugeben. Um beide Analysetypen durchzuführen, fügen Sie sowohl TABLES als auch FORMS hinzu`FeatureTypes`aus. 

Alle Zeilen und Wörter, die im Dokument erkannt werden, sind in der Antwort enthalten (einschließlich Text, der nicht mit dem Wert von`FeatureTypes`) enthalten.

# Analysieren von Rechnungen und Belegen
<a name="invoices-receipts"></a>

Amazon Textract extrahiert relevante Daten wie Kontaktinformationen, gekaufte Artikel und den Namen des Lieferanten aus fast jeder Rechnung oder Quittung, ohne dass Vorlagen oder Konfigurationen erforderlich sind. Rechnungen und Belege verwenden häufig verschiedene Layouts, was es schwierig und zeitaufwändig macht, Daten in großem Maßstab manuell zu extrahieren. Amazon Textract verwendet ML, um den Kontext von Rechnungen und Belegen zu verstehen, und extrahiert automatisch Daten wie Rechnungs- oder Empfangsdatum, Rechnungs- oder Belegnummer, Artikelpreise, Gesamtbetrag und Zahlungsbedingungen, um Ihren Geschäftsanforderungen gerecht zu werden.

Amazon Textract identifiziert auch Anbieternamen, die für Ihre Workflows entscheidend sind, aber möglicherweise nicht explizit gekennzeichnet sind. Amazon Textract kann beispielsweise den Händlernamen auf einer Quittung finden, auch wenn er nur in einem Logo oben auf der Seite ohne explizite Schlüssel-Wert-Paarkombination angegeben ist. Amazon Textract macht es Ihnen auch leicht, Eingaben aus verschiedenen Belegen und Rechnungen zu konsolidieren, die unterschiedliche Wörter für dasselbe Konzept verwenden. Amazon Textract ordnet beispielsweise Beziehungen zwischen Feldnamen in verschiedenen Dokumenten wie Kundennummer, Kundennummer und Konto-ID ab und gibt Standardtaxonomie als`INVOICE_RECEIPT_ID`aus. In diesem Fall repräsentiert Amazon Textract Daten konsistent über verschiedene Dokumenttypen hinweg. Felder, die nicht mit der Standardtaxonomie übereinstimmen, werden kategorisiert als`OTHER`aus. 

Nachfolgend ist eine Liste der Standardfelder, die AnalyzeExpense derzeit unterstützt:
+ Anbieter-Name:`VENDOR_NAME`
+ Gesamt:`TOTAL`
+ Adresse des Empfängers:`RECEIVER_ADDRESS`
+ Rechnung/Zahlungsdatum:`INVOICE_RECEIPT_DATE`
+ Rechnung/Belegnummer:`INVOICE_RECEIPT_ID`
+ Zahlungsbedingungen:`PAYMENT_TERMS`
+ Zwischensumme:`SUBTOTAL`
+ Fälligkeitsdatum:`DUE_DATE`
+ Steuer:`TAX`
+ Rechnungssteuerzahler-ID (SSN/ITIN oder EIN):`TAX_PAYER_ID`
+ Elementname:`ITEM_NAME`
+ Preis des Artikels:`PRICE`
+ Artikelmenge:`QUANTITY`

Die AnalyzeExpense-API gibt die folgenden Elemente für eine bestimmte Dokumentseite zurück:
+ Die Anzahl der Belege oder Rechnungen innerhalb einer Seite, die als`ExpenseIndex`
+ Der standardisierte Name für einzelne Felder dargestellt als`Type`
+ Der tatsächliche Name des Feldes, wie es im Dokument angezeigt wird, dargestellt als`LabelDetection`
+ Der Wert des entsprechenden Feldes, dargestellt als`ValueDetection`
+ Die Anzahl der Seiten innerhalb des eingereichten Dokuments, dargestellt als`Pages`
+ Die Seitenzahl, unter der das Feld, der Wert oder die Einzelposten erkannt wurden, dargestellt als`PageNumber`
+ Die Geometrie, die den Begrenzungsrahmen und die Koordinatenposition des einzelnen Feldes, Werts oder der Einzelposten auf der Seite enthält, dargestellt als`Geometry`
+ Der Konfidenzwert, der mit jedem im Dokument erkannten Daten verknüpft ist, dargestellt als`Confidence`
+ Die gesamte Reihe der gekauften Einzelposten, dargestellt als`EXPENSE_ROW`

Das Folgende ist ein Teil der API-Ausgabe für einen von AnalyzeExpense verarbeiteten Beleg, der die Summe anzeigt: 55,64\$1 in dem als Standardfeld extrahierten Dokument`TOTAL`, tatsächlicher Text auf dem Dokument als „Gesamt“, Konfidenzwert von „97.1“, Seitenzahl „1“, Der Gesamtwert als „55,64\$1“ und der Begrenzungsrahmen- und Polygonkoordinaten: 

```
{
    "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
}
```

Sie können synchrone Vorgänge verwenden, um eine Rechnung oder einen Beleg zu analysieren. Um diese Dokumente zu analysieren, verwenden Sie den AnalyzeExpense-Vorgang und übergeben eine Quittung oder Rechnung an sie.`AnalyzeExpense`gibt den gesamten Ergebnissatz zurück. Weitere Informationen finden Sie unter [Rechnungen und Belege mit Amazon Textract analysieren](analyzing-document-expense.md) .

Um Rechnungen und Belege asynchron zu analysieren, verwenden Sie[StartExpenseAnalysis](API_StartExpenseAnalysis.md)um mit der Verarbeitung einer Eingabedokumentdatei zu beginnen. Rufen Sie an, um die Ergebnisse zu erhalten[GetExpenseAnalysis](API_GetExpenseAnalysis.md)aus. Die Ergebnisse für einen bestimmten Aufruf an[StartExpenseAnalysis](API_StartExpenseAnalysis.md)werden von zurückgegeben`GetExpenseAnalysis`aus. Weitere Informationen sowie ein Beispiel finden Sie unter [Dokumente mit asynchronen Operationen verarbeiten](async.md). 

# Analysieren von Ausweisdokumenten
<a name="how-it-works-identity"></a>

 Amazon Textract kann relevante Informationen aus Pässen, Führerscheinen und anderen Identitätsdokumenten extrahieren, die von der US-Regierung mit der AnalyeID-API ausgestellt wurden. Mit Analyze ID können Unternehmen schnell und genau Informationen aus IDs wie US-Führerscheinen, staatlichen IDs und Reisepässen extrahieren, die unterschiedliche Vorlagen oder Formate haben. Die AnalyeID-API gibt zwei Kategorien von Datentypen zurück: 
+  Schlüssel-Wert-Paare, die für ID verfügbar sind, wie Geburtsdatum, Ausstellungsdatum, ID \$1, Klasse und Einschränkungen. 
+  Implizierte Felder im Dokument, denen möglicherweise keine expliziten Schlüssel zugeordnet sind, wie Name, Adresse und Ausgestellt von. 

Schlüsselnamen sind innerhalb der Antwort standardisiert. Wenn Ihr Führerschein beispielsweise LIC \$1 (Lizenznummer) und Reisepass Nein angibt, gibt die Analyse-ID-Antwort den standardisierten Schlüssel zusammen mit dem Rohschlüssel (z. B. LIC\$1) als „Document ID“ zurück. Diese Standardisierung ermöglicht es Kunden, Informationen auf einfache Weise über viele IDs hinweg zu kombinieren, die unterschiedliche Begriffe für dasselbe Konzept verwenden.

![\[Beschreibender Text hier: Ein Scheinführerschein aus dem Bundesstaat Massachusetts. Der Name der Person, der die Lizenz besitzt, ist Maria Garcia. Das ISS-Feld hat einen Wert von 18.03.2018. Das Feld Nummer hat den Wert 736HDV7874JSB. Das Feld EXP hat den 20.01.2028. Das DOB-Feld hat den Wert von 18.03.2001. Das CLASS Feld hat den Wert D. Das REST-Feld ist NONE. Das Feld END ist NONE. Die Adresse auf der ID lautet 100 Market Street, Bigtown, MA, 02801. Das EYES-Feld ist BLK, das SEX-Feld ist F, das HGT-Feld ist 4-6", das DD-Feld ist 03.12.2019 und das REV-Feld ist 03.12.2017.\]](http://docs.aws.amazon.com/de_de/textract/latest/dg/images/textract-id-sample-1.png)


 Analyze ID gibt Informationen in den Strukturen zurück, die aufgerufen werden`IdentityDocumentFields`aus. Das sind`JSON`-Strukturen, die zwei Informationen enthalten: den normalisierten Typ und den mit dem Typ verknüpften Wert. Diese beiden haben auch einen Konfidenzwert. Weitere Informationen finden Sie unter [Antwortobjekte der Identitä](identitydocumentfields.md) . 

 Sie können synchrone Vorgänge verwenden, um einen Führerschein oder Reisepass zu analysieren. Um diese Dokumente zu analysieren, verwenden Sie die AnalyeID-Operation und übergeben ein Ausweisdokument an sie.`AnalyzeID`gibt den gesamten Ergebnissatz zurück. Weitere Informationen finden Sie unter [Analysieren der Identitätsdokumentation mit Amazon Textract](analyzing-document-identity.md) . 

**Anmerkung**  
 Einige Ausweisdokumente, wie Führerscheine, haben zwei Seiten. Sie können die Vorder- und Rückbilder von Treiberlizenzen als separate Images innerhalb derselben Analyse-ID-API-Anforderung übergeben. 

# Eingabe-Dokumente
<a name="how-it-works-documents"></a>

Eine geeignete Eingabe für eine Amazon Textract Textract-Operation ist ein einzelnes oder mehrseitiges Dokument. Einige Beispiele sind ein Rechtsdokument, ein Formular, ein Ausweis oder ein Brief. Ein Formular ist ein Dokument mit Fragen oder Aufforderungen für einen Benutzer, Antworten zu geben. Einige Beispiele sind ein Anmeldeformular für Patienten, ein Steuerformular oder ein Versicherungsanspruchsformular. 

Ein Dokument kann im JPEG-, PNG-, PDF- oder TIFF-Format vorliegen. Mit Dateien im PDF- und TIFF-Format können Sie mehrseitige Dokumente verarbeiten. Weitere Informationen darüber, wie Amazon Textract Dokumente darstellt als`Block`objekte, siehe[Antwortobjekte für Texterkennung und Dokumentanalyse](how-it-works-document-layout.md)aus.

Nachfolgend ist ein Beispiel für ein akzeptables Eingabedokument.

![\[Bild eines weißen Blattes Papier mit einer Überschrift Beschäftigungsantrag. In der nächsten Zeile heißt Anwendungsinformationen, der nächste vollständige Name: Jane Doe, die nächste Telefonnummer: 555-0100, die nächste Privatadresse: 123 Any Street, AnyTown USA, die nächste Postanschrift: wie oben. Darunter befindet sich eine Tabelle mit dem Titel Previous Employment History. Es hat fünf Spalten und vier Zeilen. Die Spaltentitel lauten Startdatum, Enddatum, Name des Arbeitgebers, Gesperrte Position und Grund für den Austritt. In der nächsten Zeile sind 15.01.2009, 30.6.2011, Any Company, Assistant Baker und Umzug aufgeführt. Der nächste 1.7.2011, 8.10.2013, Beispiel Corp. Baker, besser opp. Die nächste 15.08.2013, Present, AnyCompany, Chefbäcker und N/A, aktuell.\]](http://docs.aws.amazon.com/de_de/textract/latest/dg/images/Handwriting%20Sample%203.png)


Weitere Informationen zu den Limits von Dokumenten finden Sie unter[Hard Limits in Amazon Textract](limits.md)aus.

Für synchrone Operationen von Amazon Textract können Sie Eingabedokumente verwenden, die in einem Amazon S3 S3-Bucket gespeichert sind, oder Sie können base64-codierte Bildbytes übergeben. Weitere Informationen finden Sie unter [Aufrufen von Amazon Textract synchrone Operationen](sync-calling.md) . Für asynchrone Vorgänge müssen Sie Eingabedokumente in einem Amazon S3 S3-Bucket angeben. Weitere Informationen finden Sie unter [Asynchrone Operationen von Amazon Textract aufrufen](api-async.md) . 

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

Amazon Textract Textract-Operationen geben je nach ausgeführtem Vorgang verschiedene Objekttypen zurück. Zum Erkennen von Text und zum Analysieren eines generischen Dokuments gibt der Vorgang ein Block-Objekt zurück. Für die Analyse einer Rechnung oder eines Belegs gibt der Vorgang ein ExpenseDocuments -Objekt zurück. Für die Analyse der Identitätsdokumentation gibt der Vorgang ein IdentityDocumentFields -Objekt zurück. Weitere Informationen zu diesen Antwortobjekten finden Sie in folgenden Abschnitten:

**Topics**
+ [Antwortobjekte für Texterkennung und Dokumentanalyse](how-it-works-document-layout.md)
+ [Antwortobjekte auf Rechnung und Wareneingang](expensedocuments.md)
+ [Antwortobjekte der Identitä](identitydocumentfields.md)

# Antwortobjekte für Texterkennung und Dokumentanalyse
<a name="how-it-works-document-layout"></a>

Wenn Amazon Textract ein Dokument verarbeitet, erstellt es eine Liste von[Block](API_Block.md)Objekte für den erkannten oder analysierten Text. Jeder Block enthält Informationen über ein erkanntes Element, in dem er sich befindet, und das Vertrauen, das Amazon Textract in die Genauigkeit der Verarbeitung hat.

Ein Dokument besteht aus den folgenden Arten von`Block`Objekte.
+ [Seiten](how-it-works-pages.md)
+  [Textzeilen und Wörter](how-it-works-lines-words.md) 
+  [Formulardaten (Schlüssel-Wert-Paare)](how-it-works-kvp.md) 
+  [Tabellen und Zellen](how-it-works-tables.md) 
+ [Auswahl-Elemente](how-it-works-selectables.md)

Der Inhalt eines Blocks hängt von der Operation ab, die Sie aufrufen. Wenn Sie eine der Texterkennungsoperationen aufrufen, werden die Seiten, Zeilen und Wörter des erkannten Textes zurückgegeben. Weitere Informationen finden Sie unter [Erkennen von Text](how-it-works-detecting.md) . Wenn Sie einen der Dokumentanalysevorgänge aufrufen, werden Informationen über erkannte Seiten, Schlüssel-Wert-Paare, Tabellen, Auswahlelemente und Text zurückgegeben. Weitere Informationen finden Sie unter [Analysieren von Dokumenten](how-it-works-analyzing.md) .

Etwas`Block`Objektfelder sind beiden Verarbeitungsarten gemeinsam. Beispielsweise hat jeder Block einen eindeutigen Bezeichner.

Für Beispiele, die zeigen, wie Sie verwenden`Block`objekte, siehe[Tutorials](examples-blocks.md)aus.

## Dokument-Layout
<a name="hows-it-works-blocks-types.title"></a>

Amazon Textract gibt eine Darstellung eines Dokuments als Liste verschiedener Arten von`Block`Objekte, die in einer Eltern-zu-Kind-Beziehung oder einem Schlüssel-Wert-Paar verknüpft sind. Metadaten, die die Anzahl der Seiten in einem Dokument angeben, werden ebenfalls zurückgegeben. Nachfolgend ist der JSON für ein typisches`Block`Objekt des Typs`PAGE`aus.

```
{
    "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
    }
}
```

Ein Dokument wird aus einem oder mehreren`PAGE`blockiert. Jede Seite enthält eine Liste von untergeordneten Blöcken für die auf der Seite erkannten Hauptelemente, wie Textzeilen und Tabellen. Weitere Informationen finden Sie unter [Seiten](how-it-works-pages.md) . 

Sie können den Typ eines`Block`Objekt durch Inspizieren des`BlockType`field.

EIN`Block`object enthält eine Liste von verwandten`Block`Objekte im`Relationships`Feld, das ist ein Array von[Relationship](API_Relationship.md)Objekte. EIN`Relationships`array ist entweder vom Typ CHILD oder vom Typ VALUE. Ein Array vom Typ CHILD wird verwendet, um die Elemente aufzulisten, die untergeordnete Elemente des aktuellen Blocks sind. Beispiel: Wenn der aktuelle Block beispielsweise den Typ LINE hat,`Relationships`enthält eine Liste von IDs für die WORD-Blöcke, aus denen die Textzeile besteht. Um Schlüssel-Wert-Paare zu enthalten, wird ein Array vom Typ VALUE verwendet. Sie können den Typ der Beziehung bestimmen, indem Sie die`Type`field des`Relationship`-Objekt. 

Untergeordnete Blöcke haben keine Informationen über ihre übergeordneten Blockobjekte.

Für Beispiele, die zeigen`Block`Informationen finden Sie unter[Dokumente mit synchronen Operationen verarbeiten](sync.md)aus.

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

Bei Amazon Textract-Operationen gibt die prozentuale Sicherheit zurück, die Amazon Textract in die Genauigkeit des erkannten Artikels hat. Um das Vertrauen zu erlangen, benutze die`Confidence`field des`Block`-Objekt. Ein höherer Wert weist auf ein höheres Vertrauen hin. Je nach Szenario benötigen Erkennungen mit geringem Vertrauen möglicherweise eine visuelle Bestätigung durch einen Menschen.

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

Amazon Textract Textract-Vorgänge geben mit Ausnahme der Identitätsanalyse Standortinformationen über den Standort erkannter Artikel auf einer Dokumentseite zurück. Um den Standort zu erhalten, verwenden Sie den`Geometry`field des`Block`-Objekt. Weitere Informationen finden Sie unter[Artikelspeicherort auf einer Dokumentseite](text-location.md) 

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

Ein Dokument besteht aus einer oder mehreren Seiten. EIN[Block](API_Block.md)Objekt des Typs`PAGE`existiert für jede Seite des Dokuments. EIN`PAGE`block-Objekt enthält eine Liste der untergeordneten IDs für die Textzeilen, Schlüssel-Wert-Paare und Tabellen, die auf der Dokumentseite erkannt werden. 

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


Der JSON für einen`PAGE`Der Block sieht in etwa so aus.

```
{

    "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
},
```

Wenn Sie asynchrone Vorgänge mit einem mehrseitigen Dokument im PDF-Format verwenden, können Sie die Seite ermitteln, auf der sich ein Block befindet, indem Sie die`Page`field des`Block`-Objekt. Ein gescanntes Bild (ein Bild im JPEG-, PNG-, PDF- oder TIFF-Format) wird als einseitiges Dokument angesehen, auch wenn sich mehr als eine Dokumentseite auf dem Bild befindet. Asynchrone Operationen geben immer ein`Page`Wert 1 für gescannte Bilder.

Die Gesamtzahl der Seiten wird im`Pages`field von`DocumentMetadata`aus.`DocumentMetadata`wird mit jeder Liste von`Block`Objekte, die von einem Amazon Textract Textract-Vorgang zurückgegeben wurden.

# Zeilen und Wörter des Textes
<a name="how-it-works-lines-words"></a>

Entdeckter Text, der von Amazon Textract Textract-Vorgängen zurückgegeben wird, wird in einer Liste von[Block](API_Block.md)Objekte. Diese Objekte stellen Textzeilen oder Textwörter dar, die auf einer Dokumentseite erkannt werden. Der folgende Text zeigt zwei Textzeilen, die aus mehreren Wörtern bestehen.

Dies ist Text.

In zwei separaten Zeilen.

Entdeckter Text wird im`Text`field eines`Block`-Objekt. Die`BlockType`bestimmt, ob der Text eine Textzeile (LINE) oder ein Wort (WORD) ist. EIN*WORT*Es handelt sich um ein oder mehrere lateinische ISO-Basiszeichen, die nicht durch Leerzeichen getrennt sind. EIN*LINIE*ist eine Reihe von tabulatorgetrennten und zusammenhängenden Wörtern.

 Darüber hinaus wird Amazon Textract feststellen, ob ein Textabschnitt handgeschrieben oder gedruckt wurde`TextTypes`field. Diese werden als HANDSCHRIFT bzw. GEDRUCKT zurückgegeben. 

Der andere`Block`Eigenschaften sind allen Blocktypen gemeinsam, wie ID, Konfidenz und Geometrieinformationen. Weitere Informationen finden Sie unter [Antwortobjekte für Texterkennung und Dokumentanalyse](how-it-works-document-layout.md) . 

Um nur Zeilen und Wörter zu erkennen, können Sie[DetectDocumentText](API_DetectDocumentText.md)oder[StartDocumentTextDetection](API_StartDocumentTextDetection.md)aus. Weitere Informationen finden Sie unter [Erkennen von Text](how-it-works-detecting.md) . Um den erkannten Text (Zeilen und Wörter) und Informationen darüber zu erhalten, wie er sich auf andere Teile des Dokuments bezieht, z. B.[AnalyzeDocument](API_AnalyzeDocument.md)oder[StartDocumentAnalysis](API_StartDocumentAnalysis.md)aus. Weitere Informationen finden Sie unter [Analysieren von Dokumenten](how-it-works-analyzing.md) .

`PAGE`,`LINE`, und`WORD`Blöcke sind in einer Eltern-zu-Kind-Beziehung miteinander verwandt. EIN`PAGE`block ist das Elternteil für alle`LINE`blockiert Objekte auf einer Dokumentseite. Da eine LINIE ein oder mehrere Wörter haben kann,`Relationships`array für einen LINE-Block speichert die IDs für untergeordnete WORD-Blöcke, aus denen die Textzeile besteht. 

Das folgende Diagramm zeigt, wie die Linie*Hallo world.*im Text*Hallo world. Wie geht's dir?*wird vertreten durch`Block`Objekte. 

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




Nachfolgend ist die JSON-Ausgabe von`DetectDocumentText`wenn der Satz*Hallo world. Wie geht's dir?*wird erkannt. Das erste Beispiel ist der JSON für die Dokumentseite. Beachten Sie, wie die CHILD-IDs es Ihnen ermöglichen, durch das Dokument zu navigieren.

```
{
    "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"
},
```

Das Folgende ist der JSON für die LINE-Blöcke, aus denen die Zeile „Hello, World“ besteht: 

```
{
    "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"
},
```

Im Folgenden ist der JSON für den WORD-Block für das Wort*Hallo,*: 

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

Der letzte JSON ist der WORD-Block für das Wort*welt.*:

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

# Formulardaten (Schlüssel-Wert-Paare)
<a name="how-it-works-kvp"></a>

Amazon Textract kann Formulardaten aus Dokumenten als Schlüssel-Wert-Paare extrahieren. Beispielsweise kann Amazon Textract im folgenden Text einen Schlüssel (*Name:*) und ein Wert (*Ana Carolina*) enthalten.

Name: Ana Carolina

Erkannte Schlüssel-Wert-Paare werden als[Block](API_Block.md)Objekte in den Antworten von[AnalyzeDocument](API_AnalyzeDocument.md)und[GetDocumentAnalysis](API_GetDocumentAnalysis.md)aus. Sie können das`FeatureTypes`Input-Parameter zum Abrufen von Informationen über Schlüssel-Wert-Paare, Tabellen oder beides. Verwenden Sie nur für Schlüssel-Wert-Paare den Wert`FORMS`aus. Ein Beispiel finden Sie unter [Extrahieren von Schlüssel-Wert-Paaren aus einem Formulardokument](examples-extract-kvp.md). Für allgemeine Informationen, wie ein Dokument dargestellt wird`Block`objekte, siehe[Antwortobjekte für Texterkennung und Dokumentanalyse](how-it-works-document-layout.md)aus. 

Blockobjekte mit dem Typ KEY\$1VALUE\$1SET sind die Container für KEY- oder VALUE Block-Objekte, die Informationen zu verknüpften Textelementen speichern, die in einem Dokument erkannt wurden. Sie können das`EntityType`-Attribut, um festzustellen, ob ein Block ein KEY oder ein WERT ist. 
+ EIN*SCHLÜSSEL*Das -Objekt enthält Informationen über den Schlüssel für verknüpften Text. Beispiel,*Name:*aus. Ein KEY-Block hat zwei Beziehungslisten. Eine Beziehung vom Typ VALUE ist eine Liste, die die ID des VALUE-Blocks enthält, der mit dem Schlüssel verknüpft ist. Eine Beziehung vom Typ CHILD ist eine Liste von IDs für die WORD-Blöcke, aus denen der Text des Schlüssels besteht.
+ EIN*WERT*Das -Objekt enthält Informationen über den Text, der einem Schlüssel zugeordnet ist. Für das obige Beispiel gilt:*Ana Carolina*ist der -Wert für den Schlüssel*Name:*aus. Ein VALUE-Block hat eine Beziehung zu einer Liste von CHILD-Blöcken, die WORD-Blöcke identifizieren. Jeder WORD-Block enthält eines der Wörter, aus denen der Text des Wertes besteht. EIN`VALUE`Das -Objekt kann auch Informationen über ausgewählte Elemente enthalten. Weitere Informationen finden Sie unter [Auswahl-Elemente](how-it-works-selectables.md) .

Jede Instanz eines KEY\$1VALUE\$1SET`Block`object ist untergeordnet der PAGE`Block`Objekt, das der aktuellen Seite entspricht.

Das folgende Diagramm zeigt, wie das Schlüssel-Wert-Paar*Name: Ana Carolina*wird vertreten durch`Block`Objekte.

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


Die folgenden Beispiele zeigen, wie das Schlüssel-Wert-Paar*Name: Ana Carolina*wird durch JSON vertreten.

Der PAGE Block hat CHILD-Blöcke vom Typ`KEY_VALUE_SET`für jeden im Dokument erkannten KEY- und VALUE-Block. 

```
{
    "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
},
```

Der folgende JSON zeigt, dass der KEY-Block (52be1777-53f7-42f6-a7cf-6d09bdc15a30) eine Beziehung zum VALUE-Block (7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c) hat. Es hat auch einen CHILD-Block für den WORD-Block (c734fca6-c4c4-415c-b6c1-30f7510b72ee), der den Text für den Schlüssel (*Name:*) enthalten.

```
{
    "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
},
```

Der folgende JSON zeigt, dass VALUE Block 7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c eine CHILD-Liste von IDs für die WORD-Blöcke enthält, die den Text des Wertes ausmachen (*Ana*und*Carolina*) enthalten.

```
{
    "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
}
```

Der folgende JSON zeigt die`Block`Objekte für die Wörter*Name:*,*Ana*, und*Carolina*aus.

```
{
    "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"
},
```

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

Amazon Textract kann Tabellen und die Zellen in einer Tabelle extrahieren. Wenn beispielsweise die folgende Tabelle in einem Formular erkannt wird, erkennt Amazon Textract eine Tabelle mit vier Zellen. 


| Name | Adresse | 
| --- | --- | 
|  Ana Carolina  |  123 Any Town  | 

Erkannte Tabellen werden zurückgegeben als[Block](API_Block.md)Objekte in den Antworten von[AnalyzeDocument](API_AnalyzeDocument.md)und[GetDocumentAnalysis](API_GetDocumentAnalysis.md)aus. Sie können das`FeatureTypes`Input-Parameter zum Abrufen von Informationen über Schlüssel-Wert-Paare, Tabellen oder beides. Verwenden Sie nur für Tabellen den Wert`TABLES`aus. Ein Beispiel finden Sie unter [Exportieren von Tabellen in eine CSV-Datei](examples-export-table-csv.md). Für allgemeine Informationen, wie ein Dokument dargestellt wird`Block`objekte, siehe[Antwortobjekte für Texterkennung und Dokumentanalyse](how-it-works-document-layout.md)aus.

Das folgende Diagramm zeigt, wie eine einzelne Zelle in einer Tabelle durch`Block`Objekte.

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


Eine Zelle enthält`WORD`Blöcke für erkannte Wörter und`SELECTION_ELEMENT`Blöcke für Selektionselemente wie Kontrollkästchen. 

Das Folgende ist ein teilweiser JSON für die vorhergehende Tabelle, die vier Zellen enthält.

Das PAGE Block -Objekt verfügt über eine Liste von CHILD-Block-IDs für den TABLE-Block und jede erkannte Textzeile. 

```
{
    "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"
},
```

Der TABLE-Block enthält eine Liste von untergeordneten IDs für die Zellen in der Tabelle. Ein TABLE-Block enthält auch Geometrieinformationen für die Tabellenposition im Dokument. Der folgende JSON zeigt, dass die Tabelle vier Zellen enthält, die im`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"
},
```

Der Blocktyp für die Tabellenzellen ist CELL. Die`Block`-Objekt für jede Zelle enthält Informationen über die Zellenposition im Vergleich zu anderen Zellen in der Tabelle. Es enthält auch Geometrieinformationen für die Position der Zelle im Dokument. Für das obige Beispiel gilt:`505e9581-0d1c-42fb-a214-6ff736822e8c`ist die untergeordnete ID für die Zelle, die das Wort enthält*Name*aus. Das folgende Beispiel sind die Informationen für die Zelle. 

```
{
    "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"
},
```

Jede Zelle hat eine Position in einer Tabelle, wobei die erste Zelle 1,1 ist. Im vorherigen Beispiel wird die Zelle mit dem Wert*Name*befindet sich in Zeile 1, Spalte 1. Die Zelle mit dem Wert*123 Any Town*befindet sich in Zeile 2, Spalte 2. Ein Zellblockobjekt enthält diese Informationen im`RowIndex`und`ColumnIndex`unterscheiden sich nicht. Die untergeordnete Liste enthält die IDs für die WORD-Block-Objekte, die den Text enthalten, der sich innerhalb der Zelle befindet. Die Wörter in der Liste befinden sich in der Reihenfolge, in der sie erkannt werden, von oben links in der Zelle bis unten rechts in der Zelle. Im vorhergehenden Beispiel hat die Zelle eine untergeordnete ID mit dem Wert e9108c8e-0167-4482-989e-8b6cd3c3653e. Die folgende Ausgabe ist für den WORD-Block mit dem ID-Wert von e9108c8e-0167-4482-989e-8b6cd3c3653e: 

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

# Auswahl-Elemente
<a name="how-it-works-selectables"></a>

Amazon Textract kann Auswahlelemente wie Optionsfelder (Optionsfelder) und Kontrollkästchen auf einer Dokumentseite erkennen. Selektionselemente können in[Formular-Daten](how-it-works-kvp.md)und in[Tische](how-it-works-tables.md)aus. Wenn beispielsweise die folgende Tabelle in einem Formular erkannt wird, erkennt Amazon Textract die Kontrollkästchen in den Tabellenzellen.


|  |  |  |  | 
| --- |--- |--- |--- |
|     |  **Stimme zu**  |  **Neutral**  |  **Stimme nicht zu**  | 
|  **Guter Service**  |  ☑  |  ☐  |  ☐  | 
|  **Benutzerfreundlich**  |  ☐  |  ☑  |  ☐  | 
|  **Fairer Preis**  |  ☑  |  ☐  |  ☐  | 

Erkannte Auswahlelemente werden als zurückgegeben[Block](API_Block.md)Objekte in den Antworten von[AnalyzeDocument](API_AnalyzeDocument.md)und[GetDocumentAnalysis](API_GetDocumentAnalysis.md)aus.

**Anmerkung**  
Sie können das`FeatureTypes`Input-Parameter zum Abrufen von Informationen über Schlüssel-Wert-Paare, Tabellen oder beides. Wenn Sie beispielsweise nach Tabellen filtern, enthält die Antwort die Auswahlelemente, die in Tabellen erkannt werden. Selektionselemente, die in Schlüssel-Wert-Paaren erkannt werden, sind nicht in der Antwort enthalten.

Informationen über ein Selektionselement sind in einem`Block`Objekt des Typs`SELECTION_ELEMENT`aus. Um den Status eines wählbaren Elements zu ermitteln, verwenden Sie die`SelectionStatus`field des`SELECTION_ELEMENT`blockieren. Der Status kann entweder sein*AUSGEWÄHLT*oder*NICHT\$1SELECTED*aus. Beispielsweise würde der Wert von`SelectionStatus`für das vorherige Bild ist*AUSGEWÄHLT*aus.

EIN`SELECTION_ELEMENT` `Block`-Objekt ist entweder einem Schlüssel-Wert-Paar oder einer Tabellenzelle zugeordnet. EIN`SELECTION_ELEMENT` `Block`-Objekt enthält Informationen zum Begrenzungsrahmen für ein Auswahlelement im`Geometry`field. EIN`SELECTION_ELEMENT` `Block`object ist kein Kind eines`PAGE` `Block`-Objekt.

## Formulardaten (Schlüssel-Wert-Paare)
<a name="how-it-works-selectable-kvp"></a>

Ein Schlüssel-Wert-Paar wird verwendet, um ein Selektionselement darzustellen, das in einem Formular erkannt wird. Die`KEY`block enthält den Text für das Auswahlelement. Die`VALUE`block enthält den SELECTION\$1ELEMENT-Block. Das folgende Diagramm zeigt, wie Selektionselemente dargestellt werden[Block](API_Block.md)Objekte.

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


Weitere Informationen zu Schlüssel-Wert-Paaren finden Sie unter[Formulardaten (Schlüssel-Wert-Paare)](how-it-works-kvp.md)aus.

Das folgende JSON-Snippet zeigt den Schlüssel für ein Schlüssel-Wert-Paar, das ein Auswahlelement (**male ☑**) enthalten. Die untergeordnete ID (Id bd14cfd5-9005-498b-a7f3-45ceb171f0ff) ist die ID des WORD-Blocks, der den Text für das Auswahlelement enthält (*männlich*) enthalten. Die Wert-ID (Id 24aaac7f-fcce-49c7-a4f0-3688b05586d4) ist die ID des`VALUE`Block, der das enthält`SELECTION_ELEMENT`Block-Objekt.

```
{
    "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"
}
```

Das folgende JSON-Snippet ist der WORD-Block für das Wort*Männlich*aus. Der WORD-Block hat auch einen übergeordneten LINE-Block.

```
{
    "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"
},
```

Der VALUE-Block hat ein Kind (Id f2f5e8cd-e73a-4e99-a095-053acd3b6bfb), das der SELECTION\$1ELEMENT-Block ist. 

```
{
    "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"
}, 
}
```

Der folgende JSON ist der SELECTION\$1ELEMENT-Block. Der Wert von`SelectionStatus`Gibt an, dass das Kontrollkästchen aktiviert ist.

```
{
    "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"
}
```

## Tabellen-Zellen
<a name="how-it-works-selectable-table"></a>

Amazon Textract kann Selektionselemente in einer Tabellenzelle erkennen. Die Zellen in der folgenden Tabelle haben beispielsweise Kontrollkästchen.


|  |  |  |  | 
| --- |--- |--- |--- |
|     |  **Stimme zu**  |  **Neutral**  |  **Stimme nicht zu**  | 
|  **Guter Service**  |  ☑  |  ☐  |  ☐  | 
|  **Benutzerfreundlich**  |  ☐  |  ☑  |  ☐  | 
|  **Fairer Preis**  |  ☑  |  ☐  |  ☐  | 

EIN`CELL`block kann untergeordnete Elemente enthalten`SELECTION_ELEMENT`Objekte für Selektionselemente sowie untergeordnete Elemente`WORD`Blöcke für erkannten Text.

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


Weitere Informationen zu Tabellen finden Sie unter[Tabellen](how-it-works-tables.md)aus.

Der TABLE`Block`-Objekt für die vorherige Tabelle sieht ähnlich aus.

```
{
    "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"
}
```

Die ZELLE`BLOCK`Objekt (Id c63ad40d-5a14-4646-a8df-2d4304213dbc) für die Zelle, die das Kontrollkästchen enthält*Guter Service*Sieht wie folgt aus. Es beinhaltet ein Kind`Block`(Id = 26d122fd-c5f4-4b53-92c4-0ae92730ee1e) das ist der`SELECTION_ELEMENT` `Block`-Objekt für das Kontrollkästchen.

```
{
    "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"
}
```

Das SELECTION\$1ELEMENT`Block`-Objekt für das Kontrollkästchen lautet wie folgt. Der Wert von`SelectionStatus`Gibt an, dass das Kontrollkästchen aktiviert ist.

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

# Antwortobjekte auf Rechnung und Wareneingang
<a name="expensedocuments"></a>

Wenn Sie eine Rechnung oder eine Quittung an die AnalyzeExpense-API senden, wird eine Reihe von ExpenseDocuments -Objekten zurückgegeben. Jedes ExpenseDocument ist weiter unterteilt in`LineItemGroups`und`SummaryFields`aus. Die meisten Rechnungen und Belege enthalten Informationen wie den Kreditorennamen, die Belegnummer, das Wareneingangsdatum oder den Gesamtbetrag. AnalyzeExpense gibt diese Informationen zurück unter`SummaryFields`aus. Quittungen und Rechnungen enthalten auch Details zu den gekauften Artikeln. Die AnalyzeExpense-API gibt diese Informationen unter`LineItemGroups`aus. Die`ExpenseIndex`identifiziert eindeutig die Kosten und assoziiert die entsprechenden`SummaryFields`und`LineItemGroups`in diesen Kosten festgestellt.

Die detaillierteste Datenebene in der AnalyzeExpense-Antwort besteht aus`Type`,`ValueDetection`, und`LabelDetection`(Optional). Die einzelnen Entitäten sind:
+ [Typ](how-it-works-type.md): Bezieht sich darauf, welche Art von Informationen auf hohem Niveau erkannt werden.
+ [LabelDetection](how-it-works-labeldetection.md): Bezieht sich auf die Bezeichnung eines zugehörigen Wertes im Text des Dokuments.`LabelDetection`ist optional und wird nur zurückgegeben, wenn das Etikett geschrieben wurde.
+ [valueDetection](how-it-works-valuedetection.md): Bezieht sich auf den Wert des zurückgegebenen Labels oder Typs.

Die AnalyzeExpense-API erkennt auch`ITEM`,`QUANTITY`, und`PRICE`innerhalb von Einzelposten als normalisierte Felder. Wenn sich auf dem Belegbild einen anderen Text in einem Einzelposten befindet, wie z. B. SKU oder detaillierte Beschreibung, wird dieser als`EXPENSE_ROW`wie im folgenden Beispiel gezeigt:

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

Das obige Beispiel zeigt, wie die AnalyzeExpense-API die gesamte Zeile auf einer Quittung zurückgibt, die Informationen zu Einzelposten über 5 Bananen enthält, die für 2,5 USD verkauft werden. 

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

Nachfolgend ist ein Beispiel für den Standard- oder Normtyp des Schlüssel-Wert-Paares:

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

Auf der Quittung wurde „Händlername“ nicht explizit aufgeführt. Die API „Kosten analysieren“ erkannte das Dokument jedoch als Quittung und kategorisierte den Wert „AMAZON“ als Typ`VENDOR_NAME`aus. 

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

Es folgt ein Beispiel für Text, wie er auf einer Kundendokumentseite angezeigt wird:

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

Das Beispieldokument enthielt „KASSIERER Mina“. Die API „Kosten analysieren“ hat den Ist-Wert extrahiert und unter`LabelDetection`aus. Bei implizierten Werten wie „Händlername“, bei denen der „Schlüssel“ nicht explizit in der Quittung angezeigt wird,`LabelDetection`wird nicht in das AnalyzeExpense-Element aufgenommen. In solchen Fällen wird die AnalyzeExpense-API nicht zurückgegeben`LabelDetection`aus. 

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

Im Folgenden ist ein Beispiel, der den „Wert“ des Schlüssel-Wert-Paares zeigt.

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

Im Beispiel enthielt das Dokument „KASSIERER Mina“. Die AnalyzeExpense-API erkannte den Kassiererwert als Mina und gab ihn unter`ValueDetection`aus. 

# Antwortobjekte der Identitä
<a name="identitydocumentfields"></a>

 Wenn Sie ein Ausweisdokument an die AnalyeID-API einreichen, wird eine Reihe von`IdentityDocumentField`Objekte. Jedes dieser Objekte enthält`Type`, und`Value`aus.`Type`zeichnet das normalisierte Feld auf, das Amazon Textract erkennt, und`Value`zeichnet den Text auf, der mit dem normalisierten Feld verknüpft ist. 

 Nachfolgend finden Sie ein Beispiel für`IdentityDocumentField`, der Kürze halber verkürzt. 

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

 Dies sind zwei Beispiele für IdentityDocumentFields, die von einer längeren Antwort abgeschnitten wurden. Es besteht eine Trennung zwischen dem erkannten Typ und dem Wert für diesen Typ. Hier ist es der Vor- und Nachname. Diese Struktur wiederholt sich mit allen enthaltenen Informationen. Wenn ein Typ nicht als normalisiertes Feld erkannt wird, wird er als „anderer“ aufgeführt. 

Im Folgenden finden Sie eine Liste der normalisierten Felder für Führerscheine:
+  Vorname 
+  Nachname 
+  zweiter Vorname 
+  Suffix 
+  Stadt in Adresse 
+  Postleitzahl in Adresse 
+  Status in Adresse 
+  Bezirk 
+  Nummer des Dokuments 
+  Ablaufdatum 
+  Geburtsdatum 
+  Name des Staates 
+  Datum der Ausgabe 
+  class 
+  Einschränkungen 
+  Befürwortungen 
+  ID-Typ 
+  Veteran 
+  address 

Es folgt eine Liste der normalisierten Felder für US-Pässe:
+  Vorname 
+  Nachname 
+  zweiter Vorname 
+  Nummer des Dokuments 
+  Ablaufdatum 
+  Geburtsdatum 
+ Geburtsort
+  Datum der Ausgabe 
+  ID-Typ 

# Artikelspeicherort auf einer Dokumentseite
<a name="text-location"></a>

Amazon Textract Textract-Operationen geben den Speicherort und die Geometrie der Elemente zurück, die auf einer Dokumentseite gefunden wurden.[DetectDocumentText](API_DetectDocumentText.md)und[GetDocumentTextDetection](API_GetDocumentTextDetection.md)geben Sie die Position und Geometrie für Linien und Wörter zurück, während[AnalyzeDocument](API_AnalyzeDocument.md)und[GetDocumentAnalysis](API_GetDocumentAnalysis.md)Gibt die Position und Geometrie von Schlüssel-Wert-Paaren, Tabellen, Zellen und Selektionselementen zurück.

Um zu ermitteln, wo sich ein Element auf einer Dokumentseite befindet, verwenden Sie den Begrenzungsrahmen ([Geometry](API_Geometry.md)) Informationen, die von der Amazon Textract Textract-Operation in einem[Block](API_Block.md)-Objekt. Die`Geometry`Das -Objekt enthält zwei Arten von Standorten und geometrischen Informationen für erkannte Elemente:
+ Eine Achse ausgerichtet[BoundingBox](API_BoundingBox.md)Das -Objekt, das die linke obere Koordinate sowie die Breite und Höhe des Elements enthält.
+ Ein Polygonobjekt, das den Umriss des Elements beschreibt, angegeben als Array von[Point](API_Point.md)Objekte, die enthalten`X`(horizontale Achse) und`Y`(vertikale Achse) Dokumentseitenkoordinaten jedes Punktes.

Der JSON für einen`Block`Das -Objekt sieht folgendermaßen aus. Beachten Sie das`BoundingBox`und`Polygon`unterscheiden sich nicht.

```
{
    "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"
},
```

Sie können Geometrieinformationen verwenden, um Begrenzungsrahmen um erkannte Elemente zu zeichnen. Für ein Beispiel, das`BoundingBox`und`Polygon`Informationen zum Zeichnen von Feldern um Linien und vertikale Linien am Anfang und Ende jedes Wortes finden Sie unter[Erkennen von Dokumenttext mit Amazon Textract](detecting-document-text.md)aus. Die Beispielausgabe ähnelt der folgenden.

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


## Bounding Box
<a name="bounding-box"></a>

Ein Begrenzungsrahmen (`BoundingBox`) hat folgende Eigenschaften:
+ Höhe — Die Höhe des Begrenzungsrahmens als Verhältnis der Gesamtseitenhöhe des Dokuments.
+ Links — Die X-Koordinate des oberen linken Punktes des Begrenzungsrahmens als Verhältnis der Gesamtseitenbreite des Dokuments.
+ Oben — Die Y-Koordinate des oberen linken Punktes des Begrenzungsrahmens als Verhältnis der Gesamtseitenhöhe des Dokuments.
+ Breite — Die Breite des Begrenzungsrahmens als Verhältnis der Gesamtseitenbreite des Dokuments.

Jede BoundingBox-Eigenschaft hat einen Wert zwischen 0 und 1. Der Wert ist ein Verhältnis der gesamten Bildbreite (gilt für`Left`und`Width`) oder Höhe (gilt für`Height`und`Top`) enthalten. Beispiel: Bei einem Eingangsbild mit 700 x 200 Pixeln und einer linken oberen Koordinate des Begrenzungsrahmens (350,50) Pixeln gibt die API eine`Left`Wert von 0,5 (350/700) und a`Top`Wert von 0,25 (50/200). 

Das folgende Diagramm zeigt den Bereich einer Dokumentseite, die jede BoundingBox-Eigenschaft abdeckt.

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


Um den Begrenzungsrahmen mit der richtigen Position und Größe anzuzeigen, müssen Sie die BoundingBox-Werte mit der Breite oder Höhe der Dokumentseite (abhängig vom gewünschten Wert) multiplizieren, um die Pixelwerte zu erhalten. Sie verwenden die Pixelwerte, um den Begrenzungsrahmen anzuzeigen. Ein Beispiel ist die Verwendung einer Dokumentseite mit 608 Pixel Breite x 588 Pixel Höhe und die folgenden Begrenzungsrahmenwerte für analysierten Text: 

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

Die Position des Text-Begrenzungsrahmens in Pixeln wird wie folgt berechnet: 

`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`

Mit diesen Werten können Sie einen Begrenzungsrahmen um den analysierten Text herum anzeigen. Die folgenden Beispiele für Java und Python zeigen, wie ein Begrenzungsrahmen angezeigt wird.

------
#### [ 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 ]

In diesem Python-Beispiel wird das`response`den von zurückgegebenen[DetectDocumentText](API_DetectDocumentText.md)API-Operation.

```
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>

Das Polygon wurde zurückgegeben von`AnalyzeDocument`ist eine Reihe von[Point](API_Point.md)Objekte. EACH`Point`hat eine X- und Y-Koordinate für einen bestimmten Speicherort auf der Dokumentseite. Wie die BoundingBox-Koordinaten werden die Polygonkoordinaten auf die Breite und Höhe des Dokuments normalisiert und liegen zwischen 0 und 1. 

Sie können Punkte im Polygon-Array verwenden, um einen feinkörnigen Begrenzungsrahmen um ein`Block`-Objekt. Sie berechnen die Position jedes Polygonpunkts auf der Dokumentseite mit der gleichen Technik, die für`BoundingBoxes`aus. Multiplizieren Sie die X-Koordinate mit der Seitenbreite des Dokuments und multiplizieren Sie die Y-Koordinate mit der Seitenhöhe des Dokuments.

Das folgende Beispiel zeigt, wie die vertikalen Linien eines Polygons angezeigt werden.

```
    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));

    }
```