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