Paket Python untuk mengonversi PDF (atau URL PDF) menjadi penurunan harga saat mengekstraksi gambar dan tabel. MarkDrop memudahkan untuk mengubah dokumen PDF menjadi format penurunan harga sambil melestarikan gambar dan tabel.
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 )Mengubah PDF atau URL ke format penurunan harga.
Parameter:
source (str): Path to Input PDF atau URLoutput_dir (str): jalur direktori outputverbose (bool): aktifkan logging terperinciMengekstrak gambar dari PDF atau URL -nya sambil mempertahankan kualitas.
Parameter:
source (str): Path to Input PDF atau URLoutput_dir (str): jalur direktori outputverbose (bool): aktifkan logging terperinciMendeteksi dan mengekstrak gambar tabel.
Parameter:
pdf_path (str): Path to Input PDF atau URLstart_page (int, opsional): Nomor halaman mulaiend_page (int, opsional): nomor halaman akhirthreshold (Float, Opsional): Deteksi Ambang batas Deteksioutput_dir (str): jalur direktori outputMenghasilkan deskripsi gambar berdasarkan prompt dan llm_client yang diberikan dalam CSV
llm clientsyang didukung adalah ['Qwen', 'Gemini', 'Openai', 'Llama-Vision', 'Molmo', 'Pixtral']
Parameter:
input_path (str): Path to Input PDF atau URLoutput_dir (str): jalur direktori outputprompt (str): prompt untuk dikirim ke model bersama dengan gambarllm_client (daftar): Daftar yang berisi model minimum satu dari klien LLMMenganalisis berbagai jenis referensi gambar dalam PDF dari file atau URL lokal
Parameter:
source (str): jalur PDF lokal atau URL ke PDFoutput_dir (str): Direktori untuk file sementaraverbose (bool): Cetak informasi terperinci Kami menyambut kontribusi! Silakan lihat Pedoman Kontribusi kami untuk detailnya.
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 Proyek ini dilisensikan di bawah lisensi MIT - lihat file lisensi untuk detailnya.
Lihat Changelog.md untuk riwayat versi.
Harap dicatat bahwa proyek ini mengikuti kode perilaku kami.