Effettuare il parsing di un file PDF in Java è un'operazione utile quando si desidera estrarre testo o metadati da documenti PDF. Una delle librerie più utilizzate per questo scopo è Apache PDFBox. In questo articolo vedremo come configurare il progetto e leggere il contenuto di un PDF in pochi semplici passaggi.
Aggiunta della dipendenza Maven
Per utilizzare Apache PDFBox, è necessario aggiungere la relativa dipendenza al file pom.xml
del progetto Maven:
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.30</version>
</dependency>
Codice Java per leggere un file PDF
Una volta aggiunta la dipendenza, possiamo scrivere il codice per leggere e stampare il contenuto testuale di un PDF:
import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
public class PdfParser {
public static void main(String[] args) {
File file = new File("documento.pdf");
try (PDDocument document = PDDocument.load(file)) {
if (!document.isEncrypted()) {
PDFTextStripper stripper = new PDFTextStripper();
String text = stripper.getText(document);
System.out.println(text);
} else {
System.out.println("Il file è criptato e non può essere letto.");
}
} catch (IOException e) {
System.err.println("Errore durante la lettura del PDF: " + e.getMessage());
}
}
}
Considerazioni
Apache PDFBox è una soluzione robusta per il parsing di file PDF. Supporta anche la lettura dei metadati, l'estrazione delle immagini e la modifica dei documenti. Tuttavia, per documenti complessi o generati male, l'output potrebbe non essere sempre perfettamente strutturato.
Conclusione
Con poche righe di codice e una libreria ben mantenuta come Apache PDFBox, è possibile leggere facilmente il contenuto testuale dei file PDF in Java. Questo è utile per applicazioni di indicizzazione, ricerca o automazione dei documenti.