Um pacote Python para converter PDFs (ou URLs em PDF) em marcação ao extrair imagens e tabelas. O MarkDrop facilita a conversão de documentos em PDF em formato de marcação, preservando imagens e tabelas.
pip install markdrop https://pypi.org/project/markdrop
from markdrop import extract_images , make_markdown , extract_tables_from_pdf
source_pdf = 'url/or/path/to/pdf/file' # Replace with your local PDF file path or a URL
output_dir = 'data/output' # Replace it with desired output directory's path
make_markdown ( source_pdf , output_dir )
extract_images ( source_pdf , output_dir , verbose = True )
extract_tables_from_pdf ( source_pdf , output_dir = output_dir ) from markdrop import setup_keys
### API Key Setup
### If using 'openai' or 'gemini' as llm_client in the generate_descriptions function, you need to set up the API keys first.
setup_keys () from markdrop import generate_descriptions
### Image Descriptions Generation
prompt = "Give textual highly detailed descriptions from this image ONLY, nothing else." # Replace it with your desired prompt
input_path = 'path/to/img_file/or/dir' # Replace it with the path to the images dir or image file
output_dir = 'data/output' # Replace it with the desired output directory's path
llm_clients = [ 'gemini' , 'llama-vision' ] # Replace it with the desired models from ['qwen', 'gemini', 'openai', 'llama-vision', 'molmo', 'pixtral'] only
generate_descriptions ( input_path = input_path , output_dir = output_dir , prompt = prompt , llm_client = llm_clients )Converte um PDF ou seu URL em formato de marcação.
Parâmetros:
source (STR): Caminho para entrar em PDF ou URLoutput_dir (STR): Caminho do diretório de saídaverbose (bool): Ativar registro detalhadoExtrai imagens do PDF ou seu URL, mantendo a qualidade.
Parâmetros:
source (STR): Caminho para entrar em PDF ou URLoutput_dir (STR): Caminho do diretório de saídaverbose (bool): Ativar registro detalhadoDetecta e extrai imagens de tabelas.
Parâmetros:
pdf_path (str): caminho para entrar em pdf ou urlstart_page (int, opcional): número da página inicialend_page (int, opcional): Número da página finalthreshold (flutuação, opcional): limiar de confiança de detecçãooutput_dir (STR): Caminho do diretório de saídaGera a descrição de imagem (s) com base no prompt fornecido e llm_client em um CSV
llm clientssuportados são ['Qwen', 'Gemini', 'OpenAi', 'Llama-Vision', 'Molmo', 'Pixtral']
Parâmetros:
input_path (str): caminho para entrar em pdf ou urloutput_dir (STR): Caminho do diretório de saídaprompt (STR): Prompt para ser enviado para modelar junto com a imagemllm_client (lista): lista contendo um modelo mínimo de clientes da LLMAnalisar diferentes tipos de referências de imagem em um pdf de arquivo ou URL local
Parâmetros:
source (STR): Caminho PDF local ou URL para PDFoutput_dir (str): diretório para arquivos temporáriosverbose (bool): Imprimir informações detalhadas Congratulamo -nos com contribuições! Consulte nossas diretrizes contribuintes para obter detalhes.
git clone https://github.com/shoryasethia/markdrop.git
cd markdrop python -m venv venv
source venv/bin/activate # On Windows: venvScriptsactivate pip install -r requirements.txt markdrop/
├── LICENSE
├── README.md
├── CONTRIBUTING.md
├── CHANGELOG.md
├── requirements.txt
├── setup.py
└── markdrop/
├── models/
| ├── .env
| ├── img_descriptions.py
| ├── logger.py
| ├── model_loader.py
| ├── responder.py
| └── setup_keys.py
├── __init__.py
├── main.py
├── utils.py
├── helper.py
└── ignore_warnings.py Este projeto está licenciado sob a licença do MIT - consulte o arquivo de licença para obter detalhes.
Veja Changelog.md para o histórico da versão.
Observe que este projeto segue nosso código de conduta.