Annotation Content

Replace annotation content by OCR

Changed on

Replace annotation content by OCR extracted from the rectangle of the document page.

When the rectangle size is unsuitable for OCR (any rectangle side is smaller than 4 px), rectangle is extended to cover the text that overlaps with the rectangle.

post/api/v1/annotations/{annotationID}/content/{nodeID}/select

Request

Path parameters

annotationIDinteger required

Annotation ID

nodeIDinteger required

ID of the child node

Request body

rectanglenumber[] required

Bounding box of an occurrence (left, top, right, bottom)

pagestring uri required

URL of the page of the occurrence

Response

OK

Example response

{
  "content": [
    {
      "id": 197466,
      "url": "https://example.rossum.app/api/v1/annotations/319668/content/197466",
      "schema_id": "invoice_info_section",
      "children": [
        {
          "id": 27801933,
          "url": "https://example.rossum.app/api/v1/annotations/319668/content/27801933",
          "schema_id": "some_id",
          "children": [
            {
              "id": 27801933,
              "url": "https://example.rossum.app/api/v1/annotations/319668/content/27801933",
              "schema_id": "some_id",
              "children": [
                {
                  "id": 27801933,
                  "url": "https://example.rossum.app/api/v1/annotations/319668/content/27801933",
                  "schema_id": "some_id",
                  "content": {
                    "value": "8/12/24",
                    "normalized_value": "12-08-2024",
                    "page": 1,
                    "position": [
                      202.3,
                      100.1,
                      110.442,
                      110
                    ],
                    "rir_text": "8/12/24",
                    "rir_raw_text": "8/I2/24",
                    "rir_page": 1,
                    "rir_position": [
                      202.3,
                      100.1,
                      110.442,
                      110
                    ],
                    "rir_confidence": 0.954233451,
                    "connector_text": "8/I2/24",
                    "connector_position": [
                      200,
                      100,
                      110,
                      110
                    ],
                    "ocr_text": null,
                    "ocr_raw_text": null,
                    "ocr_position": null
                  },
                  "validation_sources": [
                    "score"
                  ]
                }
              ]
            }
          ],
          "grid": {
            "parts": [
              {
                "page": 1,
                "columns": [
                  {
                    "left_position": 12.1,
                    "schema_id": "item_description",
                    "header_texts": [
                      "Item description"
                    ]
                  }
                ],
                "rows": [
                  {
                    "top_position": 112.29,
                    "tuple_id": 1,
                    "type": "data"
                  }
                ],
                "width": 123.2,
                "height": 513.2
              }
            ]
          }
        }
      ]
    }
  ]
}

Changes

    • breaking

      the / response's property type changed from object to no type for status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • info

      added subschema #2 to the / response property allOf list for the response status