Skip to main content

AcroMELD

Turns a flat PDF into a fillable form. Give it a PDF that looks like a form but has no form fields, and it finds every field and writes a real, clickable AcroForm.

acromeld input.pdf output.pdf

The first run downloads the model (158 MB) from Hugging Face and caches it. CPU is the default and works fine; a page takes a few seconds.

From Python:

from acromeld import prepare_form

prepare_form("input.pdf", "output.pdf")

Options

Argument Default Description
--weights download use a local weights file instead of the Hub
--device cpu torch device, e.g. cuda
--confidence TEXT CHOICE SIGNATURE calibrated override the per-class thresholds
--keep-existing-fields off keep form fields the PDF already has
--use-signature-fields off write real signature widgets
--multiline off allow multiline input in text fields

What it detects

Three field types — Text, Choice, Signature — plus a learned link that merges several visual candidates into one field instead of emitting duplicates. It reads two channels at once: the rendered page, and the PDF's own drawing primitives, which a purely visual detector ignores. 39.4M parameters, up to 896 fields per page.

How well it works

Measured once on a sealed holdout of 1,996 PDFs / 6,843 pages the model never saw during training, against a threshold registered before training started: containment micro-F1 0.84767 against a required 0.82904 — passed.

Read this before using it:

  • Signature detection does not work. At the calibrated threshold the model predicts essentially no signature fields. Text and Choice carry the entire score.
  • Under a stricter IoU/COCO adapter the same model reaches only 0.28996 mAP, below a locally evaluated CommonForms-L reference.
  • Measured on German-language forms. Other languages and layouts are untested.
  • Rotated pages are rejected rather than silently misplaced.
  • One sealed run, one seed. No stability claim.

This is a research artifact, not a product.

Licence

Apache-2.0. Vendored third-party components and their modifications are listed in THIRD-PARTY-NOTICES.md in the source distribution.

Download files

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

Source Distribution

acromeld-0.1.0.tar.gz (528.3 kB view details)

Uploaded Source

Built Distribution

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

acromeld-0.1.0-py3-none-any.whl (231.5 kB view details)

Uploaded Python 3

File details

Details for the file acromeld-0.1.0.tar.gz.

File metadata

  • Download URL: acromeld-0.1.0.tar.gz
  • Upload date:
  • Size: 528.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"CachyOS Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for acromeld-0.1.0.tar.gz
Algorithm Hash digest
SHA256 51969b96cb0eda5370b5babb240a3e256bcc9b052711c08acb590c736dc985b3
MD5 78618101ee3ce7e6199ad32062e3e01d
BLAKE2b-256 a70ef638c5986509e6752b314b5a80298a3a34510df980f697536f5986113267

See more details on using hashes here.

File details

Details for the file acromeld-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: acromeld-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 231.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"CachyOS Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for acromeld-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7185ed32aea00fc28dd1d12c4a71730c7223191dce4d629360acf784c490e084
MD5 322961de17a8b53444aa182b888f6f43
BLAKE2b-256 d1bac34d9e8218d5d49ef1492ad6b35d546c1d689d6eb1c2b612ffe5851d559f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

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