iText: creare PDF in Java

iText è una libreria open source che permette di creare e manipolare file PDF in Java, ne esiste anche una versione per .Net chiamata iTextSharp.

iText è composto da una struttura gerarchica di elementi; l’elemento di testo base è il Chunk che è una porzione di testo che condivide lo stesso stile. Poi c’è il Phrase che può combinare diversi Chunk con font diversi, mentre il Paragraph può combinare più Chunk e Phrase tra di loro aggiungendo anche informazioni sul Layout come ad esempio i margini. Un altro elemento è l’Anchor che serve per definire dei riferimenti, ad esempio per creare degli shortcut da un Indice. Inoltre abbiamo le List per definire degli elenchi puntati e/o numerati, le Image per inserire le  immagini, nei più disparati formati e le Table per inserire le tabelle, per le quali è possibile specificare lo stile dei bordi.

Ottenuta la libreria dall’indirizzo:

http://itextpdf.com/index.php

Possiamo subito iniziare ad utilizzarla seguendo il seguente semplice esempio:

//definiamo il nome del nostro file di prova
public String filename= "prova.pdf";
// Creiamo un Document
Document document = new Document();
// otteniamo una istanza di PdfWriter passando il document ed uno stream file
PdfWriter.getInstance(document, new FileOutputStream(filename));
// apriamo il documento
document.open();
// aggiungiamo un paragrafo
document.add(new Paragraph("Hello World!"));
// chiudiamo il documento
document.close();

Possiamo specificare la grandezza del nostro documento passando al costruttore di Document, un oggetto di tipo PageSize con le dimensioni richieste (ad esempio A4 o A3) ed i margini del foglio, possiamo inoltre ruotare il foglio su cui stiamo scrivendo:

Document document = new Document(PageSize.A4.rotate(), 10, 10, 10, 10);

Per aggiungere nuove pagine utilizziamo il metodo newPage():


document.newPage();

In questo mondo avremo un documento pdf con dimensioni A4 ruotato orizzontalmente e con i margini specificati.

Vediamo ora come definire ed utilizzare un Font:

Font mioFont = new Font(FontFamily.HELVETICA, 12, Font.BOLD);
Paragraph mioParagrafo = new Paragrapf("Hello World!",mioFont);
document.add(mioParagrafo);

Per costruire una tabella dobbiamo invece istanziare un oggetto di tipo PdfPTable, specificandone il numero di colonne:

PdfPTable table = new PdfPTable(6);

Fatto ciò possiamo aggiungervi delle celle:

PdfPCell cell = new PdfPCell(new Paragraph("Cella 1",mioFont));
table.addCell(cell);

La cella sarà aggiunta in posizione [0,0], se aggiungiamo altre celle queste verranno aggiunte in ordine di riga fino a completare il numero di colonne, per poi andare a capo in automatico.

Possiamo definire alcune proprietà della cella come l’allineamento, il colore di background, il padding e la dimensione della cella (il Colspan):

cell.setBackgroundColor(BaseColor.GRAY);
cell.setHorizontalAlignment(Element.ALIGN_LEFT);
cell.setPaddingLeft(10f);
cell.setColspan(2);
1 Stella2 Stelle3 Stelle4 Stelle5 Stelle (Nessun voto ancora)
Loading...
You can leave a response, or trackback from your own site.

One Response to “iText: creare PDF in Java”

  1. Edson Pessotti ha detto:

    Buono laboro !!!

    ITEXT e bem complexo, mas e possivel simplificar um pouco, assim podemos fazer muitas coisas sem complicar muito.

    Graccia a mile !!!!!
    Ciao!!4u

Leave a Reply

*