Example usage for com.itextpdf.text.pdf BaseFont createFont

List of usage examples for com.itextpdf.text.pdf BaseFont createFont

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf BaseFont createFont.

Prototype

public static BaseFont createFont(String name, String encoding, boolean embedded)
        throws DocumentException, IOException 

Source Link

Document

Creates a new font.

Usage

From source file:Servicios.formatos.java

private void b_fecha_promesa1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_fecha_promesa1ActionPerformed
    // TODO add your handling code here:
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);//w w  w. j  ava2s .  c  o  m

    Session session = HibernateUtil.getSessionFactory().openSession();
    try {
        Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
        Configuracion con = (Configuracion) session.get(Configuracion.class, 1);
        Date fecha = new Date();
        DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyyHH-mm-ss");//YYYY-MM-DD HH:MM:SS
        String valor = dateFormat.format(fecha);
        File folder = new File("reportes/" + ord.getIdOrden());
        folder.mkdirs();
        PdfReader reader = new PdfReader("imagenes/PlantillaPromesaQualitas.pdf");
        PdfStamper stamp = new PdfStamper(reader,
                new FileOutputStream("reportes/" + ord.getIdOrden() + "/" + valor + "-promesaQualitas.pdf"));
        PdfContentByte cb = stamp.getUnderContent(1);
        AcroFields fdfDoc = stamp.getAcroFields();
        BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);

        cb.beginText();
        //IMAGEN CABECERA
        Image img;
        try {
            img = Image.getInstance(ord.getCompania().getFoto());
            img.setAbsolutePosition(633, 480);
            img.scaleAbsoluteWidth(130);
            img.scaleAbsoluteHeight(70);
            cb.addImage(img, true);
        } catch (Exception e) {
            e.printStackTrace();
        }
        //SINIESTRO
        if (ord.getSiniestro() != null)
            fdfDoc.setField("siniestro", ord.getSiniestro());
        else
            fdfDoc.setField("siniestro", "");
        //REPORTE
        if (ord.getNoReporte() != null)
            fdfDoc.setField("reporte", ord.getNoReporte());
        else
            fdfDoc.setField("reporte", "");
        //INGRESO
        if (ord.getFecha() != null)
            fdfDoc.setField("ingreso", ord.getFecha().toString());
        else
            fdfDoc.setField("ingreso", "");
        //POLIZA
        if (ord.getPoliza() != null)
            fdfDoc.setField("poliza", ord.getPoliza());
        else
            fdfDoc.setField("poliza", "");
        //PLACAS
        if (ord.getNoPlacas() != null)
            fdfDoc.setField("placas", ord.getNoPlacas());
        else
            fdfDoc.setField("placas", "");
        //INCISO
        if (ord.getInciso() != null)
            fdfDoc.setField("inciso", ord.getInciso());
        else
            fdfDoc.setField("inciso", "");
        //MODELO
        if (ord.getModelo() != null)
            fdfDoc.setField("modelo", ord.getModelo().toString());
        else
            fdfDoc.setField("modelo", "");
        //VALUACION
        if (ord.getRLevantamientoInicio() != null)
            fdfDoc.setField("modelo", ord.getRLevantamientoInicio().toString());
        else
            fdfDoc.setField("modelo", "");
        //SERIE
        if (ord.getNoSerie() != null)
            fdfDoc.setField("serie", ord.getNoSerie());
        else
            fdfDoc.setField("serie", "");
        //PROMESA
        if (ord.getFechaCliente() != null)
            fdfDoc.setField("promesa", ord.getFechaCliente().toString());
        else
            fdfDoc.setField("promesa", "");
        //UNIDAD
        fdfDoc.setField("unidad", ord.getTipo().getTipoNombre() + " " + ord.getMarca().getMarcaNombre());
        //ASEGURADORA
        if (ord.getTipoCliente().compareTo("1") == 0) {
            fdfDoc.setField("aseguradora", ord.getClientes().getNombre());
            fdfDoc.setField("tercero", "");
        } else {
            fdfDoc.setField("aseguradora", "");
            fdfDoc.setField("tercero", ord.getClientes().getNombre());
        }

        try {
            img = Image.getInstance(ord.getCompania().getFoto());
            img.setAbsolutePosition(25, 38);
            img.scaleAbsoluteWidth(77);
            img.scaleAbsoluteHeight(38);
            cb.addImage(img, true);
        } catch (Exception e) {
            e.printStackTrace();
        }

        fdfDoc.setField("taller", con.getEmpresa());
        cb.endText();
        stamp.close();
        PDF reporte = new PDF();
        reporte.cerrar();
        reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-promesaQualitas.pdf");

    } catch (Exception e) {
        System.out.println(e);
        JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto");
    }
    if (session != null)
        if (session.isOpen())
            session.close();
}

From source file:Servicios.formatos.java

private void b_encuenta1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_encuenta1ActionPerformed
    // TODO add your handling code here:
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);/*from w  ww .j a v a2  s.com*/

    Session session = HibernateUtil.getSessionFactory().openSession();
    try {
        Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
        Configuracion con = (Configuracion) session.get(Configuracion.class, 1);
        Date fecha = new Date();
        DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyyHH-mm-ss");//YYYY-MM-DD HH:MM:SS
        String valor = dateFormat.format(fecha);
        File folder = new File("reportes/" + ord.getIdOrden());
        folder.mkdirs();
        PdfReader reader = new PdfReader("imagenes/PlantillaEncueStaQualitas.pdf");
        PdfStamper stamp = new PdfStamper(reader,
                new FileOutputStream("reportes/" + ord.getIdOrden() + "/" + valor + "-encuesta.pdf"));
        PdfContentByte cb = stamp.getUnderContent(1);
        AcroFields fdfDoc = stamp.getAcroFields();
        BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);

        cb.beginText();
        //EMPRESA
        if (con.getEmpresa() != null)
            fdfDoc.setField("TALLER", con.getEmpresa());
        else
            fdfDoc.setField("TALLER", "");
        //ASEGURADO
        if (ord.getClientes().getNombre() != null)
            fdfDoc.setField("ASEGURADO", ord.getClientes().getNombre());
        else
            fdfDoc.setField("ASEGURADO", "");
        //REPORTE
        if (ord.getNoReporte() != null)
            fdfDoc.setField("REPORTE", ord.getNoReporte());
        else
            fdfDoc.setField("REPORTE", "");
        //VEHICULO
        String auto = "";
        if (ord.getTipo().getTipoNombre() != null)
            auto = ord.getTipo().getTipoNombre();

        if (ord.getMarca().getMarcaNombre() != null)
            auto += "/" + ord.getMarca().getMarcaNombre();
        fdfDoc.setField("VEHICULO", auto);
        //PLACAS
        if (ord.getNoPlacas() != null)
            fdfDoc.setField("PLACAS", ord.getNoPlacas());
        else
            fdfDoc.setField("PLACAS", "");
        //TELEFONO
        if (ord.getClientes().getTelefono() != null)
            fdfDoc.setField("TELEFONO", ord.getClientes().getTelefono());
        else
            fdfDoc.setField("TELEFONO", "");
        //EMAIL
        if (ord.getClientes().getEmail() != null)
            fdfDoc.setField("EMAIL", ord.getClientes().getEmail());
        else
            fdfDoc.setField("EMAIL", "");

        cb.endText();
        stamp.close();
        PDF reporte = new PDF();
        reporte.cerrar();
        reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-encuesta.pdf");

    } catch (Exception e) {
        System.out.println(e);
        JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto");
    }
    if (session != null)
        if (session.isOpen())
            session.close();
}

From source file:Servicios.formatos.java

private void b_salida1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_salida1ActionPerformed
    // TODO add your handling code here:
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);//from  www  .  j  av  a2  s.c  o  m

    Session session = HibernateUtil.getSessionFactory().openSession();
    try {
        Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
        Configuracion con = (Configuracion) session.get(Configuracion.class, 1);
        Date fecha = new Date();
        DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyyHH-mm-ss");//YYYY-MM-DD HH:MM:SS
        String valor = dateFormat.format(fecha);
        File folder = new File("reportes/" + ord.getIdOrden());
        folder.mkdirs();
        PdfReader reader = new PdfReader("imagenes/PlantillaPromesaAxa.pdf");
        PdfStamper stamp = new PdfStamper(reader,
                new FileOutputStream("reportes/" + ord.getIdOrden() + "/" + valor + "-promesaAXA.pdf"));
        PdfContentByte cb = stamp.getUnderContent(1);
        AcroFields fdfDoc = stamp.getAcroFields();
        BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);

        cb.beginText();
        //IMAGEN
        try {
            Image img = Image.getInstance(ord.getCompania().getFoto());
            img.setAbsolutePosition(25, 695);
            img.scaleAbsoluteWidth(75);
            img.scaleAbsoluteHeight(45);
            cb.addImage(img, true);
        } catch (Exception e) {
            e.printStackTrace();
        }
        //SINIESTRO
        if (ord.getSiniestro() != null)
            fdfDoc.setField("Siniestro", ord.getSiniestro());
        else
            fdfDoc.setField("Siniestro", "");
        //FECHA SINIESTRO
        if (ord.getFechaSiniestro() != null)
            fdfDoc.setField("FechaSiniestro", ord.getFechaSiniestro().toString());
        else
            fdfDoc.setField("FechaSiniestro", "");
        //NOMBRE DEL TALLER
        if (con.getEmpresa() != null)
            fdfDoc.setField("NombreTaller", con.getEmpresa());
        else
            fdfDoc.setField("NombreTaller", "");
        //DIRECCION DEL TALLER 
        String direccion = "";
        if (con.getDireccion() != null)
            direccion += con.getDireccion() + " ";
        if (con.getNo() != null)
            direccion += con.getNo() + " ";
        if (con.getColonia() != null)
            direccion += con.getColonia() + " ";
        fdfDoc.setField("DireccionTaller", direccion);
        //FECHA INGRESO
        if (ord.getFecha() != null)
            fdfDoc.setField("FechaIngreso", ord.getFecha().toString());
        else
            fdfDoc.setField("FechaIngreso", "");
        //FECHA PROMESA
        if (ord.getFechaCliente() != null)
            fdfDoc.setField("FechaPromesa", ord.getFechaCliente().toString());
        else
            fdfDoc.setField("FechaPromesa", "");

        cb.endText();
        stamp.close();
        PDF reporte = new PDF();
        reporte.cerrar();
        reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-promesaAXA.pdf");

    } catch (Exception e) {
        System.out.println(e);
        JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto");
    }
    if (session != null)
        if (session.isOpen())
            session.close();
}

From source file:Servicios.formatos.java

private void b_hoja_unidad1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_hoja_unidad1ActionPerformed
    // TODO add your handling code here:
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);//  ww w  . j a  v a  2s. c  o m

    Session session = HibernateUtil.getSessionFactory().openSession();
    try {
        BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
        Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
        PDF reporte = new PDF();
        Date fecha = new Date();
        DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyyHH-mm-ss");//YYYY-MM-DD HH:MM:SS
        String valor = dateFormat.format(fecha);
        File folder = new File("reportes/" + ord.getIdOrden());
        folder.mkdirs();
        reporte.Abrir(PageSize.LETTER, "Hoja de Unidad",
                "reportes/" + ord.getIdOrden() + "/" + valor + "-unidad1.pdf");

        /*try
        {
        reporte.agregaObjeto(reporte.crearImagen(ord.getCompania().getFoto(), 20, -120, 45));
        }catch(Exception e){}*/

        reporte.contenido.setLineWidth(0.5f);
        reporte.contenido.setColorStroke(new GrayColor(0.2f));
        reporte.contenido.setColorFill(new GrayColor(0.9f));
        //reporte.contenido.roundRectangle(370, 660, 190, 90, 10);
        //reporte.contenido.rectangle(370, 650, 190, 1);

        reporte.inicioTexto();
        reporte.texto("No de Orden", bf, BaseColor.BLACK, 80, 40, 500);
        reporte.texto(orden, bf, BaseColor.BLACK, 150, 30, 300);
        /*
        //********agregamos asegurado***********************************************************
        reporte.texto("ASEGURADO:", bf, BaseColor.BLACK, 23, 40, 550);
        try
        {
            String var=ord.getClientes().getNombre();
            if(var.length()>31)
                var=var.substring(0, 31);
        reporte.texto(var, bf, BaseColor.BLACK, 17, 210, 550);
        }catch(Exception e)
        {
            reporte.texto(" ", bf, BaseColor.BLACK, 17, 210, 550);
        }
        reporte.contenido.rectangle(207, 540, 350, 0);
        //********agregamos placas***********************************************************
        reporte.texto("PLACAS:", bf, BaseColor.BLACK, 23, 95, 500);
        try
        {
            reporte.texto(ord.getNoPlacas(), bf, BaseColor.BLACK, 23, 210, 500);
        }catch(Exception e)
        {
            reporte.texto(" ", bf, BaseColor.BLACK, 17, 210, 500);
        }
        reporte.contenido.rectangle(207, 490, 350, 0);
                
        //********agregamos marca*************************************************************
        reporte.texto("MARCA:", bf, BaseColor.BLACK, 23, 100, 450);
        reporte.texto(ord.getMarca().getMarcaNombre(), bf, BaseColor.BLACK, 23, 210, 450);
        reporte.contenido.rectangle(207, 440, 350, 0);
                
        //********agregamos tipo***************************************************************
        reporte.texto("TIPO:", bf, BaseColor.BLACK, 23, 130, 400);
        reporte.texto(ord.getTipo().getTipoNombre(), bf, BaseColor.BLACK, 23, 210, 400);
        reporte.contenido.rectangle(207, 390, 350, 0);
                
        //********agregamos responsable de hojalateria******************************************
        reporte.texto("HOJALATERIA:", bf, BaseColor.BLACK, 23, 30, 350);
        try
        {
            reporte.texto(ord.getEmpleadoByRHojalateria().getNombre(), bf, BaseColor.BLACK, 17, 210, 350);
        }catch(Exception e)
        {
            reporte.texto(" ", bf, BaseColor.BLACK, 23, 210, 350);
        }
        reporte.contenido.rectangle(207, 340, 350, 0);
                
        //********agregamos responsable de pintura**********************************************
        reporte.texto("MECANICA:", bf, BaseColor.BLACK, 23, 64, 300);
        try
        {
            reporte.texto(ord.getEmpleadoByRMecanica().getNombre(), bf, BaseColor.BLACK, 17, 210, 300);
        }catch(Exception e)
        {
            reporte.texto(" ", bf, BaseColor.BLACK, 23, 210, 300);
        }
        reporte.contenido.rectangle(207, 290, 350, 0);
                
        //********agregamos responsable de pintura**********************************************
        reporte.texto("SUSPENSIN:", bf, BaseColor.BLACK, 23, 35, 250);
        try
        {
            reporte.texto(ord.getEmpleadoByRSuspension().getNombre(), bf, BaseColor.BLACK, 17, 210, 250);
        }catch(Exception e)
        {
            reporte.texto(" ", bf, BaseColor.BLACK, 23, 210, 250);
        }
        reporte.contenido.rectangle(207, 240, 350, 0);
                
        //********agregamos responsable de pintura**********************************************
        reporte.texto("ELECTRICO:", bf, BaseColor.BLACK, 23, 52, 200);
        try
        {
            reporte.texto(ord.getEmpleadoByRElectrico().getNombre(), bf, BaseColor.BLACK, 17, 210, 200);
        }catch(Exception e)
        {
            reporte.texto(" ", bf, BaseColor.BLACK, 23, 210, 200);
        }
        reporte.contenido.rectangle(207, 190, 350, 0);
                
        //********agregamos fecha de ingreso*****************************************************
        reporte.texto("INGRESO:", bf, BaseColor.BLACK, 23, 74, 150);               
        try
        {
            reporte.texto(ord.getFecha().toString(), bf, BaseColor.BLACK, 23, 210, 150);
        }
        catch(Exception e)
        {
            reporte.texto(" ", bf, BaseColor.BLACK, 23, 210, 150);
        }
        reporte.contenido.rectangle(207, 140, 350, 0);
                
        //********agregamos fecha de entrega*******************************************************
        reporte.texto("ENTREGA:", bf, BaseColor.BLACK, 23, 74, 100);
        try
        {
            reporte.texto(ord.getFechaTaller().toString(), bf, BaseColor.BLACK, 23, 210, 100);
        }
        catch(Exception e)
        {
            reporte.texto(" ", bf, BaseColor.BLACK, 23, 210, 100);
        }
        reporte.contenido.rectangle(207, 90, 350, 0);*/

        reporte.finTexto();

        reporte.cerrar();
        reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-unidad1.pdf");
    } catch (Exception e) {
        System.out.println(e);
        e.printStackTrace();
        JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto");
    }
    if (session != null)
        if (session.isOpen())
            session.close();
}

From source file:Servicios.SmLogistics.java

private void b_inventario_formatoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_inventario_formatoActionPerformed
    // TODO add your handling code here:
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);/* w w w .j a va 2s. c  o  m*/
    Session session = HibernateUtil.getSessionFactory().openSession();
    try {
        BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
        Orden ord = (Orden) session.get(Orden.class, orden_act.getIdOrden());
        session.beginTransaction().begin();
        Configuracion con = (Configuracion) session.get(Configuracion.class, 1);

        PDF reporte = new PDF();
        Date fecha = new Date();
        DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyyHH-mm-ss");//YYYY-MM-DD HH:MM:SS
        String valor = dateFormat.format(fecha);
        File folder = new File("reportes/" + ord.getIdOrden());
        folder.mkdirs();
        reporte.Abrir2(PageSize.LETTER, "Inventario de Tractocamin",
                "reportes/" + ord.getIdOrden() + "/" + valor + "-invTRacto.pdf");

        reporte.agregaObjeto(reporte.crearImagen("imagenes/empresa300115.jpg", 00, -32, 17));

        reporte.contenido.setLineWidth(0.5f);
        reporte.contenido.setColorStroke(new GrayColor(0.2f));
        reporte.contenido.setColorFill(new GrayColor(0.9f));
        reporte.contenido.roundRectangle(30, 710, 550, 60, 5);

        reporte.inicioTexto();
        reporte.contenido.setFontAndSize(bf, 14);
        reporte.contenido.setColorFill(BaseColor.BLACK);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, con.getEmpresa(), 305, 755, 0);
        reporte.contenido.setFontAndSize(bf, 8);
        reporte.contenido.setColorFill(BaseColor.BLACK);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "HOLAJATERIA Y PINTURA EN GENERAL", 305,
                743, 0);
        reporte.texto("FECHA: " + ord.getFecha().toString(), bf, BaseColor.BLACK, 7, 495, 743);
        reporte.contenido.rectangle(527, 742, 50, 0);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "COMPRA Y VENTA DE REFACCIONES", 305,
                733, 0);
        reporte.texto("SEGURO: ", bf, BaseColor.BLACK, 8, 487, 733);
        reporte.contenido.rectangle(527, 732, 50, 0);
        reporte.texto("OT: " + ord.getIdOrden(), bf, BaseColor.BLACK, 8, 511, 723);
        reporte.contenido.rectangle(527, 722, 50, 0);
        String cliente = ord.getClientes().getNombre();
        if (cliente.length() > 58)
            cliente = cliente.substring(0, 58);
        reporte.texto("ASEGURADO: " + cliente, bf, BaseColor.BLACK, 7, 135, 723);
        reporte.contenido.rectangle(190, 722, 288, 0);
        if (ord.getNoSerie() != null)
            reporte.texto("SERIE: " + ord.getNoSerie(), bf, BaseColor.BLACK, 7, 38, 713);
        else
            reporte.texto("SERIE: ", bf, BaseColor.BLACK, 7, 38, 713);

        reporte.contenido.rectangle(65, 712, 72, 0);
        reporte.texto("MARCA: " + ord.getMarca().getMarcaNombre(), bf, BaseColor.BLACK, 7, 145, 713);
        reporte.contenido.rectangle(177, 712, 145, 0);
        reporte.texto("TIPO: " + ord.getTipo().getTipoNombre(), bf, BaseColor.BLACK, 7, 330, 713);
        reporte.contenido.rectangle(352, 712, 125, 0);
        if (ord.getModelo() != null)
            reporte.texto("MODELO: " + ord.getModelo(), bf, BaseColor.BLACK, 7, 488, 713);
        else
            reporte.texto("MODELO: ", bf, BaseColor.BLACK, 7, 488, 713);

        reporte.finTexto();

        //agregamos renglones vacios para dejar un espacio
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));

        float tam[] = new float[] { 350, 50, 50, 200, 350, 50, 50, 200 };
        Font font = new Font(Font.FontFamily.HELVETICA, 7, Font.BOLD);
        PdfPTable tabla = reporte.crearTabla(8, tam, 100, Element.ALIGN_LEFT);
        BaseColor cabecera = BaseColor.GRAY;
        BaseColor contenido = BaseColor.WHITE;
        int centro = Element.ALIGN_CENTER;
        int izquierda = Element.ALIGN_LEFT;
        int derecha = Element.ALIGN_RIGHT;
        tabla.addCell(reporte.celda("INVENTARIO DE UNIDADES", font, BaseColor.LIGHT_GRAY, centro, 8, 1,
                Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("DESCRIPCIN", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("SI", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("NO", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("OBSERVACIONES", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("DESCRIPCIN", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("SI", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("NO", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("OBSERVACIONES", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));

        //agregamos los renglones
        String descripcion[][] = { { "I SECCIN FRENTE", "EXTINGUIDOR" }, { "DEFENSA O ALMA", "LUZ INTERIOR" },
                { "CUBIERTAS DEFENSA", "PALANCA VELOCIDADES" }, { "COFRE", "SELECTOR VELOCIDADES" },
                { "BISAGRA COFRE", "VESTIDURA" }, { "SALPICADERAS", "III DORMITORIO EXT." },
                { "BISELES", "TOLDO" }, { "FAROS", "DEFLECTOR TOLDO" }, { "DIRECCIONALES", "CONCHA LATERALES" },
                { "MOLDURAS", "LIENZO COSTADO" }, { "PARRILLA", "PUERTA COST. SUP." },
                { "EMBLEMAS", "PUERTA COST. INF." }, { "EXT. SALPICADERA", "MANIJA CHAPA" },
                { "II CABINA EXT.", "PASAMANOS" }, { "ZEPPELIN", "DEFLECTOR LATERAL" },
                { "CORNETA AIRE ELECT.", "LIENZO TRASERO" }, { "PARABRISAS Y HULE", "INTERIOR" },
                { "BRAZOS Y PLUMAS IMP.", "CORTINA" }, { "DEFLECTOR TOLDO", "COLCHN" },
                { "ESPEJO LATERAL", "CALEFACCIN" }, { "PUERTAS", "LUZ INTERIOR" },
                { "CRISTAL PUERTA", "VESTIDURA" }, { "MANIJA", "GATO Y HERRAMIENTA" },
                { "PASAMANOS", "LLAVE DE RUEDAS" }, { "DEFLECTOR LATERAL", "SEALES EMERGENCIA" },
                { "CRISTAL MEDALLN", "IV ACCCESORIOS Y MOTOR" }, { "INTERIOR", "CAJA BATERIA Y TAPA" },
                { "TOLDO", "ACUMULADOR" }, { "CONSOLA TOLDO", "TANQUES COMBUSTIBLE" },
                { "CONSOLA TABLERO", "ESTRIBOS TANQUES" }, { "APARATOS TABLERO", "FALDONES TANQUES" },
                { "RELOJ", "TANQUES AIRE" }, { "CONTROLES TABLERO", "PUNTA ESCAPE" },
                { "GUANTERA", "MALLA SILENCIADOR" }, { "CENICERO", "SILENCIADOR" },
                { "ENCENDEDOR", "QUINTA RUEDA" }, { "C.B.", "EJE DEL." }, { "RADIO ESTREO", "MUELLES DEL." },
                { "BOCINAS", "BRAZOS DE DIRECCIN" }, { "VOLANTE", "CAJA DE DIRECCIN" },
                { "PALANCA DIRECCIONALES", "CONDENSADOR" }, { "ASIENTOS", "ENFRIADOR DE AIRE" },
                { "CINTURONES SEGURIDAD", "POST ENFRIADOR" }, { "MANIJAS", "RADIADOR" },
                { "TOLVA RADIADOR", "ALTERNADOR" }, { "MANGUERAS", "BANDAS DE MOTOR" },
                { "VENTILADOR/FAN CLUTCH", "BAYONETA ACEITE DE MOTOR" }, { "DAMPER", "TURBO" },
                { "TAPA DISTRIBUCIN", "DEPSITO AGUA" }, { "POLEA DE MARCAS", "FRENO MOTOR" },
                { "BOMBA INYECCIN", "GPS" }, { "TARJETA IAVE", "CARDAN" }, { "COMPUTADORA", "YUGO" },
                { "COMPRESOR A/C", "CRUCETA" }, { "COMPRESOR AIRE", "INTERDIFERENCIALES" },
                { "BOMBA DIRECCIN HID.", "DIFERENCIAL(1)(2)" },
                { "DEPSITO DIRECCIN HID.", "FLECHA DIFERENCIALES" },
                { "BAYONETA ACEITE HID.", "SUSPENSIN TRASERA" }, { "PURIFICADOR", "C?MARAS DE AIRE" },
                { "MONO BLOCK", "TOMA DE FUERZA VOLTEO" }, { "CARTER", "TANQUE ACEITE HID. VOLTEO" },
                { "CONCHA MOTOR", "SOPORTE SILENCIADOR" }, { "MARCHA", "ENGOMADOS" },
                { "CLUTCH", "PLACA DELANTERA" }, { "CAMPANA TRANSMISIN", "PLACA TRASERA" },
                { "TRANSMISIN", "KILOMETRAJE" }, { "BOMBA DE AGUA", "LODERAS INTERNAS" },
                { "BOMBA DE ACEITE", "LODERAS TRASERAS" },

        };
        for (int i = 0; i < 68; i++) {
            tabla.addCell(
                    reporte.celda(descripcion[i][0], font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(
                    reporte.celda(descripcion[i][1], font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
        }
        tabla.addCell(reporte.celda(" ", font, contenido, centro, 0, 1, Rectangle.NO_BORDER));
        tabla.addCell(reporte.celda(" ", font, contenido, centro, 7, 1, Rectangle.BOTTOM));
        tabla.addCell(reporte.celda("herramientas:", font, contenido, derecha, 0, 1, Rectangle.NO_BORDER));
        tabla.addCell(reporte.celda(" ", font, contenido, centro, 7, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0, 1, Rectangle.NO_BORDER));
        tabla.addCell(reporte.celda(" ", font, contenido, centro, 7, 1, Rectangle.RECTANGLE));

        reporte.agregaObjeto(tabla);
        reporte.inicioTexto();
        reporte.contenido.setFontAndSize(bf, 14);
        reporte.contenido.setColorFill(BaseColor.BLACK);
        //reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, con.getEmpresa(), 305, 755, 0);
        reporte.contenido.setFontAndSize(bf, 8);
        reporte.contenido.setColorFill(BaseColor.BLACK);
        reporte.contenido.rectangle(527, 712, 50, 0);

        reporte.contenido.roundRectangle(30, 440, 550, 150, 5);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "COMBUSTIBLE", 530, 520, 270);//445
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "LLANTAS", 200, 575, 0);//400

        reporte.contenido.rectangle(70, 30, 215, 0);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "NOMBRE Y FIRMA DEL CLIENTE", 185, 20,
                0);
        reporte.contenido.rectangle(320, 30, 215, 0);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "OPERADOR DE GRUA", 430, 20, 0);
        reporte.finTexto();
        //*****agregamos los tanques de combustible
        reporte.agregaObjeto(reporte.crearImagen("imagenes/nivel.jpg", 350, -145, 25));
        reporte.agregaObjeto(reporte.crearImagen("imagenes/llantas.jpg", -125, -145, 65));

        reporte.cerrar();
        reporte.visualizar2("reportes/" + ord.getIdOrden() + "/" + valor + "-invTRacto.pdf");

    } catch (Exception e) {
        System.out.println(e);
        JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto");
    }
    if (session != null)
        if (session.isOpen())
            session.close();
}

From source file:Servicios.SmLogistics.java

private void b_desgaste_formatoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_desgaste_formatoActionPerformed
    // TODO add your handling code here:
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);/*  w  w w  .j  a v  a 2s  . co m*/
    Session session = HibernateUtil.getSessionFactory().openSession();
    try {
        Orden ord = (Orden) session.get(Orden.class, orden_act.getIdOrden());

        Date fecha = new Date();
        DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyyHH-mm-ss");//YYYY-MM-DD HH:MM:SS
        String valor = dateFormat.format(fecha);
        File folder = new File("reportes/" + ord.getIdOrden());
        folder.mkdirs();
        PdfReader reader = new PdfReader("imagenes/Desgaste.pdf");
        PdfStamper stamp = new PdfStamper(reader,
                new FileOutputStream("reportes/" + ord.getIdOrden() + "/" + valor + "-DESGASTE.pdf"));
        PdfContentByte cb = stamp.getUnderContent(1);
        AcroFields fdfDoc = stamp.getAcroFields();
        BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
        Image img;
        cb.beginText();

        try {
            fdfDoc.setField("CLIENTE", ord.getClientes().getNombre());
        } catch (Exception e) {
            fdfDoc.setField("NOMBRE", "");
        }
        try {
            fdfDoc.setField("ORDEN", "" + ord.getIdOrden());
        } catch (Exception e) {
            fdfDoc.setField("ORDEN", "");
        }
        try {
            fdfDoc.setField("ECO", ord.getNoEconomico());
        } catch (Exception e) {
            fdfDoc.setField("ECO", "");
        }
        try {
            fdfDoc.setField("SERIE", ord.getNoMotor());
        } catch (Exception e) {
            fdfDoc.setField("SERIE", "");
        }
        try {
            fdfDoc.setField("VIN", ord.getNoSerie());
        } catch (Exception e) {
            fdfDoc.setField("VIN", "");
        }
        cb.endText();
        stamp.close();
        PDF reporte = new PDF();
        reporte.visualizar2("reportes/" + ord.getIdOrden() + "/" + valor + "-DESGASTE.pdf");
        reporte.cerrar();
    } catch (Exception e) {
        System.out.println(e);
        JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto");
    } finally {
        if (session != null)
            if (session.isOpen())
                session.close();
    }
}

From source file:storehausimport.SaveToPdf.java

public boolean save(String inputFilePath, String outputFilePath) throws Exception {
    if (outputFilePath.isEmpty()) {
        throw new Exception("Trkst parametrs outputFilePath");
    }// w  w  w .  j ava2 s .  c  om
    if (inputFilePath.isEmpty()) {
        throw new Exception("Trkst parametrs inputFilePath");
    }
    File inputFile = new File(inputFilePath);
    Document pdfDoc = new Document();
    try {
        PdfWriter writer = PdfWriter.getInstance(pdfDoc, new FileOutputStream(outputFilePath));
        pdfDoc.open();
        pdfDoc.setMarginMirroring(true);
        pdfDoc.setMargins(36, 72, 108, 180);
        pdfDoc.topMargin();

        BaseFont helvetica = BaseFont.createFont("Helvetica", BaseFont.CP1257, BaseFont.NOT_EMBEDDED);
        Font normal_font = new Font(helvetica, 10, Font.NORMAL);
        Font bold_font = new Font();
        bold_font.setStyle(Font.BOLD);
        bold_font.setSize(10);
        pdfDoc.add(new Paragraph("\n"));
        if (inputFile.exists()) {
            iStream = new FileInputStream(inputFile);
            in = new DataInputStream(iStream);
            is = new InputStreamReader(in);
            br = new BufferedReader(is);
            String strLine;
            while ((strLine = br.readLine()) != null) {
                Paragraph para = new Paragraph(strLine + "\n", normal_font);
                para.setAlignment(Element.ALIGN_LEFT);
                pdfDoc.add(para);
            }
        } else {
            pdfDoc.close();
            throw new Exception("Trkst parametrs inputFilePath");
        }
        pdfDoc.close();
    } catch (Exception ex) {
        throw new Exception(ex);
    }
    return true;
}

From source file:uy.edu.ort.arqliv.obligatorio.client.DemoConsole1.java

public static void createPdf(String filename) throws IOException, DocumentException {
    Document document = new Document();
    PdfWriter.getInstance(document, new FileOutputStream(filename));
    document.open();/* www  .  jav  a  2s .  co  m*/
    BaseFont bf;
    Font font;
    for (int i = 0; i < FONTS.length; i++) {
        bf = BaseFont.createFont(FONTS[i][0], FONTS[i][1], BaseFont.EMBEDDED);
        document.add(new Paragraph(String.format("Font file: %s with encoding %s", FONTS[i][0], FONTS[i][1])));
        document.add(new Paragraph(String.format("iText class: %s", bf.getClass().getName())));
        font = new Font(bf, 12);
        document.add(new Paragraph(TEXT, font));
        document.add(new LineSeparator(0.5f, 100, null, 0, -5));
    }
    document.close();
}

From source file:uy.gub.imm.sae.web.mbean.reserva.PasoFinalMBean.java

License:Open Source License

public String imprimirTicket() {
    try {/*from w  w  w. j  av  a 2  s  .  c  o m*/

        BaseColor colorBlack = new BaseColor(0, 0, 0);

        BaseFont times = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
        BaseFont helveticaBold = BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252,
                BaseFont.NOT_EMBEDDED);
        BaseFont symbol = BaseFont.createFont(BaseFont.SYMBOL, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);

        SimpleDateFormat sdfHr = new SimpleDateFormat("HH:mm");
        SimpleDateFormat sdfFecha = new SimpleDateFormat("dd/MM/yyyy");

        Rectangle pageSize = new Rectangle(210, 210);

        Document document = new Document(pageSize);
        document.addTitle(getI18N().getText("etiqueta.reserva.title"));

        ByteArrayOutputStream os = new ByteArrayOutputStream();

        PdfWriter pdfWriter = PdfWriter.getInstance(document, os);
        document.open();

        PdfContentByte pdfContent = pdfWriter.getDirectContent();

        InputStream is = PasoFinalMBean.class.getResourceAsStream(SAEProfile.getInstance().getProperties()
                .getProperty(SAEProfile.PROFILE_UI_TEMPLATES_IMAGES_LOGO_TICKET_KEY));

        byte[] arrImage = new byte[4096];
        is.read(arrImage);

        Image img = Image.getInstance(arrImage);

        img.scaleAbsolute(100, 30);
        img.setAbsolutePosition(55, 170);
        document.add(img);

        //Dibujo primer lnea
        LineSeparator line = new LineSeparator();
        line.setAlignment(LineSeparator.ALIGN_CENTER);
        line.setLineColor(colorBlack);
        line.setLineWidth(0.5f);

        line.drawLine(pdfContent, 10, 200, 170);

        //Etiqueta RESERVA
        pdfContent.beginText();
        pdfContent.setFontAndSize(helveticaBold, 15);
        pdfContent.setTextMatrix(45, 150);
        pdfContent.showText(getI18N().getText("etiqueta.reserva.showText"));
        pdfContent.endText();

        //Fecha de la reserva
        String fecha_reserva = sdfFecha.format(sesionMBean.getDisponibilidad().getHoraInicio());

        pdfContent.beginText();
        pdfContent.setFontAndSize(symbol, 16);
        pdfContent.setTextMatrix(130, 150);
        pdfContent.showText(fecha_reserva);
        pdfContent.endText();

        //Dibujo segunda lnea
        line.drawLine(pdfWriter.getDirectContent(), 10, 200, 140);

        int etiqHoraTamanio = 25;
        int etiqHoraX = 15;
        int etiqHoraY = 85;

        int valorHoraTamanio = 40;
        int valorHoraX = 105;
        int valorHoraY = 80;

        String serie = sesionMBean.getRecurso().getSerie();
        boolean conSerie = (serie != null) && (serie.length() >= 1);

        if (sesionMBean.getRecurso().getMostrarNumeroEnTicket()) {

            if (!conSerie) {
                //Ajusto valor y etiqueta hora
                etiqHoraTamanio = 20;
                etiqHoraX = 15;
                etiqHoraY = 110;

                valorHoraTamanio = 30;
                valorHoraX = 120;
                valorHoraY = 107;

                //Etiqueta NUMERO
                pdfContent.beginText();
                pdfContent.setFontAndSize(helveticaBold, 20);
                pdfContent.setTextMatrix(15, 65);
                pdfContent.showText(getI18N().getText("etiqueta.numero.numero"));
                pdfContent.endText();

                //Numero de la reserva
                String nro = sesionMBean.getReservaConfirmada().getNumero().toString();
                int nro_pos = 135;

                if (nro.length() == 1) {
                    nro_pos = 135;
                } else if (nro.length() == 2) {
                    nro_pos = 125;
                } else {
                    nro_pos = 105;
                }

                pdfContent.beginText();
                pdfContent.setFontAndSize(symbol, 60);
                pdfContent.setTextMatrix(nro_pos, 55);
                pdfContent.showText(nro);
                pdfContent.endText();
            } else {
                //<<<<<< Agregado >>>>>>
                //Ajusto valor y etiqueta hora
                etiqHoraTamanio = 20;
                etiqHoraX = 15;
                etiqHoraY = 123;

                valorHoraTamanio = 20;
                valorHoraX = 120;
                valorHoraY = 122;

                //Etiqueta SERIE
                pdfContent.beginText();
                pdfContent.setFontAndSize(helveticaBold, 20);
                pdfContent.setTextMatrix(15, 87);
                pdfContent.showText(getI18N().getText("etiqueta.numero.serie"));
                pdfContent.endText();

                pdfContent.beginText();
                pdfContent.setFontAndSize(helveticaBold, 20);
                pdfContent.setTextMatrix(120, 87);
                pdfContent.showText(serie);
                pdfContent.endText();

                //Etiqueta NUMERO
                pdfContent.beginText();
                pdfContent.setFontAndSize(helveticaBold, 20);
                pdfContent.setTextMatrix(15, 50);
                pdfContent.showText(getI18N().getText("etiqueta.numero.numero"));
                pdfContent.endText();

                //Numero de la reserva
                String nro = sesionMBean.getReservaConfirmada().getNumero().toString();
                int nro_pos = 135;

                if (nro.length() == 1) {
                    nro_pos = 135;
                } else if (nro.length() == 2) {
                    nro_pos = 125;
                } else {
                    nro_pos = 105;
                }

                pdfContent.beginText();
                pdfContent.setFontAndSize(symbol, 40);
                pdfContent.setTextMatrix(nro_pos, 47);
                pdfContent.showText(nro);
                pdfContent.endText();
            }
        }

        //Etiqueta HORA
        pdfContent.beginText();
        pdfContent.setFontAndSize(helveticaBold, etiqHoraTamanio);
        pdfContent.setTextMatrix(etiqHoraX, etiqHoraY);
        pdfContent.showText(getI18N().getText("etiqueta.hora.hora"));
        pdfContent.endText();

        //Hora de la reserva
        pdfContent.beginText();
        pdfContent.setFontAndSize(symbol, valorHoraTamanio);
        pdfContent.setTextMatrix(valorHoraX, valorHoraY);
        pdfContent.showText(sdfHr.format(sesionMBean.getDisponibilidad().getHoraInicio()));
        pdfContent.endText();

        //Dibujo tercer lnea
        line.drawLine(pdfWriter.getDirectContent(), 10, 200, 45);

        String ticketEtiqUno = sesionMBean.getRecurso().getTextoRecurso().getTicketEtiquetaUno();
        String ticketEtiqDos = sesionMBean.getRecurso().getTextoRecurso().getTicketEtiquetaDos();
        int largoEtiqUno = 0;
        int largoEtiqDos = 0;
        int xValores = 0;

        if (ticketEtiqUno != null) {
            largoEtiqUno = ticketEtiqUno.length();
        }

        if (ticketEtiqDos != null) {
            largoEtiqDos = ticketEtiqDos.length();
        }

        if (largoEtiqUno > largoEtiqDos) {
            xValores = 8 * (largoEtiqUno + 1);
        } else {
            xValores = 8 * (largoEtiqDos + 1);
        }

        //Etiqueta uno
        if (ticketEtiqUno != null) {
            pdfContent.beginText();
            pdfContent.setFontAndSize(helveticaBold, 10);
            pdfContent.setTextMatrix(10, 30);
            pdfContent.showText(ticketEtiqUno + ":");
            pdfContent.endText();
        }

        //Valor etiqueta uno
        String valorEtiqUno = sesionMBean.getRecurso().getTextoRecurso().getValorEtiquetaUno();
        if (valorEtiqUno != null) {
            pdfContent.beginText();
            pdfContent.setFontAndSize(times, 10);
            pdfContent.setTextMatrix(xValores, 30);
            pdfContent.showText(valorEtiqUno);
            pdfContent.endText();
        }

        //Etiqueta dos

        if (ticketEtiqDos != null) {
            pdfContent.beginText();
            pdfContent.setFontAndSize(helveticaBold, 10);
            pdfContent.setTextMatrix(10, 15);
            pdfContent.showText(ticketEtiqDos + ":");
            pdfContent.endText();
        }

        //Valor etiqueta dos
        String valorEtiqDos = sesionMBean.getRecurso().getTextoRecurso().getValorEtiquetaDos();
        if (valorEtiqDos != null) {
            pdfContent.beginText();
            pdfContent.setFontAndSize(times, 10);
            pdfContent.setTextMatrix(xValores, 15);
            pdfContent.showText(valorEtiqDos);
            pdfContent.endText();
        }

        pdfWriter.addJavaScript("this.print({bUI: true, bSilent: true, bShrinkToFit: true});", false);
        pdfWriter.addJavaScript("this.closeDoc(true);");

        document.close();

        FacesContext facesContext = FacesContext.getCurrentInstance();
        HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
        response.setContentType("application/pdf");

        os.writeTo(response.getOutputStream());

        response.getOutputStream().flush();
        response.getOutputStream().close();
        facesContext.responseComplete();

    } catch (Exception e) {
        e.printStackTrace();
    }

    return null;
}

From source file:uy.gub.imm.sae.web.mbean.reserva.PasoFinalMBean.java

License:Open Source License

public String guardarTicket() {
    try {//from w ww.  j  a  v a 2 s. c o m

        BaseColor colorBlack = new BaseColor(0, 0, 0);

        BaseFont times = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
        BaseFont helveticaBold = BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252,
                BaseFont.NOT_EMBEDDED);
        BaseFont symbol = BaseFont.createFont(BaseFont.SYMBOL, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);

        SimpleDateFormat sdfHr = new SimpleDateFormat("HH:mm");
        SimpleDateFormat sdfFecha = new SimpleDateFormat("dd/MM/yyyy");

        Rectangle pageSize = new Rectangle(210, 210);

        Document document = new Document(pageSize);
        document.addTitle(getI18N().getText("etiqueta.reserva.title"));

        ByteArrayOutputStream os = new ByteArrayOutputStream();

        PdfWriter pdfWriter = PdfWriter.getInstance(document, os);
        document.open();

        PdfContentByte pdfContent = pdfWriter.getDirectContent();

        InputStream is = PasoFinalMBean.class.getResourceAsStream(SAEProfile.getInstance().getProperties()
                .getProperty(SAEProfile.PROFILE_UI_TEMPLATES_IMAGES_LOGO_TICKET_KEY));

        byte[] arrImage = new byte[4096];
        is.read(arrImage);

        Image img = Image.getInstance(arrImage);

        img.scaleAbsolute(100, 30);
        img.setAbsolutePosition(55, 170);
        document.add(img);

        //Dibujo primer lnea
        LineSeparator line = new LineSeparator();
        line.setAlignment(LineSeparator.ALIGN_CENTER);
        line.setLineColor(colorBlack);
        line.setLineWidth(0.5f);

        line.drawLine(pdfContent, 10, 200, 170);

        //Etiqueta RESERVA
        pdfContent.beginText();
        pdfContent.setFontAndSize(helveticaBold, 15);
        pdfContent.setTextMatrix(45, 150);
        pdfContent.showText(getI18N().getText("etiqueta.reserva.showText"));
        pdfContent.endText();

        //Fecha de la reserva
        String fecha_reserva = sdfFecha.format(sesionMBean.getDisponibilidad().getHoraInicio());

        pdfContent.beginText();
        pdfContent.setFontAndSize(symbol, 16);
        pdfContent.setTextMatrix(130, 150);
        pdfContent.showText(fecha_reserva);
        pdfContent.endText();

        //Dibujo segunda lnea
        line.drawLine(pdfWriter.getDirectContent(), 10, 200, 140);

        int etiqHoraTamanio = 25;
        int etiqHoraX = 15;
        int etiqHoraY = 85;

        int valorHoraTamanio = 40;
        int valorHoraX = 105;
        int valorHoraY = 80;

        String serie = sesionMBean.getRecurso().getSerie();
        boolean conSerie = (serie != null) && (serie.length() >= 1);

        if (sesionMBean.getRecurso().getMostrarNumeroEnTicket()) {

            if (!conSerie) {
                //Ajusto valor y etiqueta hora
                etiqHoraTamanio = 20;
                etiqHoraX = 15;
                etiqHoraY = 110;

                valorHoraTamanio = 30;
                valorHoraX = 120;
                valorHoraY = 107;

                //Etiqueta NUMERO
                pdfContent.beginText();
                pdfContent.setFontAndSize(helveticaBold, 20);
                pdfContent.setTextMatrix(15, 65);
                pdfContent.showText(getI18N().getText("etiqueta.numero.numero"));
                pdfContent.endText();

                //Numero de la reserva
                String nro = sesionMBean.getReservaConfirmada().getNumero().toString();
                int nro_pos = 135;

                if (nro.length() == 1) {
                    nro_pos = 135;
                } else if (nro.length() == 2) {
                    nro_pos = 125;
                } else {
                    nro_pos = 105;
                }

                pdfContent.beginText();
                pdfContent.setFontAndSize(symbol, 60);
                pdfContent.setTextMatrix(nro_pos, 55);
                pdfContent.showText(nro);
                pdfContent.endText();
            } else {

                //Ajusto valor y etiqueta hora
                etiqHoraTamanio = 20;
                etiqHoraX = 15;
                etiqHoraY = 123;

                valorHoraTamanio = 20;
                valorHoraX = 120;
                valorHoraY = 122;

                //Etiqueta SERIE
                pdfContent.beginText();
                pdfContent.setFontAndSize(helveticaBold, 20);
                pdfContent.setTextMatrix(15, 87);
                pdfContent.showText(getI18N().getText("etiqueta.numero.serie"));
                pdfContent.endText();

                pdfContent.beginText();
                pdfContent.setFontAndSize(symbol, 20);
                pdfContent.setTextMatrix(120, 87);
                pdfContent.showText(serie);
                pdfContent.endText();

                //Etiqueta NUMERO
                pdfContent.beginText();
                pdfContent.setFontAndSize(helveticaBold, 20);
                pdfContent.setTextMatrix(15, 50);
                pdfContent.showText(getI18N().getText("etiqueta.numero.numero"));
                pdfContent.endText();

                //Numero de la reserva
                String nro = sesionMBean.getReservaConfirmada().getNumero().toString();
                int nro_pos = 135;

                if (nro.length() == 1) {
                    nro_pos = 135;
                } else if (nro.length() == 2) {
                    nro_pos = 125;
                } else {
                    nro_pos = 105;
                }

                pdfContent.beginText();
                pdfContent.setFontAndSize(symbol, 40);
                pdfContent.setTextMatrix(nro_pos, 47);
                pdfContent.showText(nro);
                pdfContent.endText();
            }
        }

        //Etiqueta HORA
        pdfContent.beginText();
        pdfContent.setFontAndSize(helveticaBold, etiqHoraTamanio);
        pdfContent.setTextMatrix(etiqHoraX, etiqHoraY);
        pdfContent.showText(getI18N().getText("etiqueta.hora.hora"));
        pdfContent.endText();

        //Hora de la reserva
        pdfContent.beginText();
        pdfContent.setFontAndSize(symbol, valorHoraTamanio);
        pdfContent.setTextMatrix(valorHoraX, valorHoraY);
        pdfContent.showText(sdfHr.format(sesionMBean.getDisponibilidad().getHoraInicio()));
        pdfContent.endText();

        //Dibujo tercer lnea
        line.drawLine(pdfWriter.getDirectContent(), 10, 200, 45);

        String ticketEtiqUno = sesionMBean.getRecurso().getTextoRecurso().getTicketEtiquetaUno();
        String ticketEtiqDos = sesionMBean.getRecurso().getTextoRecurso().getTicketEtiquetaDos();
        int largoEtiqUno = 0;
        int largoEtiqDos = 0;
        int xValores = 0;

        if (ticketEtiqUno != null) {
            largoEtiqUno = ticketEtiqUno.length();
        }

        if (ticketEtiqDos != null) {
            largoEtiqDos = ticketEtiqDos.length();
        }

        if (largoEtiqUno > largoEtiqDos) {
            xValores = 8 * (largoEtiqUno + 1);
        } else {
            xValores = 8 * (largoEtiqDos + 1);
        }

        //Etiqueta uno
        if (ticketEtiqUno != null) {
            pdfContent.beginText();
            pdfContent.setFontAndSize(helveticaBold, 10);
            pdfContent.setTextMatrix(10, 30);
            pdfContent.showText(ticketEtiqUno + ":");
            pdfContent.endText();
        }

        //Valor etiqueta uno
        String valorEtiqUno = sesionMBean.getRecurso().getTextoRecurso().getValorEtiquetaUno();
        if (valorEtiqUno != null) {
            pdfContent.beginText();
            pdfContent.setFontAndSize(times, 10);
            pdfContent.setTextMatrix(xValores, 30);
            pdfContent.showText(valorEtiqUno);
            pdfContent.endText();
        }

        //Etiqueta dos
        if (ticketEtiqDos != null) {
            pdfContent.beginText();
            pdfContent.setFontAndSize(helveticaBold, 10);
            pdfContent.setTextMatrix(10, 15);
            pdfContent.showText(ticketEtiqDos + ":");
            pdfContent.endText();
        }

        //Valor etiqueta dos
        String valorEtiqDos = sesionMBean.getRecurso().getTextoRecurso().getValorEtiquetaDos();
        if (valorEtiqDos != null) {
            pdfContent.beginText();
            pdfContent.setFontAndSize(times, 10);
            pdfContent.setTextMatrix(xValores, 15);
            pdfContent.showText(valorEtiqDos);
            pdfContent.endText();
        }

        document.close();

        FacesContext facesContext = FacesContext.getCurrentInstance();
        HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
        response.setContentType("application/pdf");
        response.setHeader("Content-disposition", "attachment; filename=" + "Ticket de confirmacin.pdf");

        os.writeTo(response.getOutputStream());

        response.getOutputStream().flush();
        response.getOutputStream().close();
        facesContext.responseComplete();

    } catch (Exception e) {
        e.printStackTrace();
    }

    return null;
}