Un package Python pour convertir les PDF (ou URL PDF) en marquage lors de l'extraction d'images et de tables. MarkDrop facilite la convertir des documents PDF en format Markdown tout en préservant les images et les tables.
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 )Convertit un PDF ou son URL au format Markdown.
Paramètres:
source (STR): chemin vers la saisie du PDF ou de l'URLoutput_dir (Str): chemin de répertoire de sortieverbose (bool): activer la journalisation détailléeExtrait des images de PDF ou de son URL tout en maintenant la qualité.
Paramètres:
source (STR): chemin vers la saisie du PDF ou de l'URLoutput_dir (Str): chemin de répertoire de sortieverbose (bool): activer la journalisation détailléeDétecte et extrait les images des tables.
Paramètres:
pdf_path (STR): chemin vers la saisie du PDF ou de l'URLstart_page (int, facultatif): numéro de page de départend_page (int, facultatif): numéro de page finalthreshold (flotteur, facultatif): seuil de confiance de détectionoutput_dir (Str): chemin de répertoire de sortieGénère la description de l'image (s) basée sur une invite donnée et llm_client dans un CSV
llm clientspris en charge sont [«Qwen», «Gemini», «Openai», «Llama-Vision», «Molmo», «Pixtral»]
Paramètres:
input_path (str): chemin vers l'entrée pdf ou URLoutput_dir (Str): chemin de répertoire de sortieprompt (str): invite à être envoyé au modèle avec l'imagellm_client (liste): Liste contenant un modèle minimum à des clients LLMAnalyser différents types de références d'image dans un PDF à partir du fichier local ou de l'URL
Paramètres:
source (Str): chemin PDF local ou URL vers PDFoutput_dir (str): répertoire des fichiers temporairesverbose (bool): imprimer des informations détaillées Nous accueillons les contributions! Veuillez consulter nos directives contributives pour plus de détails.
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 Ce projet est autorisé en vertu de la licence MIT - voir le fichier de licence pour plus de détails.
Voir Changelog.md pour l'historique des versions.
Veuillez noter que ce projet suit notre code de conduite.