FormExtractor

Intelligent document processing

Extract evidence from any PDF or DOCX.

Built as an IDP, not a chat overlay. Native digital files skip OCR. OpenCV runs only when a page is rotated, skewed, or damaged. Output is formextractor.document-extraction.v1 — fields, text, and a typed status. Files never leave this browser.

Open the playground View the pipeline

Product references: Vyuh Document (embed, you keep the files) and Syncfusion Document SDK (viewer + extract playground).

Why this IDP

Same job as a document SDK extract path. Stricter about truth.

Native first

PDF text objects and OOXML paragraphs are evidence. OCR is not allowed to overwrite them.

OpenCV is optional

Auto mode treats rotate, skew, perspective, glare, and noise. Clean scans go straight to OCR.

You keep the files

This demo runs in your browser. No upload to our servers. SHA-256 stays on the record.

Live playground

Upload a PDF or DOCX. Read the extraction.

This playground runs in your browser on Cloudflare Pages. Typed PDFs use pdf.js. Word files use native OOXML (the same zip+XML path as local docx-native — not the Flutter vyuh_docx layout engine). Empty PDF pages run Tesseract.js from this origin. Local output/ scans were produced by Python RapidOCR 3.9.2, which cannot run on Pages. OpenCV pretreat is Python-only.

Document

Drop a PDF or DOCX here

Or pick a sample. Max 15 MB. No PHI.

Extraction

Cascade

Intake → native → optional OpenCV → OCR → JSON.

1. Intake

PDF or DOCX. Reject empty, encrypted, hostile zip.

2. Native

pdfplumber / OOXML. Digital files stop here.

3. Pretreat auto

OpenCV only for geometry or damage. Off by choice.

4. OCR / HTR

RapidOCR on scans. Handwriting scored on its own track.

Contract

Universal extraction record.

{
  "schema_version": "formextractor.document-extraction.v1",
  "status": "review_required",
  "document_type": "prescription",
  "fields": [{ "source_label": "Drug", "normalized_key": "drug_name", "value": "Amoxicillin" }]
}