Libreria di parser PDF Python Open Source
Prova questa libreria Python gratuita e open source per analizzare, leggere ed estrarre testo, immagini, tabelle e altri contenuti dai documenti PDF.
Che cos'è PyMuPDF?
PyMuPDF, noto anche come Fitz, è una libreria Python open source che fornisce un set completo di strumenti per lavorare con file PDF. Con PyMuPDF, gli utenti possono eseguire in modo efficiente attività come l'apertura di PDF, l'estrazione di testo, immagini e tabelle, la manipolazione di proprietà di pagina come rotazione e ritaglio, la creazione di nuovi documenti PDF e la conversione di pagine PDF in immagini.
PyMuPDF supporta numerose funzionalità elencate di seguito:
- Lettura di documenti PDF: PyMuPDF può aprire e leggere documenti PDF, consentendoti di accedere al testo, alle immagini e agli altri contenuti in essi contenuti.
- Estrazione di testo: è possibile estrarre testo dai documenti PDF, inclusi contenuti di testo, caratteri e informazioni di layout.
- Estrazione delle immagini: è possibile estrarre immagini dai documenti PDF in vari formati, come JPEG o PNG.
- Estrazione di tabelle: è anche possibile estrarre tabelle dai documenti PDF.
In questa recensione, ci concentreremo principalmente sulle funzionalità di estrazione e analisi della libreria. Per una valutazione approfondita delle funzionalità di suddivisione, unione e gestione delle pagine, clicca qui.
Introduzione a PyMuPDF
Per installare e utilizzare PyMuPDF è necessaria la versione 3.8.0 o superiore di Python. Quindi, installa prima Python e poi usa i comandi sottostanti per installare PyMuPDF sul tuo computer usando pip e ambiente virtuale.
Linux
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
MacOS
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
Finestre
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
Estrarre testo da PDF
È possibile utilizzare la libreria PyMuPDF in Python per estrarre testo da un documento PDF ed eseguire analisi del testo, come il conteggio delle parole, semplicemente utilizzando le funzioni fornite nella libreria, come mostrato nel codice seguente:
Produzione
L'immagine sottostante mostra il testo estratto e il numero di parole nel file PDF:
Estrarre immagini da PDF
Possiamo usare la libreria PyMuPDF per estrarre immagini da un documento PDF in Python. Il frammento di codice seguente apre il file PDF specificato, estrae le immagini dal PDF e le salva nella directory di lavoro corrente:
Produzione
Di seguito è riportata l'immagine PNG estratta dal documento PDF
Estrarre tabelle da PDF
Possiamo anche usare la libreria PyMuPDF per elaborare un documento PDF ed estrarne le tabelle. Controlla il frammento di codice sottostante che apre il file PDF specificato ed estrae le tabelle dal documento PDF:
Produzione
La schermata seguente mostra la tabella estratta dal documento PDF:
Inserisci testo in PDF
Il frammento di codice Python seguente dimostra l'uso della libreria PyMuPDF per inserire testo in un file PDF e salvare il PDF modificato come text.pdf:
Produzione
Il testo inserito utilizzando il codice sopra riportato è evidenziato nella casella rossa riportata di seguito:
Riconoscimento del testo PDF tramite OCR con PyMuPDF
We will perform OCR on the PDF file containing the following image:Produzione
L'immagine sottostante mostra il testo estratto dall'immagine presente nel file PDF fornito:
Conclusione
In sintesi, PyMuPDF è uno strumento professionale con alcuni punti di forza e di debolezza evidenti. È ottimo per attività come OCR ed estrazione di testo, il che lo rende prezioso per la gestione del testo nei PDF.
Tuttavia, non è così efficace nell'estrarre tabelle dai PDF, specialmente quando i PDF hanno una struttura complessa o un numero maggiore di pagine, il che potrebbe rappresentare uno svantaggio per alcuni utenti. Inoltre, potrebbe richiedere librerie aggiuntive come Pandas e file di dati linguistici Tesseract OCR in determinate situazioni, aggiungendo complessità al suo utilizzo. Nonostante queste limitazioni, PyMuPDF rimane una scelta solida per lavorare con il testo nei PDF.