PDFSight
PDF structure guide

AcroForm vs. flat or scanned PDF.

Two documents can look identical while behaving completely differently. An AcroForm contains named fields. A flat PDF contains page content without input controls. A scan may be only an image. That distinction decides what a filling workflow has to do next.

Field geometry in review PDFSight review interface showing field rectangles associated with a synthetic PDF form
Visible field rectangles become explicit document structure that application code can construct and fill.
The practical difference

What looks like a field is not always a field.

PDF appearance and PDF structure are separate layers. A line beneath “Name” can be a widget annotation, a vector line, part of an image, or a mixture of objects. Only the first case is already an interactive form field.

Document typeWhat is insideCan code list fields?Typical next step
AcroFormNamed fields, types, values, and widget rectanglesYesRead, map, fill, and render existing controls
Flat PDFText, vector lines, and page graphics without form controlsNo usable controlsIdentify expected inputs, create fields, then fill
Scanned PDFOne or more page images, sometimes with an OCR text layerNo usable controlsInterpret page images, review geometry, create fields, then fill
XFA or hybrid formXML-based form data, sometimes alongside AcroForm controlsViewer- and library-dependentInspect compatibility before choosing a processing path
A quick inspection

Ask the file what fields it contains.

A basic programmatic check is more reliable than clicking around the page. With pypdf, get_fields() reads the AcroForm field tree when one exists. An empty result does not mean the page has no form-like layout—it means the layout is not represented as usable AcroForm fields.

Python · pypdfRead-only inspection
from pypdf import PdfReader

reader = PdfReader("document.pdf")
fields = reader.get_fields() or {}

if fields:
    for name, field in fields.items():
        print(name, field.get("/FT"))
else:
    print("No AcroForm fields found")
A text layer is not a form layer.OCR can make words searchable while leaving the PDF completely non-interactive.
A clickable-looking box proves nothing.Visual rectangles and underlines may be ordinary page drawing commands.
Field names matter.Names connect document controls to application data and should be stable and distinct.
Coordinates matter too.The right value in the wrong rectangle still produces an unusable document.
Decision path

Choose the workflow from the document structure.

Inspect

Read the catalog and field tree. Check pages, rotation, and whether controls are actually present.

Use existing fields

If usable AcroForm controls exist, map values to those fields instead of reconstructing them visually.

Interpret missing structure

For flat or scanned pages, identify expected controls from the visible document and review the proposal.

Validate the result

Render and inspect the completed PDF, including field placement, appearance, and required values.

PDFSight’s boundary

The field schema connects interpretation to deterministic work.

When usable controls are absent, PDFSight uses visual interpretation to propose structure. That proposal becomes field names, types, pages, and rectangles. From there, the application—not the model—owns construction, state, filling, preview, and temporary artifact delivery.

Input

Page appearance

Text, lines, boxes, handwriting areas, and other visual clues.

Boundary

Reviewable schema

Explicit types and coordinates make the proposed interpretation inspectable.

Output

Constructed PDF controls

Deterministic code adds or fills the document structure and renders the result.

The schema is the handoff between probabilistic interpretation and deterministic document operations
Common questions

Useful distinctions before you automate.

Does selectable text mean a PDF is fillable?

No. Selectable text can come from native PDF text or OCR. Fillable controls are separate objects represented in an AcroForm field tree.

Can a scanned PDF become a real fillable PDF?

Yes, if fields are constructed at the correct page coordinates with suitable names and types. The page image remains the visual background while the new controls provide interaction.

Why not just place text over the page?

Annotation can solve a one-off editing task, but it does not necessarily create reusable, named form structure. A workflow that registers fields can keep collection and filling tied to an explicit schema.

Is automatic field detection always correct?

No. Scan quality and layout ambiguity matter. Treat detected structure as a proposal to review, then inspect the rendered result. PDFSight publishes current model evidence on /evals instead of making a universal accuracy claim.

Know what the file is asking of you.

Then choose the shortest honest path: fill existing fields, or construct the missing structure first.

See the guided workflow