Skip to main content

Fill PDF forms locally and place each value precisely in a browser editor. Flat, AcroForm, and per-character (comb) fields. No cloud, no Adobe.

Project description

pdf-fill-studio

Fill any PDF on your machine, then drag every value into place.

pdf-fill-studio demo

pdf-fill-studio fills PDF forms locally and hands you a visual editor to fix the placement. It detects how a PDF is built and fills it the right way. The filled values show up over a browser preview of the real page. You drag them into the boxes, nudge with the arrow keys, and export. Nothing leaves your machine. The signature line stays empty so you sign it yourself.

Why

Most forms you actually have to fill have no form fields. The text is right, it just has to sit on the correct line, and getting there by typing coordinates is slow. The hosted tools that do this upload your document to a server, which you don't want for tax or insurance paperwork. This keeps everything local and gives you a real editor instead.

What it does today

  • Fills flat PDFs (no form fields) by overlaying text where it belongs, snapped to the line.
  • Per-character (comb) fields: one character centered per cell (postal codes, SINs, dates).
  • Browser editor: drag values over the rendered page, 1px nudges with the arrow keys, signature left blank.
  • AcroForm (native fields) fill, with profile autofill from a private JSON. A SIN or bank number is never stored.
  • Runs as a Claude Code skill. MIT licensed, and it never touches the network at runtime.

Profile

Copy profile.example.json to profile.json, fill in your own data, and pass it with --profile profile.json. The CLI fills every matched field automatically and prints what still needs manual input. Keep profile.json out of git (it is already in .gitignore by convention; add it if needed). A SIN, bank account, or card number in the profile file is silently skipped and never written to any PDF.

Roadmap

  • XFA dynamic forms, with an Adobe Reader fallback for the forms that defeat every headless library.

Install

With pip (gives the pdf-fill-studio command):

pip install pdf-fill-studio
pdf-fill-studio path/to/form.pdf

As a Claude Code plugin:

/plugin marketplace add KevinDoremy/pdf-fill-studio
/plugin install pdf-fill-studio@pdf-fill-studio

From source:

git clone https://github.com/KevinDoremy/pdf-fill-studio
cd pdf-fill-studio
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
pdf-fill-studio path/to/form.pdf

As an MCP server (optional)

Expose the fill tools over the Model Context Protocol:

pip install "pdf-fill-studio[mcp]"
pdf-fill-studio-mcp        # stdio MCP server: detect_pdf_type, list_fields, fill_acroform_fields, fill_flat_text

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pdf_fill_studio-0.3.1.tar.gz (509.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pdf_fill_studio-0.3.1-py3-none-any.whl (510.1 kB view details)

Uploaded Python 3

File details

Details for the file pdf_fill_studio-0.3.1.tar.gz.

File metadata

  • Download URL: pdf_fill_studio-0.3.1.tar.gz
  • Upload date:
  • Size: 509.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pdf_fill_studio-0.3.1.tar.gz
Algorithm Hash digest
SHA256 8c5ca0f97e1065bd0fad1940a0c3b0ea651f6c656113fbc98c9990c1b02595f1
MD5 05a4eea900f41b072a7fa709b62cf0c2
BLAKE2b-256 12a0bcb4ce768f71dd2545b19e269727d363b9ea9a57e22b3ec20cce47b25522

See more details on using hashes here.

Provenance

The following attestation bundles were made for pdf_fill_studio-0.3.1.tar.gz:

Publisher: release.yml on KevinDoremy/pdf-fill-studio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pdf_fill_studio-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: pdf_fill_studio-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 510.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pdf_fill_studio-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d9f38a33b7747f0f53e84a8f7bdf669c92b3e7561cb13f98ad3c7ec9a30c6b02
MD5 b3ff93b3102beee6a8cfe947cfef366c
BLAKE2b-256 ff0c460270bd8b23960fb28c9f0c6f80be784a87f6900ada14413acb440a84f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pdf_fill_studio-0.3.1-py3-none-any.whl:

Publisher: release.yml on KevinDoremy/pdf-fill-studio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page