JSON, LaTeX, screenshots, or scanned documents — DocForge turns any input into a watermarked, verified, production-ready PDF. Two engines, OCR ingestion, 7-check verification, all powered by Foxit APIs.
Try Live Demo arrow_downwardFour modes, two engines, one pipeline. Pick whichever fits your workflow.
No install required
Prepare your JSON
Create a JSON file with product_name, version, features,
fixes, and breaking_changes. Or use our example below.
Paste into the demo
Scroll to the Live Demo section. Switch between 4 modes: JSON, Image, or Scan input. Choose engine, watermark, and password.
Click Generate
Watch the 5-step pipeline progress, see verification results (7 checks), and step timings — all in real time.
Download verified PDF
A watermarked, flattened, verified PDF with full job metadata (SHA-256 hash, step durations). No data is stored.
For automation & GitHub Actions
Install & configure
Clone the repo, run make setup, and add your Foxit API keys to backend/.env.
Start the backend
Run make backend to start the FastAPI server. It
validates your credentials on startup.
Run the generate command
Verified PDF saved to disk
CLI prints output path, size, verification (7/7
checks), step timings, and SHA-256 hash. Use --open to view instantly. 3 GitHub Actions templates
included.
For research & engineering teams
Same JSON input
Use the exact same release JSON. No extra formatting needed — variables are auto-injected into a LaTeX template.
Select LaTeX engine
In the demo, choose LaTeX (tectonic) from the Engine dropdown. In CLI:
--engine latex.
Tectonic compiles PDF
A sandboxed tectonic build produces a typeset PDF with precise tables, headers/footers, and professional formatting.
Foxit post-processing
The PDF still passes through Foxit PDF Services API for watermarking, flattening, and optional password protection.
product_name — Product name
(e.g. "Acme Platform")version — Release version
(e.g. "2.4.0")release_date — ISO date
(defaults to today)summary — Release summary
paragraphfeatures[] — Array of
{title, description}fixes[] — Array of {id,
title, description}breaking_changes[] — Array
of {title, description, migration}links[] — Array of {label,
url}images[] — Array of {path,
caption, alt_text}attachments[] — Array of
{path, description}Missing optional fields gracefully show "None" in the output PDF.
New: images and attachments
support with security validation.
Four modes — all powered by Foxit PDF Services API for post-processing.
shield No data is stored. Files are processed in memory and discarded after output is generated.
Validate Input JSON
Waiting...
Generate PDF (Document Generation API)
Waiting...
Process PDF (PDF Services API)
Watermark → Flatten → Protect
Deliver Output
Waiting...
Both APIs are used meaningfully — not just "hello world" calls.
What we generate and why
We build a Word template programmatically using Foxit's token syntax
({{ product_name }}, {{TableStart:features}}),
merge it with the release JSON data, and receive a complete PDF with formatted tables for
features, bug fixes, breaking changes, and links.
What we do to the PDF and why
We post-process the generated PDF through 3 operations:
Complete input → output workflow.
Read & validate JSON
Template + JSON → PDF
or LaTeX (tectonic)
Watermark · Flatten · Lock
Download or save to disk
Get your first verified PDF in 4 commands.