iText: creare facilmente PDF in Java

Vai alla fonte

Recentemente mi è capitato di dover produrre dei report in java, mi sono quindi posto il problema di quale formato utilizzare per facilitarne una successiva stampa.
La prima scelta è ricaduta su HTML, in quanto risulta molto semplice da generare (essendo un formato testuale) e non necessita di librerie aggiuntive, tuttavia la stampa in java di un documento HTML risulta alquanto problematica, infatti l’unico risultato a cui sono giunto è la stampa del sorgente HTML, non della pagina renderizzata.
Mi sono quindi messo a cercare una libreria che mi permettesse di generare programmaticamente un documento PDF, imbattendomi in iText

iText in action

iText in action

iText è una libreria java per la generazione e/o modifica dinamica di documenti PDF, con essa è possibile creare molto velocemente e facilmente report anche complessi contenenti tabelle ed altri tipi di formattazione.
È sufficiente creare un oggetto di tipo Document, ottenere un’istanza di PDFWriter ed iniziare ad aggiungere elementi al documento.
Gli elementi principali sono:

  • Chunk: ovvero il più piccolo elemento di testo che può essere aggiunto, per esempio una frase
  • Paragraph: ovvero una specie di ArrayList di Chunk, Phrase, Image, List,… può contenere testo formattato con stili diversi, e si può specificare un allineamento
  • List: ovvero degli elenchi puntati e/o numerati
  • Image: ovvero immagini, nei più disparati formati
  • Table: ovvero tabelle, per le quali è possibile specificare lo stile dei bordi

Eccovi ora un piccolo esempio:

Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(hello.pdf”));
document.open();
Paragraph p = new Paragraph(”This is not an hello world!”, FontFactory.getFont(FontFactory.HELVETICA, 18));
p.setAlignment(Element.ALIGN_CENTER);
document.add(p);
document.close();

per concludere qualche link:

Buon divertimento!

EOF

      

Commenta

Articoli Correlati