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.
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:
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);
COMMENTS