Script locali
PDF in Markdown con Python
Aggiornato il · Team di pdftomd.tools
Convertire un PDF in Markdown con Python significa scrivere uno script sul proprio computer. Questa guida mostra snippet testati per due librerie open source e uno strumento nel browser per i giorni in cui preferisci non installare nulla.

Niente Python a portata di mano? Lo strumento qui sotto fa la stessa conversione da PDF a Markdown, senza installazione. Rilascia un file con livello di testo e copia il risultato.
PDF di origine
Trascina qui un PDF o fai clic per sceglierlo
Solo PDF con testo. Le scansioni richiederebbero l’OCR, che questo strumento non esegue.
Anteprima Markdown
Qui comparirà il Markdown.
PDF in Markdown con Python: configurazione in quattro passaggi
Una pipeline locale, dall’installazione ai file di output.
01Crea l’ambiente
Crea un ambiente virtuale con python -m venv .venv e attivalo, così le librerie non finiscono nell’installazione di sistema.
Vedi gli snippet
02Installa una libreria
Esegui pip install pymupdf4llm per un output Markdown generale, oppure pip install pdfplumber se ti interessano soprattutto le tabelle.
Scegli una libreria
03Esegui lo script
Copia uno snippet di questa pagina in un file .py e puntalo al tuo documento. Ogni esecuzione scrive un file .md che puoi aprire.
Copia uno snippet
04Controlla l’output
Confronta il file .md con l’originale e togli intestazioni e piè di pagina vaganti prima che il testo venga elaborato altrove.
Confronta nel browser
Quale libreria Python per passare da PDF a Markdown?
Non esiste un’unica libreria migliore per convertire PDF in Markdown con Python; ognuna bilancia in modo diverso velocità, licenza e tabelle. pymupdf4llm si basa su PyMuPDF, legge il layout e scrive direttamente Markdown, titoli e tabelle con righe compresi. È quindi una scelta predefinita sensata per note e recupero. pdfplumber offre un accesso più fine a caratteri, linee e celle, e si adatta agli script che puntano soprattutto ai dati delle tabelle.
Sono entrambi progetti open source di terze parti, non prodotti di questo sito. Per pochi documenti, lo strumento nel browser di questa pagina fa un passaggio simile senza installazione. Per centinaia di file a orari programmati, uno script Python locale è la scelta migliore.
- pymupdf4llm: da PDF a Markdown con una chiamata
- pdfplumber: accesso preciso alle celle delle tabelle con righe
- Strumento nel browser: niente installazione, niente caricamenti
Limiti comuni a tutti gli approcci
Nessuna di queste opzioni legge le scansioni da sola: lo strumento nel browser non ha OCR, e le librerie sopra hanno bisogno di un passaggio OCR separato per le pagine fatte solo di immagini. Celle unite, tabelle ruotate e layout a due colonne sono difficili per ogni libreria Python e per il nostro strumento, quindi controlla le tabelle a mano. Nello strumento nel browser, le tabelle senza bordi richiedono almeno tre righe e la prima riga diventa sempre l’intestazione.

Snippet Python per convertire PDF in Markdown
Testati con pymupdf4llm 1.28 e pdfplumber 0.11. Copiane uno ed eseguilo in locale.
Un file con pymupdf4llm
Terze parti · AGPLVeloce e attento al layout: l’output mantiene titoli e tabelle con righe. PyMuPDF è sotto AGPL; verifica le condizioni prima di inserirlo in un prodotto chiuso.
# pip install pymupdf4llm
import pathlib
import pymupdf4llm
md = pymupdf4llm.to_markdown("report.pdf")
pathlib.Path("report.md").write_text(md, encoding="utf-8")
Tabelle con pdfplumber
Terze parti · MITIl migliore per le tabelle con righe. Di default trova solo tabelle con linee disegnate; le griglie senza bordi richiedono impostazioni dedicate. La funzione di supporto scrive ogni tabella come tabella con barre.
# pip install pdfplumber
import pdfplumber
def table_to_md(rows):
rows = [[(c or "").replace("|", "\\|").strip() for c in r] for r in rows]
head, body = rows[0], rows[1:]
lines = ["| " + " | ".join(head) + " |", "|" + " --- |" * len(head)]
lines += ["| " + " | ".join(r) + " |" for r in body]
return "\n".join(lines)
with pdfplumber.open("invoice.pdf") as pdf:
for page in pdf.pages:
for table in page.extract_tables():
print(table_to_md(table), end="\n\n")
Un’intera cartella con pymupdf4llm
Terze parti · AGPLUn ciclo: legge ogni file della cartella pdfs e scrive un file .md per ogni input.
# pip install pymupdf4llm
import pathlib
import pymupdf4llm
out = pathlib.Path("markdown")
out.mkdir(exist_ok=True)
for pdf in sorted(pathlib.Path("pdfs").glob("*.pdf")):
md = pymupdf4llm.to_markdown(str(pdf))
(out / f"{pdf.stem}.md").write_text(md, encoding="utf-8")
print("wrote", out / f"{pdf.stem}.md")
Dove ha senso uno script Python
Tre attività in cui conviene scrivere uno script.

Pipeline di recupero
Prima dell’indicizzazione, lancia uno script che converte ogni PDF in Markdown, dividi l’output ai titoli e salva ogni sezione.
Leggi la guida LLM
Analisi in un notebook
Estrai le tabelle con pdfplumber in un notebook, confronta le righe con l’originale e conserva l’output accanto alla tua analisi.
Vedi gli snippet
Estrazione di tabelle
Se contano soprattutto i numeri, la funzione di supporto qui sopra trasforma le tabelle con righe in tabelle con barre e puoi ignorare il testo corrente.
Prova lo strumento nel browser
Script o browser: i tuoi file restano in locale
Uno script locale non manda i tuoi file da nessuna parte, e nemmeno il nostro strumento nel browser: la conversione da PDF a Markdown gira con pdf.js nella pagina, e il file non raggiunge mai i nostri server.

Rendere di nuovo il Markdown in pagine
Dopo un passaggio con Python potresti aver bisogno di una versione stampabile. Lo strumento opposto rende il Markdown in pagine A4 nel browser.
Strumenti correlati
Altre pagine attorno al passaggio da PDF a Markdown.
Niente configurazione? Converti qui il PDF in Markdown
Rilascia un documento e copia testo pulito, oppure esegui gli snippet qui sopra sul tuo computer. Gratis e privato.
Converti un fileFonti
- pymupdf4llm to_markdown() reference — PDF4LLM docs
- PyMuPDF (AGPL-3.0) — GitHub
- pdfplumber (MIT) — GitHub
- pdf.js — Mozilla
Domande frequenti
Domande su opzioni Python, licenze e limiti.
Qual è il modo più semplice per convertire PDF in Markdown con Python?
pymupdf4llm: installalo con pip e chiama to_markdown su un file. Ottieni Markdown con titoli, elenchi e tabelle con righe.
Serve un account o una chiave?
No. Le librerie si installano con pip e funzionano offline, e lo strumento nel browser non richiede account. Per gli script usa una libreria Python locale.
pymupdf4llm e pdfplumber sono vostri?
No. Sono entrambi progetti open source di terze parti. pymupdf4llm e PyMuPDF sono sotto AGPL, pdfplumber sotto MIT.
Uno script Python può leggere le scansioni?
Non da solo. Le pagine fatte solo di immagini richiedono prima un passaggio OCR. Anche il nostro strumento nel browser non ha OCR e ti avvisa quando un file sembra scansionato.
Come mantengo le tabelle quando converto PDF in Markdown?
pymupdf4llm scrive le tabelle con righe come tabelle con barre; pdfplumber le trova e la funzione di supporto le converte. Le tabelle senza bordi richiedono regolazioni in entrambi i casi.
Lo strumento nel browser è uguale a queste librerie?
No. Usa pdf.js e regole di layout proprie, quindi l’output può essere diverso. Non richiede installazione ed è adatto a una manciata di file.
Uno script Python carica i miei file?
No. Gli script locali girano sul tuo computer, e lo strumento nel browser di questa pagina elabora i file senza caricarli.