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.

Torna su