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.28996mAP, 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51969b96cb0eda5370b5babb240a3e256bcc9b052711c08acb590c736dc985b3
|
|
| MD5 |
78618101ee3ce7e6199ad32062e3e01d
|
|
| BLAKE2b-256 |
a70ef638c5986509e6752b314b5a80298a3a34510df980f697536f5986113267
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7185ed32aea00fc28dd1d12c4a71730c7223191dce4d629360acf784c490e084
|
|
| MD5 |
322961de17a8b53444aa182b888f6f43
|
|
| BLAKE2b-256 |
d1bac34d9e8218d5d49ef1492ad6b35d546c1d689d6eb1c2b612ffe5851d559f
|