Un paquete Python para convertir PDF (o URL de PDF) para marcar mientras se extrae imágenes y tablas. MarkDrop facilita la convertir documentos PDF en formato de Markdown mientras preserva imágenes y tablas.
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 )Convierte un PDF o su URL en formato de Markdown.
Parámetros:
source (STR): ruta a entrada pdf o URLoutput_dir (str): ruta del directorio de salidaverbose (BOOL): Habilite el registro detalladoExtrae imágenes de PDF o su URL mientras mantiene la calidad.
Parámetros:
source (STR): ruta a entrada pdf o URLoutput_dir (str): ruta del directorio de salidaverbose (BOOL): Habilite el registro detalladoDetecta y extrae imágenes de tablas.
Parámetros:
pdf_path (STR): ruta a entrada PDF o URLstart_page (int, opcional): número de página inicialend_page (int, opcional): número de página finalthreshold (flotante, opcional): umbral de confianza de detecciónoutput_dir (str): ruta del directorio de salidaGenera la descripción de la (s) imagen (s) basada en la solicitud dada y llm_client en un CSV
llm clientsadmitidos son ['Qwen', 'Géminis', 'OpenAi', 'Llama-Vision', 'Molmo', 'Pixtral']
Parámetros:
input_path (str): ruta a entrada PDF o URLoutput_dir (str): ruta del directorio de salidaprompt (STR): solicitado que se enviará al modelo junto con la imagenllm_client (Lista): Lista que contiene un modelo mínimo de los clientes LLMAnalizar diferentes tipos de referencias de imágenes en un PDF del archivo local o URL
Parámetros:
source (STR): ruta local o URL local a PDFoutput_dir (str): directorio para archivos temporalesverbose (BOOL): Imprima información detallada ¡Agradecemos las contribuciones! Consulte nuestras pautas de contribución para más detalles.
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 proyecto tiene licencia bajo la licencia MIT; consulte el archivo de licencia para obtener más detalles.
Ver ChangeLog.md para el historial de versiones.
Tenga en cuenta que este proyecto sigue nuestro código de conducta.