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-utilsEstrazione del testo da un PDF
Per convertire un file PDF in testo semplice, usa il seguente comando:
pdftotext documento.pdf output.txtOppure, 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.