Extrator e processador de documentos PDF utilizando Docling
Project description
pdfplucker
Uma ferramenta completa para extração e processamento de documentos PDF.
Características
- Extração de texto, tabelas e imagens de documentos PDF
- Processamento em paralelo para alta performance
- Suporte para aceleração via CPU ou CUDA
- Interface de linha de comando simples e intuitiva
- Criação de estruturas de saída personalizáveis
Instalação
pip install pdf-processor
Ou diretamente do repositório:
bashgit clone https://github.com/yourusername/pdf-processor.git
cd pdf-processor
pip install -e .
Dependências
Este pacote requer as seguintes bibliotecas:
- docling
- PyMuPDF (fitz)
- PyPDF2
- Ainda preciso descobrir o resto das dependências
Uso
Linha de Comando
Processar todos os PDFs em um diretório:
pdf-processor /caminho/para/pdfs -o /caminho/de/saida -w 4
Processar um único arquivo PDF:
pdf-processor /caminho/para/arquivo.pdf --single-file
Usar aceleração CUDA:
pdf-processor /caminho/para/pdfs -d CUDA -w 4
Opções
usage: pdf-processor [-h] [-o OUTPUT] [-i IMAGES] [-s] [-w WORKERS] [-t TIMEOUT]
[-d {CPU,CUDA,cuda,cpu}] [--single-file]
source
Extrator de PDFs - Processador de documentos PDF
positional arguments:
source Caminho para os arquivos PDF (diretório ou arquivo único)
options:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT
Diretório para salvar os resultados (default: ./resultados)
-i IMAGES, --images IMAGES
Diretório para salvar as imagens extraídas (ignorado se
--separate-folders estiver ativado) (default: None)
-s, --separate-folders
Criar pastas separadas para cada PDF processado (default: False)
-w WORKERS, --workers WORKERS
Número de processos paralelos a serem usados (default: 4)
-t TIMEOUT, --timeout TIMEOUT
Tempo limite em segundos para processamento de cada PDF (default: 900)
-d {CPU, CUDA, AUTO}, --device {CPU, CUDA, AUTO}
Dispositivo para processamento (CPU, CUDA ou AUTO) (default: CPU)
--single-file
Processar apenas um arquivo em vez de usar paralelismo (default: False)
Exemplo de uso
python cli.py --source //storage6/usuarios/CGDTI/IpeaDataLab/projetos/ted_mdic/BrasilMaisProdutivo/pastas_pdfs/TDs --output D:/Users/B19943781742/Desktop/teste --separate-folders --workers 6 --timeout 720 --device CPU --markdown-also
Como Funciona
O PDF Processor extrai informações estruturadas de documentos PDF:
- Texto: Extrai o conteúdo textual, preservando a estrutura de seções e parágrafos
- Tabelas: Identifica e extrai tabelas, preservando sua estrutura em formato JSON
- Imagens: Extrai imagens contidas nos documentos PDF
Os resultados são salvos em formato JSON estruturado para facilitar o processamento posterior. Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
Project details
Release history Release notifications | RSS feed
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 pdfplucker-0.1.7.tar.gz.
File metadata
- Download URL: pdfplucker-0.1.7.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bdb2156fb0fde2389fdedf5f29808187ac1b657eb4b02570a035a242ed55e1a9
|
|
| MD5 |
90614f2e1ea7e756814c6022991b2c26
|
|
| BLAKE2b-256 |
613b9afd2f5eb5cc90717bee1f69006681ba3bfa8bb27bda263cf0b8cbd04bd7
|
Provenance
The following attestation bundles were made for pdfplucker-0.1.7.tar.gz:
Publisher:
release.yaml on rafaelghiorzi/pdfplucker
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pdfplucker-0.1.7.tar.gz -
Subject digest:
bdb2156fb0fde2389fdedf5f29808187ac1b657eb4b02570a035a242ed55e1a9 - Sigstore transparency entry: 194709340
- Sigstore integration time:
-
Permalink:
rafaelghiorzi/pdfplucker@082e91ee2e4f3ae3cf2c4b1404b26f6959cea826 -
Branch / Tag:
refs/tags/0.1.7 - Owner: https://github.com/rafaelghiorzi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@082e91ee2e4f3ae3cf2c4b1404b26f6959cea826 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pdfplucker-0.1.7-py3-none-any.whl.
File metadata
- Download URL: pdfplucker-0.1.7-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50ef1c6047185ee50e7777c7c3794bb6e0aba89cc68f60da1f5da13795c7a59e
|
|
| MD5 |
3de206f5ee545eb76aba1205daf8fd5e
|
|
| BLAKE2b-256 |
987e9da8a0e46608ebb30c1ed0c6e5930fe10ec11adad9ebfed4d2272cb97f05
|
Provenance
The following attestation bundles were made for pdfplucker-0.1.7-py3-none-any.whl:
Publisher:
release.yaml on rafaelghiorzi/pdfplucker
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pdfplucker-0.1.7-py3-none-any.whl -
Subject digest:
50ef1c6047185ee50e7777c7c3794bb6e0aba89cc68f60da1f5da13795c7a59e - Sigstore transparency entry: 194709343
- Sigstore integration time:
-
Permalink:
rafaelghiorzi/pdfplucker@082e91ee2e4f3ae3cf2c4b1404b26f6959cea826 -
Branch / Tag:
refs/tags/0.1.7 - Owner: https://github.com/rafaelghiorzi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@082e91ee2e4f3ae3cf2c4b1404b26f6959cea826 -
Trigger Event:
push
-
Statement type: