Field types & schema

What the detected field schema looks like.

Every conversion returns a schema array. Each field has a stable name, a type, the page it sits on (0-indexed), and its bounding box.

{
  "name": "applicant_legal_name",
  "type": "text",
  "page": 0,
  "rect": [72, 118, 384, 134],
  "multiline": false,
  "label": "Full legal name"
}
PropertyTypeDescription
namestringSnake_case field name derived from the form's label. Unique per document.
typestringtext or checkbox (text covers single-line, multi-line, date, and signature lines).
pagenumberZero-indexed page the field is on.
rectnumber[][x0, y0, x1, y1] in PDF points, top-left origin.
multilinebooleanTrue for multi-row write areas.
labelstringThe nearby label/caption used to name the field.

Field detection

The engine recognizes blanks drawn as typed underscores, drawn vector lines, thin rectangles, and scanned underlines (pixels with no PDF object). It also splits shared lines into columns (e.g. First / Middle / Last become three fields) and keeps boxes off table borders.

Confidence

The conversion returns an average confidence (0–1). Use it to route low-confidence documents to human review.