List of usage examples for com.itextpdf.text Paragraph add
@Override public boolean add(Element o)
Element
to the Paragraph
. From source file:com.mstoyanov.music_lessons.pdf.CreatePDF.java
License:Open Source License
private static void addContent(Document document) throws DocumentException { String dateString = DateFormat.getDateInstance().format(new Date()).toString(); Paragraph par = new Paragraph("Music Lessons Weekly Schedule", catFont); par.add(new Paragraph("Teacher: " + name + ", Created on: " + dateString, subFont)); // Add an empty line: par.add(new Paragraph(" ", smallFont)); // Add a table: par.add(createTable());/*from w w w . j ava2s . c o m*/ document.add(par); }
From source file:com.mx.ipn.clases.PDF.java
public void crearpdf(String nombre, String appat, String apmat) throws FileNotFoundException, DocumentException { // Creacion del documento con los margenes // Creacion del documento con los margenes Document document = new Document(PageSize.A4, 35, 30, 50, 50); try {//from w w w. j av a 2 s. c o m // El archivo pdf que vamos a generar FileOutputStream fileOutputStream = new FileOutputStream("AvisoPrivacidad.pdf"); // Obtener la instancia del PdfWriter PdfWriter.getInstance(document, fileOutputStream); // Abrir el documento document.open(); // Crear las fuentes para el contenido y los titulos Font fontContenido = FontFactory.getFont(FontFactory.TIMES_ROMAN.toString(), 9, Font.NORMAL, BaseColor.DARK_GRAY); Font fontTitulos = FontFactory.getFont(FontFactory.TIMES_BOLD, 11, Font.UNDERLINE, BaseColor.DARK_GRAY); Font nomb = FontFactory.getFont(FontFactory.TIMES_BOLD, 9, Font.NORMAL, BaseColor.DARK_GRAY); // Creacion del parrafo Paragraph paragraph = new Paragraph(); // Agregar un titulo con su respectiva fuente paragraph.add(new Phrase("Aviso de Privacidad", fontTitulos)); paragraph.setAlignment(Element.ALIGN_CENTER); // Agregar saltos de linea paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); // Agregar contenido con su respectiva fuente paragraph.add(new Phrase( "Con fundamento en los artculos 15, 16 y de acuerdo a lo Previsto en la Ley Federal de Proteccin de Datos" + "Personales, hacemos de su conocimiento que ZERCHERS, S.A. de C.V., es una empresa legalmente" + "constituido de conformidad con las leyes mexicanas, con domicilio en Av. Juan de Dios Btiz s/n, Gustavo" + "A. Madero, Nueva Industrial Vallejo, 07700 Ciudad de Mxico; y como responsable del tratamiento de sus" + "datos personales, del uso que se le d a los mismos y de su proteccin. Hace de su conocimiento que la" + "informacin de nuestros clientes es tratada de forma estrictamente confidencial por lo que, al proporcionar" + "sus datos personales. Estos sern utilizados nica y exclusivamente para los siguientes fines: " + "Proveer los servicios y productos que ha solicitado; notificarle sobre nuevos servicios o productos que" + "tengan relacin con los ya contratados o adquiridos; comunicarle sobre cambios en los mismos; evaluar la" + "calidad de los servicios que brindamos; mantener actualizada nuestra base de datos con sus datos" + "recientes y en general, para dar cumplimiento a las obligaciones que hemos contrado con usted.", fontContenido)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase( " Para las finalidades antes mencionadas, requerimos obtener los siguientes datos personales:", fontContenido)); paragraph.setAlignment(Element.ALIGN_JUSTIFIED); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); // Agregar el parrafo al documento document.add(paragraph); document.add(Tabla_Simple()); paragraph = new Paragraph(); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase( "Para prevenir el acceso no autorizado a sus datos personales y con el fin de asegurar que la informacin sea " + "utilizada para los fines establecidos en este aviso de privacidad, hemos establecido diversos procedimientos" + " con la finalidad de evitar el uso o divulgacin no autorizados de sus datos, permitindonos tratarlos debidamente." + " As mismo, le informamos que sus datos personales pueden ser Transmitidos para ser tratados por personas " + "distintas a esta empresa. Todos sus datos personales son tratados de acuerdo a la legislacin aplicable y " + "vigente en el pas, por ello le informamos que usted tiene en todo momento los derechos (ARCO) de acceder, " + "rectificar, cancelar u oponerse al tratamiento que le damos a sus datos personales; derecho que podr " + "hacer valer a travs del ?rea de Privacidad encargada de la seguridad de datos personales en el " + "Telfono 5729 6000.", fontContenido)); paragraph.setAlignment(Element.ALIGN_JUSTIFIED); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase( " A travs de estos canales usted podr actualizar sus datos y especificar el medio por el cual desea recibir " + "informacin, ya que en caso de no contar con esta especificacin de su parte, ZERCHERS, S.A. de C.V., " + "establecer libremente el canal que considere pertinente para enviarle informacin. Este aviso de" + " privacidad podr ser modificado por ZERCHERS, S.A. de C.V., dichas modificaciones sern oportunamente " + "informadas a travs de correo electrnico, telfono, pgina web o cualquier otro medio de comunicacin" + " que ZERCHERS, S.A. de C.V., determine para tal efecto.", fontContenido)); paragraph.setAlignment(Element.ALIGN_JUSTIFIED); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(" ATENTAMENTE", nomb)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(" Direccin General TT/SisPLD", nomb)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(" Consiento que mis datos personales sensibles sean tratados conforme a" + "los trminos y condiciones del presente aviso de privacidad.", fontContenido)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase("Nombre: " + nombre + " " + appat + " " + apmat, nomb)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase("____________________________________", fontContenido)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(" ltima Fecha de Emisin: Mayo 13, 2016", fontContenido)); document.add(paragraph); // Cerrar el documento document.close(); // Abrir el archivo File file = new File("AvisoPrivacidad.pdf"); Desktop.getDesktop().open(file); } catch (Exception ex) { ex.printStackTrace(); } }
From source file:com.mx.ipn.clases.PDF.java
public PdfPTable Tabla_Simple() throws BadElementException, IOException { Paragraph paragraph1 = new Paragraph(); Font nomb = FontFactory.getFont(FontFactory.TIMES_BOLD, 9, Font.NORMAL, BaseColor.DARK_GRAY); Image image;//from w w w .ja va 2s . c o m // Obtenemos el logo de datojava image = Image.getInstance(getClass().getResource("/com/ipn/mx/imagenes/logo.png")); image.scaleAbsolute(70f, 60f); //creamos la tabla con 3 columnas PdfPTable mitablasimple = new PdfPTable(2); PdfPCell cellimage = new PdfPCell(image); // Propiedades de la celda cellimage.setBorderColor(BaseColor.WHITE); cellimage.setHorizontalAlignment(Element.ALIGN_CENTER); paragraph1.add(new Phrase("1. Nombre completo Y/O Razn Social.", nomb)); paragraph1.add(new Phrase(Chunk.NEWLINE)); paragraph1.add(new Phrase("2. Direccin.", nomb)); paragraph1.add(new Phrase(Chunk.NEWLINE)); paragraph1.add(new Phrase("3. Registro Federal de Contribuyentes Y/O CURP.", nomb)); paragraph1.add(new Phrase(Chunk.NEWLINE)); paragraph1.add(new Phrase("4. Telfonos de Oficina y mviles.", nomb)); paragraph1.add(new Phrase(Chunk.NEWLINE)); paragraph1.add(new Phrase("5. Actividad econmica e ingreso promedio.", nomb)); paragraph1.add(new Phrase(Chunk.NEWLINE)); paragraph1.add(new Phrase("6. Correo Electrnico. ", nomb)); paragraph1.add(new Phrase(Chunk.NEWLINE)); PdfPCell cell = new PdfPCell(paragraph1); // Propiedades de la celda cell.setBorderColor(BaseColor.WHITE); cell.setHorizontalAlignment(Element.ALIGN_JUSTIFIED); mitablasimple.addCell(cell); mitablasimple.addCell(cellimage); //retornamos la tabla return mitablasimple; }
From source file:com.mycompany.mavenproject2.VirtualkeyController.java
private static void addTitlePage(Document document) throws DocumentException { Paragraph preface = new Paragraph(); // We add one empty line addEmptyLine(preface, 1);//from w w w .j a va2 s . c o m // Lets write a big header preface.add(new Paragraph("Report Item On History", 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));*/ preface.add(new Paragraph("Address 1")); //addEmptyLine(preface, 1); preface.add(new Paragraph("Address 2")); // addEmptyLine(preface, 1); preface.add(new Paragraph("City")); // addEmptyLine(preface, 1); preface.add(new Paragraph("Store")); //addEmptyLine(preface, 3); //preface.add(new Paragraph("This document describes something which is very important ",smallBold)); preface.add(new Paragraph("Report generated by: " + System.getProperty("user.name") + ", " + new Date(), smallBold)); addEmptyLine(preface, 2); createTable("category_detail", preface); //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));*/ //preface.add(new Paragraph("Report generated by: " + System.getProperty("user.name") + ", " + new Date(), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ smallBold)); document.add(preface); // Start a new page //document.newPage(); }
From source file:com.mycompany.mavenproject2.VirtualkeyController.java
private static void createTable(/*Section subCatPart*/String tableName, Paragraph preface) throws BadElementException { try {/*from w w w . j a va 2 s . c om*/ ArrayList<String> list = new ArrayList<String>(); // t.setBorderColor(BaseColor.GRAY); // t.setPadding(4); // t.setSpacing(4); // t.setBorderWidth(1); int length = 0; java.sql.Connection conn = Connection.getConnect(); Statement st = conn.createStatement(); st = conn.createStatement(); ResultSet rs = st.executeQuery("SELECT * FROM " + tableName); ResultSetMetaData rsMetaData = rs.getMetaData(); int numberOfColumns = rsMetaData.getColumnCount(); System.out.println("resultSet MetaData column Count=" + numberOfColumns); for (int i = 1; i <= numberOfColumns; i++) { length = i; } MongoClient client = new MongoClient(); MongoDatabase db = client.getDatabase("FinalDemo"); PdfPTable table = new PdfPTable(length); for (int i = 1; i <= numberOfColumns; i++) { // System.out.println("column MetaData "); //System.out.println("column number " + i); // get the column's name. System.out.println(rsMetaData.getColumnName(i)); PdfPCell c1 = new PdfPCell(new Phrase(rsMetaData.getColumnName(i))); c1.setHorizontalAlignment(Element.ALIGN_CENTER); list.add(rsMetaData.getColumnName(i)); table.addCell(c1); } while (rs.next()) { for (String col : list) { //System.out.println("Column name is "+col+"value is "+rs.getString(col)); table.addCell(rs.getString(col)); } } /*PdfPCell c1 = new PdfPCell(new Phrase("Table Header 1")); c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1); c1 = new PdfPCell(new Phrase("Table Header 2")); c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1); c1 = new PdfPCell(new Phrase("Table Header 3")); c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1);*/ table.setHeaderRows(1); preface.add(table); //subCatPart.add(table); } catch (ClassNotFoundException ex) { Logger.getLogger(VirtualkeyController.class.getName()).log(Level.SEVERE, null, ex); } catch (SQLException ex) { Logger.getLogger(VirtualkeyController.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:com.mycompany.mavenproject2.VirtualkeyController.java
private static void addEmptyLine(Paragraph paragraph, int number) { for (int i = 0; i < number; i++) { paragraph.add(new Paragraph("\n")); }/*from www. j a va 2 s. c om*/ }
From source file:com.nubean.michutil.PDFConverter.java
License:Open Source License
private Paragraph getParagraph(javax.swing.text.Element pe) throws javax.swing.text.BadLocationException { int count = pe.getElementCount(); Paragraph para = new Paragraph(); for (int i = 0; i < count; i++) { javax.swing.text.Element ele = pe.getElement(i); if (ele.isLeaf()) { para.add(getChunk(ele)); } else {/*from ww w. ja v a2 s .c om*/ return getParagraph(ele); } } return para; }
From source file:com.pdg.ticket.utils.FirstPdf.java
private static void addTitlePage(Document document) throws DocumentException { Paragraph preface = new Paragraph(); // We add one empty line addEmptyLine(preface, 1);//from w ww.j a v a2 s. c o m // 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.de ;-).", redFont)); document.add(preface); // Start a new page document.newPage(); }
From source file:com.pdi.util.PdfGenerator.java
public static void generarPresupuesto(String lugar, Date fecha, float cantidad, String tipo, Cliente cliente, float precio, Aliado aliado, String path) { try {//from w w w. java 2s . c o m NEGRITA_12_VERDE.setColor(145, 189, 57); long miliSemana = System.currentTimeMillis() + (86400 * 7 * 1000); Date vtoPresup = new Date(miliSemana); float precioPers = precio / cantidad; int precioTotalInt = Math.round(precio); int precioPersInt = Math.round(precioPers); int cantPersonasInt = Math.round(cantidad); //Referencia al objeto Doc Document document = new Document(PageSize.A4, //Dimensiones 36, //margIzq 36, //margDer 36, //margenSup 36); // margenInf //Creamos el archivo fisico FileOutputStream salida = new FileOutputStream(path); //Referencia e inicializacion del objeto que "escribe" el PDF PdfWriter writer = PdfWriter.getInstance(document, salida); writer.setInitialLeading(0); //Imagen Logo Image logoPDI = Image.getInstance("Logo PDI.png"); logoPDI.scaleToFit(215, 205); logoPDI.setAlignment(Chunk.ALIGN_LEFT); //image.setAbsolutePosition(200, 200); //Imagen QR Image qr = Image.getInstance("QR PDI.png"); qr.scaleToFit(211, 165); qr.setAbsolutePosition(295, PageSize.A4.getHeight() - 390); //Parrafo info evento Paragraph infoEvento = new Paragraph(); infoEvento.add(new Chunk("Informacin del Evento", NEGRITA_SUB_12)); infoEvento.add(Chunk.NEWLINE); infoEvento.add(negritaNormal("Solicitante: ", cliente.toString())); infoEvento.add(negritaNormal("Evento: ", tipo)); infoEvento.add(negritaNormal("Cantidad de personas: ", Integer.toString(cantPersonasInt))); infoEvento.add(negritaNormal("Fecha: ", General.formatoFecha.format(fecha))); infoEvento.add(negritaNormal("Lugar: ", lugar)); infoEvento.add(Chunk.NEWLINE); infoEvento.setAlignment(Paragraph.ALIGN_LEFT); //Parrafo Modalidad del Servicio Paragraph modalidadServicio = new Paragraph(); modalidadServicio.add(new Chunk("Modalidad Servicio Integral", NEGRITA_SUB_12)); modalidadServicio.add(Chunk.NEWLINE); modalidadServicio.add(new Chunk("Nuestro servicio incluye la totalidad de lo referido a" + " los elementos necesarios para el despacho de bebidas: Barras, Bartenders," + " Artculos de Coctelera, Insumos de calidad para los tragos y Mucha Buena Onda." + " Con esta modalidad aseguramos la expedicin de " + "los tragos desde las 00hs hasta las 05hs, para que se desentiendan del asunto " + "y disfruten al mximo.", NORMAL_12)); modalidadServicio.setAlignment(Paragraph.ALIGN_LEFT); //Parrafo Ver Carta Paragraph verCarta = new Paragraph(); verCarta.add(negritaNormal("\u2022 Carta de Tragos: ", "Ver archivo adjunto.")); verCarta.setIndentationLeft(20); verCarta.add(Chunk.NEWLINE); verCarta.setAlignment(Paragraph.ALIGN_LEFT); //Parrafo Titulo Info Contratacion Paragraph infoContratacionTitulo = new Paragraph(); infoContratacionTitulo.add(new Chunk("Informacin de Contratacin", NEGRITA_SUB_12)); infoContratacionTitulo.setAlignment(Paragraph.ALIGN_LEFT); //Parrafo Inf de Contratacion Paragraph infoContratacion = new Paragraph(); infoContratacion.add(negritaNormal("\u2022 Mtodo de contratacin y reserva de la fecha: ", "A travs de contrato firmado por ambas partes. ")); Phrase lineaCosto = new Phrase(); lineaCosto.add(new Chunk("\u2022 Costo: ", NEGRITA_12)); lineaCosto.add(new Chunk("$" + Integer.toString(precioPersInt) + " ", NEGRITA_14)); lineaCosto.add(new Chunk("por persona ", NEGRITA_12)); lineaCosto.add(new Chunk("(Total: $" + Integer.toString(precioTotalInt) + ")", NEGRITA_14)); infoContratacion.add(lineaCosto); infoContratacion.add(Chunk.NEWLINE); infoContratacion.add(negritaNormal("\u2022 Forma de Pago : ", "50% al momento de la firma del contrato y 50% como mximo una semana antes del evento. ")); infoContratacion.add(Chunk.NEWLINE); infoContratacion.setIndentationLeft(20); infoContratacion.setFirstLineIndent(0); infoContratacion.setAlignment(Paragraph.ALIGN_LEFT); //Parrafo Despedida Paragraph despedida = new Paragraph(); despedida.add(new Phrase("Quedamos al aguardo de tus comentarios,", NEGRITA_14)); despedida.add(Chunk.NEWLINE); despedida.add(new Phrase("Muchas Gracias.", NEGRITA_14)); despedida.add(Chunk.NEWLINE); despedida.add(Chunk.NEWLINE); despedida.setAlignment(Paragraph.ALIGN_LEFT); //Parrafo Firma Paragraph firma = new Paragraph(); firma.add(new Phrase("Piel de Iguana Tragos.-", NEGRITA_CUR_14)); firma.add(Chunk.NEWLINE); firma.add(new Phrase("Cel.: 3462-15337860", NEGRITA_12_VERDE)); firma.setAlignment(Paragraph.ALIGN_RIGHT); float llxLink = 279; float llyLink = PageSize.A4.getHeight() - 145; float anchoLink = 199; float altoLink = 16; //Link al facebook URL urlPDI = new URL("https://www.facebook.com/pieldeiguanatragos.vt"); PdfAction irAlFace = new PdfAction(urlPDI); Rectangle linkLocation = new Rectangle(llxLink, llyLink, llxLink + anchoLink, llyLink + altoLink); PdfAnnotation link = PdfAnnotation.createLink(writer, linkLocation, PdfAnnotation.HIGHLIGHT_NONE, irAlFace); link.setBorder(new PdfBorderArray(0, 0, 0)); writer.addAnnotation(link); //Espacios Vacios Paragraph dosEspacios = new Paragraph(); dosEspacios.add(Chunk.NEWLINE); dosEspacios.add(Chunk.NEWLINE); //Hay que abrir el Documento, llenarlo con los elemntos creados //en el orden que queremos y cerrarlo document.open(); PdfContentByte cb = writer.getDirectContent(); ColumnText ct = new ColumnText(cb); Phrase recuadro = new Phrase(); recuadro.add(new Chunk("Piel de Iguana Tragos", NEGRITA_SUB_14)); recuadro.add(Chunk.NEWLINE); recuadro.add(new Chunk("Servicio de tragos para eventos", NEGRITA_12)); recuadro.add(Chunk.NEWLINE); recuadro.add(Chunk.NEWLINE); recuadro.add(new Chunk("\"Piel de Iguana, para que tu noche nica sea inigualable.\"", NORMAL_CUR_12)); recuadro.add(Chunk.NEWLINE); recuadro.add(Chunk.NEWLINE); Image logoFB = Image.getInstance("Icono FB.png"); logoFB.scaleToFit(13, 13); recuadro.add(new Chunk(logoFB, 0, -3)); recuadro.add(new Chunk("/pieldeiguanatragos.vt -> Click Aqu!", NORMAL_12)); recuadro.add(Chunk.NEWLINE); recuadro.add(Chunk.NEWLINE); recuadro.add(new Chunk("Vencimiento del Prepuesto " + General.formatoFecha.format(vtoPresup), NORMAL_SUB_12)); float llx = 279; float lly = PageSize.A4.getHeight() - 185; float ancho = 228; float alto = 150; ct.setSimpleColumn(recuadro, //Texto llx, //punta inf izquierda (x) lly, //punta inf izquierda (y) PageSize.A4.getHeight() - 185 llx + ancho, //ancho del cuadro lly + alto, // alto del cuadro 15, //espaciado Element.ALIGN_LEFT // Alineacion ); ct.go(); document.add(logoPDI); document.add(qr); document.add(dosEspacios); document.add(infoEvento); document.add(modalidadServicio); document.add(verCarta); document.add(infoContratacionTitulo); document.add(infoContratacion); document.add(despedida); document.add(firma); document.close(); System.out.println("Archivo creado"); int rta = JOptionPane.showConfirmDialog(VentanaMaestra.eventosCurrent, "Se guard el presupesto en:\n" + path + "\nDesea abrirlo?", "Presupuesto guardado", JOptionPane.YES_NO_OPTION); if (rta == JOptionPane.YES_OPTION) { if (Desktop.isDesktopSupported()) { try { File myFile = new File(path); Desktop.getDesktop().open(myFile); } catch (IOException ex) { JOptionPane.showMessageDialog(VentanaMaestra.eventosCurrent, "No se puede abrir el archivo. Ubiquelo en su equipo" + "y abralo manualmente.", "Error al abrir el archivo", JOptionPane.ERROR_MESSAGE); } } else { JOptionPane.showMessageDialog(VentanaMaestra.eventosCurrent, "No se puede abrir el archivo. Ubiquelo en su equipo" + "y abralo manualmente.", "Error al abrir el archivo", JOptionPane.ERROR_MESSAGE); } } } catch (FileNotFoundException ex) { System.out.println("Error: " + ex.toString()); } catch (DocumentException ex) { System.out.println("Error: " + ex.toString()); } catch (IOException ex) { System.out.println("Error: " + ex.toString()); } }
From source file:com.photon.phresco.framework.docs.impl.DocumentUtil.java
License:Apache License
/** * Adds title section.//from ww w. j a v a 2 s. co m * @param info the project info object * @return PDF input stream * @throws PhrescoException */ public static InputStream getTitleSection(ApplicationInfo info) throws PhrescoException { if (isDebugEnabled) { S_LOGGER.debug(" Entering Method DocumentUtil.getTitleSection(ProjectInfo info)"); } if (isDebugEnabled) { S_LOGGER.debug("getTitleSection() projectCode=" + info.getCode()); } try { //create output stream com.itextpdf.text.Document docu = new com.itextpdf.text.Document(); ByteArrayOutputStream os = new ByteArrayOutputStream(); PdfWriter.getInstance(docu, os); docu.open(); //add standard title section with supplied info object Paragraph paragraph = new Paragraph(); paragraph.setAlignment(Element.ALIGN_CENTER); paragraph.setFont(DocConstants.TITLE_FONT); addBlankLines(paragraph, MAGICNUMBER.DOCLINES); paragraph.add(info.getName()); addBlankLines(paragraph, MAGICNUMBER.BLANKLINESFOUR); docu.add(paragraph); paragraph = new Paragraph(); paragraph.setAlignment(Element.ALIGN_CENTER); addBlankLines(paragraph, MAGICNUMBER.DOCLINES); String techName = info.getTechInfo().getName(); if (StringUtils.isNotEmpty(info.getTechInfo().getVersion())) { paragraph.add(techName + " - " + info.getTechInfo().getVersion()); } else { paragraph.add(techName); } docu.add(paragraph); paragraph = new Paragraph(); addBlankLines(paragraph, MAGICNUMBER.DOCLINES); paragraph.setAlignment(Element.ALIGN_CENTER); paragraph.add(DocumentMessages.getString("Documents.version.name") + getVersion(info)); //$NON-NLS-1$ addBlankLines(paragraph, MAGICNUMBER.BLANKLINESSEVEN); docu.add(paragraph); if (StringUtils.isNotEmpty(info.getDescription())) { paragraph = new Paragraph(); paragraph.setAlignment(Element.ALIGN_RIGHT); paragraph.setFont(DocConstants.DESC_FONT); paragraph.setFirstLineIndent(MAGICNUMBER.BLANKLINESEIGHT); docu.add(paragraph); } docu.close(); //Create an inputstream to return. return new ByteArrayInputStream(os.toByteArray()); } catch (DocumentException e) { e.printStackTrace(); throw new PhrescoException(e); } }