Bounding boxes
In addition to being offered in product, we include bounding box references (when available) in the API response payload for workflow run outputs.
Importantly, these bounding boxes are not the same as traditional OCR and we do not make a guarantee that 100% of the time our system is able to detect and return bounding boxes for all extracted values. However, we are constantly improving our models and will continue to do so.
The default bounding box using heuristic based matches only supports the following field types:
date
fieldsstring
fieldssignature
fieldsarray
fields (on nested string fields)object
fields (on nested string fields)
If you have selected “Advanced bounding box” in the extraction settings in the Extend Studio, you will be able to use bounding boxes for all additional field types. These bounding boxes will have significantly higher coverage.
enum
fieldsnumber
fieldsboolean
fieldsnull
fields - If a field is declaratively null (e.g. an empty form input) this will be returned as a bounding box reference. If there is no declarative indication of null, bounding boxes will not be returned.
Right now bounding box references are only available for Extract
output fields, and are only supported for the following file/document types:
PDF
IMG
(jpeg, png, etc)
Schema
The shape of the bounding box reference is as follows:
How to use
How to use the bounding values in order to place a bounding box on a file, depends heavily on the file type. In general though, you will need to take the bounding box values we return and convert them to whatever coordinate system your rendering library uses or what you define if you are using a native Canvas element approach to drawing them over an image for instance.
The values we return in the BoundingBox type represent the pixel coordinates of the bounding box on the image or page. They indicate the top, bottom, left, and right extremities of the box. You may need to convert these values into a format suitable for your rendering library. If your rendering library uses a coordinate system based on percentages of the total image or page size, you would need to perform an additional conversion step.
For PDFs, here is an example of how to apply a transform to the value in order to be rendered using react-pdf-viewer
or a similar library: