Ein Python -Paket zum Konvertieren von PDFs (oder PDF -URLs) in Markdown beim Extrahieren von Bildern und Tabellen. Mit Markdrop können PDF -Dokumente in das Markdown -Format konvertiert werden und gleichzeitig Bilder und Tabellen erhalten.
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 )Konvertiert ein PDF oder seine URL in Markdown -Format.
Parameter:
source (STR): Pfad zur Eingabe von PDF oder URLoutput_dir (str): Ausgabeverzeichnispfadverbose (bool): detaillierte Protokollierung aktivierenExtrahiert Bilder aus PDF oder der URL und beibehalten Sie die Qualität.
Parameter:
source (STR): Pfad zur Eingabe von PDF oder URLoutput_dir (str): Ausgabeverzeichnispfadverbose (bool): detaillierte Protokollierung aktivierenErkennt und extrahiert Tabellenbilder.
Parameter:
pdf_path (STR): Pfad zur Eingabe von PDF oder URLstart_page (int, optional): Startseitennummerend_page (int, optional): Endseitennummerthreshold (float, optional): Erkennungsvertrauensschwelleoutput_dir (str): AusgabeverzeichnispfadGeneriert die Beschreibung der Bild (en) basierend auf der angegebenen Eingabeaufforderung und llm_client in einem CSV
llm clientsunterstützt ['Qwen', 'Gemini', 'Openai', 'Lama-Vision', 'Molmo', 'Pixtral']
Parameter:
input_path (STR): Pfad zur Eingabe von PDF oder URLoutput_dir (str): Ausgabeverzeichnispfadprompt (STR): Aufforderung, zusammen mit dem Bild an das Modell gesendet zu werdenllm_client (Liste): Liste mit mindestens einem Modell von LLM -Clients mit minimalem ModellAnalysieren Sie verschiedene Arten von Bildreferenzen in einem PDF aus der lokalen Datei oder der URL
Parameter:
source (STR): Lokaler PDF -Pfad oder URL zu PDFoutput_dir (str): Verzeichnis für temporäre Dateienverbose (bool): detaillierte Informationen drucken Wir begrüßen Beiträge! Weitere Informationen finden Sie in unseren beitragenden Richtlinien.
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 Dieses Projekt ist unter der MIT -Lizenz lizenziert - Einzelheiten finden Sie in der Lizenzdatei.
Siehe ChangeLog.md für die Versionsgeschichte.
Bitte beachten Sie, dass dieses Projekt unserem Verhaltenskodex folgt.