Spaces:
Sleeping
Sleeping
| title: pdfFormDetector | |
| emoji: 📄 | |
| colorFrom: blue | |
| colorTo: indigo | |
| sdk: gradio | |
| sdk_version: 6.13.0 | |
| app_file: app.py | |
| pinned: false | |
| license: mit | |
| # CommonForms — Form Field Detector | |
| Gradio Space que usa o modelo **FFDNet-L** (`jbarrow/FFDNet-L-cpu`) via o | |
| pacote oficial [`commonforms`](<https://pypi.org/project/commonforms/>) para | |
| converter PDFs em formulários preenchíveis, detectando: | |
| - text boxes | |
| - checkboxes (choice buttons) | |
| - signature fields (opcional) | |
| Paper: [CommonForms — arxiv 2509.16506](<https://arxiv.org/abs/2509.16506>) | |
| ## Arquivos | |
| | Arquivo | Propósito | | |
| |-------------------|----------------------------------------------------------------| | |
| | `app.py` | UI Gradio + endpoint `/detect` | | |
| | `requirements.txt`| `gradio==6.13.0` + `commonforms` | | |
| | `packages.txt` | `poppler-utils` (necessário pra `pdf2image`) | | |
| | `README.md` | Metadata do Space + docs | | |
| O pacote `commonforms` baixa o ONNX do FFDNet-L do HF Hub no primeiro uso. | |
| ## Endpoint | |
| ```python | |
| from gradio_client import Client, handle_file | |
| client = Client("luisabwk/pdfFormDetector") | |
| out_pdf = client.predict( | |
| pdf_path=handle_file("/caminho/input.pdf"), | |
| image_size=1600, | |
| use_signature_fields=False, | |
| keep_existing_fields=False, | |
| api_name="/detect", | |
| ) | |
| print(out_pdf) # path para o PDF preenchível | |
| ``` | |
| ## Parâmetros | |
| - **image_size** (512–2048, default 1600) — maior = mais preciso, mais lento. | |
| - **use_signature_fields** — detecta regiões de assinatura. | |
| - **keep_existing_fields** — preserva widgets AcroForm já presentes. | |