Java tutorial
import com.itextpdf.text.BadElementException; import com.itextpdf.text.BaseColor; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Element; import com.itextpdf.text.Font; import com.itextpdf.text.Paragraph; import com.itextpdf.text.Phrase; import com.itextpdf.text.pdf.PdfPCell; import com.itextpdf.text.pdf.PdfPTable; import com.itextpdf.text.pdf.PdfWriter; import java.io.FileOutputStream; import java.util.Date; import javax.swing.JOptionPane; /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /** * * @author adrian */ public class CrearPdf { private String FILE = "pdf.pdf"; private static Font catFont = new Font(Font.FontFamily.TIMES_ROMAN, 18, Font.BOLD); private static Font redFont = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL, BaseColor.RED); private static Font subFont = new Font(Font.FontFamily.TIMES_ROMAN, 16, Font.BOLD); private static Font smallBold = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD); String fecha = ""; String autor = ""; String datos[][]; String columnas[]; int d = 0; CrearPdf(String[][] datos, String columnas[], String fecha, String autor, int d, String path) { try { this.d = d; this.fecha = fecha; this.autor = autor; this.columnas = columnas; this.datos = datos; FILE = path; Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream(FILE)); document.open(); addMetaData(document); addTitlePage(document); createTable(document); document.close(); JOptionPane.showMessageDialog(null, "Guardado exitoso!", "Guardado exitoso!", JOptionPane.INFORMATION_MESSAGE); } catch (Exception e) { e.printStackTrace(); } } private void addMetaData(Document document) { document.addTitle("Mi empresa"); document.addSubject("mi direccion"); document.addKeywords("Java, PDF, iText"); document.addAuthor(autor); document.addCreator(fecha); } private static void addTitlePage(Document document) throws DocumentException { Paragraph preface = new Paragraph(); // We add one empty line addEmptyLine(preface, 1); // Lets write a big header preface.add(new Paragraph("Title of the document", catFont)); addEmptyLine(preface, 1); // Will create: Report generated by: _name, _date preface.add(new Paragraph("Report generated by: " + System.getProperty("user.name") + ", " + new Date(), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ smallBold)); addEmptyLine(preface, 3); preface.add(new Paragraph("This document describes something which is very important ", smallBold)); addEmptyLine(preface, 8); preface.add(new Paragraph( "This document is a preliminary version and not subject to your license agreement or any other agreement with vogella.com ;-).", redFont)); document.add(preface); // Start a new page document.newPage(); } private void createTable(Document document) throws BadElementException, DocumentException { PdfPTable table = new PdfPTable(6); // t.setBorderColor(BaseColor.GRAY); // t.setPadding(4); // t.setSpacing(4); // t.setBorderWidth(1); PdfPCell c1; for (int i = 0; i < columnas.length; i++) { c1 = new PdfPCell(new Phrase(columnas[i])); c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1); System.out.println("columnas" + columnas[i]); } table.setHeaderRows(1); for (int i = 0; i < d; i++) { for (int j = 0; j < columnas.length; j++) { System.out.print(datos[i][j] + " "); table.addCell(datos[i][j]); } System.out.println(); } document.add(table); } private static void addEmptyLine(Paragraph paragraph, int number) { for (int i = 0; i < number; i++) { paragraph.add(new Paragraph(" ")); } } }