Example usage for com.itextpdf.text Font NORMAL

List of usage examples for com.itextpdf.text Font NORMAL

Introduction

In this page you can find the example usage for com.itextpdf.text Font NORMAL.

Prototype

int NORMAL

To view the source code for com.itextpdf.text Font NORMAL.

Click Source Link

Document

this is a possible style.

Usage

From source file:com.prjhuellvotweb.controlador.PDF.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    //Preguntar por la sesion del usuario admin
    HttpSession sessionOk = request.getSession(true);
    if (sessionOk.getAttribute("admin") != null) {
        //cambiar a tipo application/pdf
        response.setContentType("application/pdf;charset=UTF-8");
        //flujo de salida
        OutputStream out = response.getOutputStream();
        String texto = request.getParameter("report");
        //texto = "Reporte de los proyectos Sena CTGI (Centro tecnologico de gestion industrial) donde se dan a conocer"
        //                   + " los nombres de los proyectos y cantidad de votos obtenidos para cada proyecto.";
        try {/* w ww .  java  2s .  com*/
            Connection con = Conexion.conectar("mysql");
            DAOVoto dao = new DAOVoto();
            List<List> lista = dao.estadisticaNumeroVotos();
            Voto t = dao.contarVotos();
            int to = t.getIdUsuario();
            if (!lista.isEmpty() && lista.size() > 0) {
                try {
                    //programar pdf
                    Document documento = new Document();
                    //asosciar documento con la salida
                    PdfWriter.getInstance(documento, out);// salida del cocumento en pdf
                    //abrir documento
                    documento.open();
                    Paragraph par2 = new Paragraph();
                    Paragraph par4 = new Paragraph();
                    //agregar una imagen logo sena al pdf
                    Image imagenes = Image
                            .getInstance(getServletContext().getRealPath("") + "/Multimedia/reportes.png");
                    //Centrar la imagen
                    imagenes.setAlignment(Element.ALIGN_CENTER);
                    //tamao de la imagen
                    imagenes.scaleToFit(530, 520);
                    //agg imagen al documento F:\\Documentos\\yo\\huellvot 2 17-06-2016\\PrjHuellVotWeb\\web\\iCO.png
                    //documento.add(imghuellvot);
                    documento.add(imagenes);
                    //Agg salto de linea
                    par2.add(new Phrase(Chunk.NEWLINE));
                    par2.add(new Phrase(Chunk.NEWLINE));

                    //fuente del pdf, tipo de fuente famimilia tamao de letra
                    //Importar ttf que contiene el tipo de letra
                    FontFactory.register(
                            "C:\\Users\\pc\\Desktop\\PrjHuellVotWeb\\web\\fonts\\roboto\\Roboto-Bold.ttf",
                            "Roboto");
                    //Font fondescripcion = FontFactory.getFont("Roboto");
                    Font fondescripcion = new Font(Font.getFamily("Roboto"), 16, Font.NORMAL, BaseColor.BLACK);
                    //texto de la descripcion
                    par2.add(new Phrase(texto, fondescripcion));
                    //justificar descripcion
                    par2.setAlignment(Element.ALIGN_JUSTIFIED);
                    //Agg salto de linea
                    par2.add(new Phrase(Chunk.NEWLINE));
                    par2.add(new Phrase(Chunk.NEWLINE));
                    //agregar descripcion al documento
                    documento.add(par2);//agregar todas las propiedades de la descripcin
                    //crear una tabla
                    PdfPTable tabla = new PdfPTable(5);//( Numero de columnas de la tabla)
                    //columnas de la tabla, cabezera y agg un estilo
                    PdfPCell celda = new PdfPCell(
                            new Paragraph("Nmero", FontFactory.getFont("Roboto", 14, Font.BOLD)));
                    PdfPCell celda1 = new PdfPCell(
                            new Paragraph("Nombre", FontFactory.getFont("Roboto", 14, Font.BOLD)));
                    celda1.setColspan(3);
                    PdfPCell celda2 = new PdfPCell(
                            new Paragraph("Votos", FontFactory.getFont("Roboto", 14, Font.BOLD)));
                    //Color de fondo
                    celda.setBackgroundColor(new BaseColor(252, 115, 35));
                    celda1.setBackgroundColor(new BaseColor(252, 115, 35));
                    celda2.setBackgroundColor(new BaseColor(252, 115, 35));
                    //Centrar
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda2.setHorizontalAlignment(Element.ALIGN_CENTER);
                    //padding
                    celda.setPadding(8.0f);
                    celda1.setPadding(8.0f);
                    celda2.setPadding(8.0f);
                    //agg columna ala tabla
                    tabla.addCell(celda);
                    tabla.addCell(celda1);
                    tabla.addCell(celda2);

                    for (int i = 0; i < lista.size(); i++) {
                        List l = lista.get(i);
                        //Convertir el entero a string
                        String num = String.valueOf(l.get(0));
                        String nom = String.valueOf(l.get(1));
                        String tot = String.valueOf(l.get(2));
                        //Agregar valores a las celdas
                        PdfPCell c = new PdfPCell(
                                new Paragraph(num, FontFactory.getFont("Roboto", 12, Font.BOLD)));
                        PdfPCell c1 = new PdfPCell(
                                new Paragraph(nom, FontFactory.getFont("Roboto", 12, Font.BOLD)));
                        c1.setColspan(3);
                        PdfPCell c2 = new PdfPCell(
                                new Paragraph(tot, FontFactory.getFont("Roboto", 12, Font.BOLD)));
                        //Padding para las celdas
                        c.setPadding(4.0f);
                        c1.setPadding(4.0f);
                        c2.setPadding(4.0f);
                        //Centrar contenido de celda
                        c.setHorizontalAlignment(Element.ALIGN_CENTER);
                        c2.setHorizontalAlignment(Element.ALIGN_CENTER);
                        //mostrar los resultados de cada columna los agrega a la tabla
                        tabla.addCell(c);
                        tabla.addCell(c1);
                        tabla.addCell(c2);

                    }
                    PdfPCell c1 = new PdfPCell(new Paragraph("Total Votos: ", fondescripcion));
                    c1.setColspan(4);
                    PdfPCell c2 = new PdfPCell(new Paragraph("" + to, fondescripcion));

                    c1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    c2.setHorizontalAlignment(Element.ALIGN_CENTER);

                    c1.setPadding(4.0f);
                    c2.setPadding(4.0f);

                    tabla.addCell(c1);
                    tabla.addCell(c2);

                    //Agrega la tabla a el documento
                    documento.add(tabla);
                    //agregar fecha
                    Font fonfecha = new Font(Font.getFamily("Roboto"), 12, Font.NORMAL, BaseColor.LIGHT_GRAY);

                    par4.add(new Phrase("Expedido por HuellVot", fonfecha));
                    DateFormat formato = DateFormat.getDateInstance(DateFormat.FULL);
                    par4.add(new Paragraph(formato.format(new Date())));

                    documento.add(par4);

                    //cerrar el documento
                    documento.close();
                } catch (DocumentException | IOException e) {
                    e.getMessage();
                    System.out.println("Error al generar el reporte PDF" + e);
                }

            } else {
                try {
                    Document documento = new Document();
                    PdfWriter.getInstance(documento, out);// salida del cocumento en pdf
                    //abrir documento
                    documento.open();
                    System.out.println("no hat datos");
                    //agregar una imagen logo sena al pdf
                    Image imagenes = Image.getInstance(
                            "C:\\Users\\pc\\Desktop\\PrjHuellVotWeb\\web\\Multimedia\\reportes.png");
                    //Centrar la imagen
                    imagenes.setAlignment(Element.ALIGN_CENTER);
                    //tamao de la imagen
                    imagenes.scaleToFit(530, 520);
                    //agg imagen al documento F:\\Documentos\\yo\\huellvot 2 17-06-2016\\PrjHuellVotWeb\\web\\iCO.png
                    //documento.add(imghuellvot);
                    documento.add(imagenes);
                    Paragraph par1 = new Paragraph();
                    Paragraph par2 = new Paragraph();
                    //Agg salto de linea
                    par1.add(new Phrase(Chunk.NEWLINE));
                    par1.add(new Phrase(Chunk.NEWLINE));

                    //fuente del pdf, tipo de fuente famimilia tamao de letra
                    //Importar ttf que contiene el tipo de letra
                    FontFactory.register(
                            "C:\\Users\\pc\\Desktop\\PrjHuellVotWeb\\web\\fonts\\roboto\\Roboto-Bold.ttf",
                            "Roboto");
                    //Font fondescripcion = FontFactory.getFont("Roboto");
                    Font fondescripcion = new Font(Font.getFamily("Roboto"), 16, Font.NORMAL, BaseColor.BLACK);
                    //texto de la descripcion
                    par1.add(new Phrase("lo sentimos pero no hay datos para mostrar.!", fondescripcion));
                    //justificar descripcion
                    par1.setAlignment(Element.ALIGN_CENTER);
                    //Agg salto de linea
                    par1.add(new Phrase(Chunk.NEWLINE));
                    par1.add(new Phrase(Chunk.NEWLINE));
                    //agregar descripcion al documento
                    documento.add(par1);//agregar todas las propiedades de la descripcin
                    //agregar fecha
                    Font fonfecha = new Font(Font.getFamily("Roboto"), 12, Font.NORMAL, BaseColor.LIGHT_GRAY);

                    par2.add(new Phrase("Expedido por HuellVot", fonfecha));
                    DateFormat formato = DateFormat.getDateInstance(DateFormat.FULL);
                    par2.add(new Paragraph(formato.format(new Date())));
                    documento.add(par2);
                    //cerrar el documento
                    documento.close();
                } catch (DocumentException ex) {
                    ex.getMessage();
                    System.out.println("Error al generar el reporte PDF sin datos registrados" + ex);
                }

            }

        } finally {
            out.close();
        }
    } else {
        sessionOk.invalidate();
        response.sendRedirect("index.jsp");
    }
}

From source file:com.sapito.pdf.PDFView.PDFGeneratorActivosFijos.java

public void crearPDFInversion(HttpServletResponse hsr1, ArrayList<HashMap> resultados,
        double granTotalDepActual, double granTotalValorActual, double granTotalValorOr) throws Exception {
    Document dcmntaf = new Document();

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    PdfWriter.getInstance(dcmntaf, baos);
    System.out.println(resultados.get(0).size());

    dcmntaf.open();/*from w w  w  .ja  va  2  s  .  c om*/
    dcmntaf.open();
    dcmntaf.addTitle("Sapito PDFs");
    dcmntaf.addSubject("Pdf de sapito");

    //------------------------ TAIS  ______________________________
    Image tais = Image.getInstance(new URL("http://localhost:8080/SAPITO/resources/img/tais-banner.jpg"));
    dcmntaf.add(tais);

    //---------------------  BODY    ---------------------------------------------------------
    Image body = Image.getInstance(new URL("http://localhost:8080/SAPITO/resources/img/body.png"));
    body.setAlignment(Image.UNDERLYING);
    body.setTransparency(new int[] { 0x00, 0x10 });
    body.setAbsolutePosition(50, 250);
    dcmntaf.add(body);
    //-------------------------------------------------------------------------------------------
    Image footer = Image.getInstance(new URL("http://localhost:8080/SAPITO/resources/img/footer.jpg"));
    footer.setAbsolutePosition(50, 20);
    dcmntaf.add(footer);
    //----------------------  TITLE ---------------------------
    String titulo = "Reporte de Inversin"; //Cambiar el titulo del PDF aqui
    Font f = new Font(FontFamily.HELVETICA, 25.0f, Font.BOLD, BaseColor.BLACK);
    Chunk c = new Chunk(titulo + " \n ", f);
    c.setBackground(BaseColor.WHITE);
    Paragraph title = new Paragraph(c);
    title.setAlignment(Element.ALIGN_CENTER);

    String titulo2 = "Reporte de Activos Fijos por Tipo"; //Cambiar el titulo del PDF aqui
    Font f2 = new Font(FontFamily.HELVETICA, 12.0f, Font.NORMAL, BaseColor.BLACK);
    Chunk c2 = new Chunk(titulo2 + " \n ", f2);
    c2.setBackground(BaseColor.WHITE);
    Paragraph title2 = new Paragraph(c2);
    title2.setAlignment(Element.ALIGN_LEFT);
    title2.setIndentationLeft(50);
    //-------------------------  CONTENIDO -------------------------------------------------------
    dcmntaf.add(title); //Titulo del PDF
    dcmntaf.add(title2);
    PdfPTable table = new PdfPTable(4);

    //                                 PdfPCell cell;
    //                            cell = new PdfPCell(new Phrase("Tipo de A", FontFactory.getFont("TIMES_ROMAN", 12, Font.BOLD, BaseColor.BLACK)));                     
    //                        table.addCell(cell);      
    table.addCell("Tipo de Activo fijo");
    table.addCell("Valor Original");
    table.addCell("Depreciacin Actual ");
    table.addCell("Valor Actual");
    //        Iterator it = resultados.get(0).entrySet().iterator();
    for (int i = 0; i < resultados.size(); i++) {
        table.addCell(resultados.get(i).get("tipo").toString());
        table.addCell(resultados.get(i).get("valorOriginal").toString());
        table.addCell(resultados.get(i).get("depreciacionActual").toString());
        table.addCell(resultados.get(i).get("valoreActual").toString());
    }

    //        while (it.hasNext()) {
    //            Map.Entry e = (Map.Entry) it.next();
    //            System.out.println(e.getKey() + " " + e.getValue());
    //            
    //            table.addCell(e.getValue().toString());
    //        }

    dcmntaf.add(table);

    String titulo3 = "Reporte Total de Activos Fijos"; //Cambiar el titulo del PDF aqui
    Font f3 = new Font(FontFamily.HELVETICA, 12.0f, Font.NORMAL, BaseColor.BLACK);
    Chunk c3 = new Chunk(titulo3 + " \n ", f3);
    c3.setBackground(BaseColor.WHITE);

    Paragraph title3 = new Paragraph(c3);
    title3.setAlignment(Element.ALIGN_LEFT);
    title3.setIndentationLeft(50);
    dcmntaf.add(title3);

    PdfPTable table2 = new PdfPTable(3);
    //                                 PdfPCell cell;
    //                            cell = new PdfPCell(new Phrase("Tipo de A", FontFactory.getFont("TIMES_ROMAN", 12, Font.BOLD, BaseColor.BLACK)));                     
    //                        table.addCell(cell);                        
    table2.addCell("Valor Original Total");
    table2.addCell("Depreciacin Anual Total");
    table2.addCell("Valor Total");
    table2.addCell(granTotalValorOr + "");
    table2.addCell(granTotalDepActual + "");
    table2.addCell(granTotalValorActual + "");

    dcmntaf.add(table2);

    PdfPTable table3 = new PdfPTable(1);
    table3.setWidthPercentage(100.0f);
    table3.setWidths(new float[] { 2.0f });
    table3.setSpacingBefore(10);

    // define font for table header row
    Font font = FontFactory.getFont(FontFactory.COURIER_BOLD);
    font.setColor(BaseColor.WHITE);

    // define table header cell
    PdfPCell cell = new PdfPCell();
    cell.setBackgroundColor(BaseColor.BLUE);
    cell.setPadding(5);

    // write table header 
    cell.setPhrase(new Phrase("Resultado", font));
    table3.addCell(cell);
    Depreciacion dep = new Depreciacion();

    String bla = a + " ";
    table3.addCell(bla);

    //-------------------------- FIN CONTENIDO -----------------
    dcmntaf.close();

    dcmntaf.close();

    byte[] bytes = baos.toByteArray();

    hsr1.setContentType("application/pdf");
    hsr1.setContentLength(bytes.length);
    hsr1.getOutputStream().write(bytes);
}

From source file:com.softwaremagico.tm.pdf.complete.FadingSunsTheme.java

License:Open Source License

public static BaseFont getFooterFont() {
    if (footerFont == null) {
        Font font = FontFactory.getFont("/" + TITLE_FONT_NAME, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 0.5f,
                Font.NORMAL, BaseColor.BLACK);
        footerFont = font.getBaseFont();
    }/*  w  ww .  j  a  v a2  s  .c  o m*/
    return footerFont;
}

From source file:com.softwaremagico.tm.pdf.complete.FadingSunsTheme.java

License:Open Source License

public static BaseFont getLineFont() {
    if (lineFont == null) {
        Font font = FontFactory.getFont("/" + LINE_FONT_NAME, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 0.8f,
                Font.NORMAL, BaseColor.BLACK);
        lineFont = font.getBaseFont();/*from w  w w .  jav a2 s  .  co  m*/
    }
    return lineFont;
}

From source file:com.softwaremagico.tm.pdf.complete.FadingSunsTheme.java

License:Open Source License

public static BaseFont getTitleFont() {
    if (titleFont == null) {
        Font font = FontFactory.getFont("/" + TITLE_FONT_NAME, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 0.8f,
                Font.NORMAL, BaseColor.BLACK);
        titleFont = font.getBaseFont();//  w  w  w.j  a  v a  2  s  .co  m
    }
    return titleFont;
}

From source file:com.softwaremagico.tm.pdf.complete.FadingSunsTheme.java

License:Open Source License

public static BaseFont getHandwrittingFont() {
    if (handwrittingFont == null) {
        Font font = FontFactory.getFont("/" + HANDWRITTING_FONT_NAME, BaseFont.IDENTITY_H, BaseFont.EMBEDDED,
                0.8f, Font.NORMAL, BaseColor.BLACK);
        handwrittingFont = font.getBaseFont();
    }/*ww w  .  j a va  2  s .  c  o  m*/
    return handwrittingFont;
}

From source file:com.swayam.bhasha.engine.io.writers.impl.PDFGenerator.java

License:Apache License

private Paragraph getParagraph(Para para) throws DocumentException, IOException, DocGenerationException {

    int align = para.getAlignment();
    int pdfAlign;

    switch (align) {
    case Para.CENTER:
        pdfAlign = Paragraph.ALIGN_CENTER;
        break;/*ww w .  jav  a2  s.c o  m*/

    case Para.RIGHT:
        pdfAlign = Paragraph.ALIGN_RIGHT;
        break;

    case Para.JUSTIFIED:
        pdfAlign = Paragraph.ALIGN_JUSTIFIED;
        break;

    case Para.LEFT:
    default:
        pdfAlign = Paragraph.ALIGN_LEFT;
        break;
    }

    List<ParaText> paraTextList = para.getParaTextList();
    Paragraph paragraph = new Paragraph();
    paragraph.setAlignment(pdfAlign);

    for (ParaText paraText : paraTextList) {

        int fontStyle = Font.NORMAL;

        if (paraText.isBold()) {
            fontStyle |= Font.BOLD;
        }

        if (paraText.isUnderline()) {
            fontStyle |= Font.UNDERLINE;
        }

        if (paraText.isItalic()) {
            fontStyle |= Font.ITALIC;
        }

        Font font = FontFactory.getFont(paraText.getFontFamily(), BaseFont.IDENTITY_H, BaseFont.EMBEDDED,
                paraText.getFontSize(), fontStyle, new BaseColor(paraText.getColor().getRGB()));

        // its very important to set the leading every time the font is set
        // otherwise, the chunks/phrases overlap.
        // paragraph.setLeading(font.getSize() * 1.5f);

        paragraph.add(new Phrase(paraText.getText(), font));
    }

    return paragraph;

}

From source file:com.VanLesh.macsv10.macs.Models.Pdf.java

License:GNU General Public License

private static void addContent(Document doc, Calculation calc) {
    try {//from   w ww  .j a  v a  2 s.c o  m
        //special font so we can render greek characters
        BaseFont bfComic = BaseFont.createFont("/system/fonts/DroidSansFallback.ttf", BaseFont.IDENTITY_H,
                BaseFont.EMBEDDED);
        Font font1 = new Font(bfComic, 12);
        Font tgfont, tipfont;

        if (calc.getRollover() > calc.getDrag()) {
            tipfont = redFont;
            tgfont = smallBold;
        } else {
            tipfont = smallBold;
            tgfont = redFont;
        }
        Anchor anchor = new Anchor("Site", subFont);
        anchor.setName("Site Parameters");
        Paragraph identifier = new Paragraph("Calculation ID:    " + calc.getTitle(), font1);
        Paragraph engineer = new Paragraph("Engineer:    " + calc.getEngineerName(), font1);
        Paragraph jobsite = new Paragraph("Jobsite:     " + calc.getJobSite(), font1);
        Paragraph latitude = new Paragraph("Latitude:     " + calc.getLatitude(), font1);
        Paragraph longitude = new Paragraph("Longitude:     " + calc.getLongitude(), font1);

        Anchor vehicleAnchor = new Anchor("Vehicle", subFont);
        vehicleAnchor.setName("Vehicle");
        Paragraph vehicleclass = new Paragraph("Vehicle Class:     " + calc.getVehicle().getVehicleClass(),
                font1);
        Paragraph vehicletype = new Paragraph("Vehicle Type:     " + calc.getVehicle().getVehicleType(), font1);
        Paragraph vehicleweight = new Paragraph("Wv:     " + calc.getVehicle().getWv(), font1);
        Paragraph vehicletracklength = new Paragraph("Tl:     " + calc.getVehicle().getTrackL(), font1);
        Paragraph vehicletrackwidth = new Paragraph("Tw:     " + calc.getVehicle().getTrackW(), font1);
        Paragraph vehiclebladewidth = new Paragraph("Wb:     " + calc.getVehicle().getBladeW(), font1);

        Anchor soilAnchor = new Anchor("Soil", subFont);
        soilAnchor.setName("Soil");
        Paragraph soiltype = new Paragraph("Soil Type:     " + calc.getSoil().getName(), font1);
        Paragraph soilunitweight = new Paragraph("\u03B3:     " + calc.getSoil().getunitW(), font1);
        Paragraph soilfrictionangle = new Paragraph("\u03A6:     " + calc.getSoil().getfrictA(), font1);
        Paragraph soilcohesion = new Paragraph("c:     " + calc.getSoil().getC(), font1);

        Anchor measurementsAnchor = new Anchor("Measurements", subFont);
        anchor.setName("Measurements");
        Paragraph beta = new Paragraph("\u03B2:     " + calc.getBeta(), font1);
        Paragraph theta = new Paragraph("\u03B8:     " + calc.getTheta(), font1);
        Paragraph Ha = new Paragraph("Ha:     " + calc.getHa(), font1);
        Paragraph La = new Paragraph("La:     " + calc.getLa(), font1);
        Paragraph Db = new Paragraph("Db:     " + calc.getD_b(), font1);

        Anchor resultsAnchor = new Anchor("Results", subFont);
        int drag = (int) calc.getDrag();
        int roll = (int) calc.getRollover();
        Paragraph Tg = new Paragraph("Anchor cap Sliding :     " + drag, tgfont);
        Paragraph tipover = new Paragraph("Anchor cap Overturning:     " + roll, tipfont);

        doc.add(anchor);
        doc.add(identifier);
        doc.add(engineer);
        doc.add(jobsite);
        doc.add(latitude);
        doc.add(longitude);

        doc.add(vehicleAnchor);
        doc.add(vehicleclass);
        doc.add(vehicletype);
        doc.add(vehicleweight);
        doc.add(vehicletracklength);
        doc.add(vehicletrackwidth);
        doc.add(vehiclebladewidth);

        doc.add(soilAnchor);
        doc.add(soiltype);
        doc.add(soilunitweight);
        doc.add(soilfrictionangle);
        doc.add(soilcohesion);

        doc.add(measurementsAnchor);
        doc.add(beta);
        doc.add(theta);
        doc.add(Ha);
        doc.add(La);
        doc.add(Db);

        doc.add(resultsAnchor);
        doc.add(Tg);
        doc.add(tipover);
        Log.e("addingcontent", "complete");

    } catch (Exception e) {
        Font font1 = new Font(Font.FontFamily.HELVETICA, 24, Font.NORMAL, BaseColor.BLACK);

    }

}

From source file:com.wabacus.system.component.application.report.abstractreport.AbsReportType.java

License:Open Source License

protected void addDataCell(Object configbean, String value, int rowspan, int colspan, int align) {
    if (dataFont == null) {
        int datafontsize = 0;
        if (this.pdfbean != null)
            datafontsize = this.pdfbean.getDatafontsize();
        if (datafontsize <= 0)
            datafontsize = 6;//  w ww .  j a  v a2 s  . com
        dataFont = new Font(PdfAssistant.getInstance().getBfChinese(), datafontsize, Font.NORMAL);
    }
    PdfPCell cell = new PdfPCell(new Paragraph(value, dataFont));
    cell.setColspan(colspan);//??
    cell.setRowspan(rowspan);
    //        }catch(Exception e)
    cell.setHorizontalAlignment(align);//??
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
    if (pdfbean != null && pdfbean.getInterceptorObj() != null) {
        pdfbean.getInterceptorObj().displayPerColDataWithoutTemplate(this, configbean, rowspan, value, cell);
    }
    pdfDataTable.addCell(cell);
}

From source file:comedor.actions.OperacionesComedorAction.java

private void crearPDF() throws IOException, DocumentException {
    Restaurante restaurante = godr.obtenerDatosRestaurante();

    //Creamos el directorio donde almacenar los pdf sino existe
    File file = new File(RUTA_CUENTAS); //Especificamos la ruta
    if (!file.exists()) { //Si el directorio no existe
        if (file.mkdir()) { //Creamos el directorio
            //Le asignamos los permisos 777
            file.setExecutable(true);//  ww w  . j  a va2 s.  c o  m
            file.setReadable(true);
            file.setExecutable(true);
        } else {
            System.err.println("Error al crear el directorio especificado");
            throw new IOException(); //Lanzamos una excepcion
        }
    }

    if (file.exists()) { //Si el directorio existe
        //Creamos el documento
        Document documento = new Document();
        //Creamos el OutputStream para el fichero pdf   
        FileOutputStream destino = new FileOutputStream(RUTA_CUENTAS + nombreDocumento);

        //Asociamos el FileOutputStream al Document
        PdfWriter.getInstance(documento, destino);
        //Abrimos el documento
        documento.open();

        //Aadimos el nombre del restaurante
        Font titulo = FontFactory.getFont(FontFactory.TIMES, 16, Font.BOLDITALIC);
        Chunk chunk = new Chunk(restaurante.getNombre(), titulo);
        Paragraph parrafo = new Paragraph(chunk);
        parrafo.setAlignment(Element.ALIGN_CENTER);
        documento.add(parrafo);
        //Aadimos la imagen
        String path = request.getServletContext().getRealPath("/img/elvis.png");
        Image foto = Image.getInstance(path);
        foto.scaleToFit(100, 100);
        foto.setAlignment(Chunk.ALIGN_MIDDLE);
        documento.add(foto);
        //Aadimos los datos del restaurante
        Font datos = FontFactory.getFont(FontFactory.TIMES, 12, Font.NORMAL);
        chunk = new Chunk(getText("cuenta.cif") + ": " + restaurante.getCif(), datos);
        documento.add(new Paragraph(chunk));
        chunk = new Chunk(getText("cuenta.direccion") + ": " + restaurante.getDireccion(), datos);
        documento.add(new Paragraph(chunk));
        chunk = new Chunk(getText("cuenta.telefono") + ": " + restaurante.getTelefono(), datos);
        documento.add(new Paragraph(chunk));
        //Aadimos los datos de la cuenta
        chunk = new Chunk(getText("cuenta.cuentaId") + ": " + cuenta.getId(), datos);
        documento.add(new Paragraph(chunk));
        SimpleDateFormat formatoFecha = new SimpleDateFormat("dd-MM-yyyy");
        chunk = new Chunk(getText("cuenta.fecha") + ": " + formatoFecha.format(cuenta.getFecha()), datos);
        documento.add(new Paragraph(chunk));
        SimpleDateFormat formtoHora = new SimpleDateFormat("HH:mm:ss");
        chunk = new Chunk(getText("cuenta.hora") + ": " + formtoHora.format(cuenta.getFecha()), datos);
        documento.add(new Paragraph(chunk));
        //Aadimos los datos del pedido
        //Obtenemos el usuario, es decir, del camarero con el nombre que tenemos registrado en la session 
        chunk = new Chunk(getText("cuenta.camarero") + ": " + session.get("usuario").toString(), datos);
        documento.add(new Paragraph(chunk));
        documento.add(new Chunk(Chunk.NEWLINE)); //Salto de linea        
        //Aadimos la tabla con los datos del pedido
        //Creamos una tabla
        PdfPTable tabla = new PdfPTable(4); //Especificamos el numero de columnas
        //Aadimos la cabecera de la tabla
        tabla.addCell(getText("cuenta.producto"));
        tabla.addCell(getText("cuenta.unidades"));
        tabla.addCell(getText("cuenta.pvp"));
        tabla.addCell(getText("cuenta.total"));
        for (Producto producto : pedido.getListaProductos()) {
            tabla.addCell(producto.getNombre());
            tabla.addCell(String.valueOf(producto.getUnidades()));
            tabla.addCell(String.valueOf(producto.getPrecio()));
            tabla.addCell(String.valueOf(producto.getPrecio() * producto.getUnidades()));

            if (producto instanceof Hamburguesa) {
                Hamburguesa h = (Hamburguesa) producto;
                for (Producto extra : h.getListaProductosExtra()) {
                    tabla.addCell("(E) " + extra.getNombre());
                    tabla.addCell(String.valueOf(extra.getUnidades()));
                    tabla.addCell(String.valueOf(extra.getPrecio()));
                    tabla.addCell(String.valueOf(extra.getPrecio() * extra.getUnidades()));
                }
            }
        }
        //Aadimos la tabla al documento
        documento.add(tabla);
        documento.add(new Chunk(Chunk.NEWLINE)); //Salto de linea
        //Aadimos una tabla con los impuestos y el total a pagar
        tabla = new PdfPTable(3); //Especificamos el numero de columnas    
        tabla.addCell(getText("cuenta.baseImponible") + ": " + pedido.getImporte() + "");
        tabla.addCell("");
        tabla.addCell("");
        DecimalFormat formato = new DecimalFormat("#.##");
        for (Impuesto dato : listaImpuestos) {
            tabla.addCell("");
            tabla.addCell(dato.getNombre() + ": " + dato.getValor());
            double impuesto = (pedido.getImporte() * dato.getValor()) / 100;
            tabla.addCell(
                    getText("cuenta.impuesto") + " " + dato.getNombre() + ": " + formato.format(impuesto));
        }
        tabla.addCell(getText("cuenta.total") + ": " + cuenta.getCantidad() + "");
        tabla.addCell("");
        tabla.addCell("");
        //Aadimos la tabla al documento
        documento.add(tabla);

        //Cerramos el documento
        documento.close();

    } else { //Si el directoiro no existe
        System.err.println("OperacionesComedorAction. Error no existe el directorio especificado");
        throw new IOException(); //Lanzamos una excepcion
    }
}