Parsing di un file PDF con Node.js

Effettuare il parsing di un file PDF in Node.js è un'operazione comune quando si desidera estrarre testo, metadati o altre informazioni dai documenti. In questo articolo vedremo come utilizzare il modulo pdf-parse, una libreria semplice ed efficace per l'estrazione del contenuto testuale dai PDF.

Installazione

Per cominciare, crea un nuovo progetto Node.js oppure usa uno esistente, quindi installa il pacchetto pdf-parse:

npm install pdf-parse

Codice di esempio

Il seguente script legge un file PDF dal filesystem e ne estrae il contenuto testuale:

const fs = require('fs');
const pdf = require('pdf-parse');

const dataBuffer = fs.readFileSync('documento.pdf');

pdf(dataBuffer).then(function(data) {
    console.log('Contenuto del PDF:');
    console.log(data.text);
}).catch(function(error) {
    console.error('Errore durante il parsing del PDF:', error);
});

Spiegazione

  • fs.readFileSync legge il contenuto binario del file PDF.
  • pdf() accetta un buffer e restituisce una Promise che contiene il testo e altri dati.
  • Nel blocco then, si accede a data.text, che contiene il testo estratto dal PDF.

Informazioni aggiuntive

Il pacchetto pdf-parse restituisce anche altri dettagli utili, come:

{
  numpages: 2,
  numrender: 2,
  info: {
    PDFFormatVersion: '1.3',
    IsAcroFormPresent: false,
    IsXFAPresent: false,
    Title: 'Titolo del documento',
    Author: 'Autore',
    CreationDate: 'D:20230717120000Z'
  },
  metadata: null,
  text: 'Testo estratto...'
}

Conclusione

Con pdf-parse, il parsing dei file PDF in Node.js è semplice e immediato. Per applicazioni più avanzate, potresti considerare librerie come pdfjs-dist o pdf-lib, che offrono maggiore controllo sulla struttura del documento.

Torna su