Analizzare il contenuto di un file PDF direttamente da Bash può essere utile in vari contesti, come l’estrazione automatizzata di testi, la ricerca di parole chiave o la conversione in altri formati. In questo articolo vedremo come farlo usando strumenti da linea di comando disponibili su Linux.
Strumenti necessari
- pdftotext – Parte del pacchetto
poppler-utils
, consente di convertire un PDF in testo semplice. - grep, awk, sed – Utili per manipolare e filtrare il testo una volta estratto.
Installazione di pdftotext
Sulla maggior parte delle distribuzioni Linux, puoi installare pdftotext
con:
sudo apt update
sudo apt install poppler-utils
Estrazione del testo da un PDF
Per convertire un file PDF in testo semplice, usa il seguente comando:
pdftotext documento.pdf output.txt
Oppure, per stampare il contenuto direttamente su stdout:
pdftotext documento.pdf -
Esempio: estrarre righe contenenti una parola chiave
pdftotext documento.pdf - | grep "Fattura"
Parsing avanzato con awk
Supponiamo di voler estrarre una tabella con importi e date. Dopo la conversione, possiamo usare awk
:
pdftotext documento.pdf - | awk '/Data/ {print $0; getline; print $0}'
Considerazioni finali
Il parsing di file PDF da Bash è semplice quando i PDF sono basati su testo e ben formattati. Tuttavia, in caso di layout complessi o PDF basati su immagini (scansionati), potresti dover usare strumenti OCR come tesseract
.
Per flussi di lavoro automatizzati, combinare pdftotext
con gli strumenti standard della shell Unix è una soluzione potente e facilmente estendibile.