Parsing di un file PDF con Bash
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.