Example usage for com.itextpdf.text Element ALIGN_RIGHT

List of usage examples for com.itextpdf.text Element ALIGN_RIGHT

Introduction

In this page you can find the example usage for com.itextpdf.text Element ALIGN_RIGHT.

Prototype

int ALIGN_RIGHT

To view the source code for com.itextpdf.text Element ALIGN_RIGHT.

Click Source Link

Document

A possible value for paragraph alignment.

Usage

From source file:se.billes.pdf.renderer.model.Barcode.java

License:Open Source License

public void onRender(PdfContentByte cb) throws PdfRenderException {

    float[] positions = new BlockFactory().getBoundsInPs(this);

    BarcodeEAN barcode = new BarcodeEAN();
    barcode.setCodeType(BarCodeType.getBarCodeType(barCodeType).codeType);
    barcode.setCode(getCode());//from   w w w . j a v  a2 s.c o m
    barcode.setSize(getFontSize());
    barcode.setGuardBars(isShowGuardBars());
    barcode.setBarHeight(positions[3]);
    barcode.setTextAlignment(Element.ALIGN_RIGHT);
    if (getBaseFont() != null) {
        barcode.setFont(getBaseFont());
    }

    if (align.equals("top")) {
        barcode.setBaseline(-1f);
    }

    PdfDocument request = getPage().getPdfDocument();
    float pageHeight = request.getSize()[1];
    float pageHeightInPs = SizeFactory.millimetersToPostscriptPoints(pageHeight);

    com.itextpdf.text.Image image = barcode.createImageWithBarcode(cb, getBarBaseColor(), getCodeBaseColor());
    image.setRotationDegrees(rotation);
    image.setAbsolutePosition(positions[0], pageHeightInPs - (positions[1] + positions[3] + fontSize));
    try {
        cb.addImage(image);
    } catch (DocumentException e) {
        throw new PdfRenderException(e);
    }
}

From source file:se.inera.intyg.rehabstod.service.export.pdf.HeaderEventHandler.java

License:Open Source License

private PdfPCell printedBy(String userName, String enhetsNamn) {
    LocalDateTime now = LocalDateTime.now();

    Phrase printedBy = new Phrase("", PdfExportConstants.TABLE_CELL_NORMAL);
    printedBy.add(new Chunk("Utskrift av " + userName));
    printedBy.add(Chunk.NEWLINE);//from ww  w.j ava 2s  . c  o m
    printedBy.add(new Chunk(enhetsNamn));
    printedBy.add(Chunk.NEWLINE);
    printedBy.add(new Chunk(YearMonthDateFormatter.print(now)));
    printedBy.add(new Chunk(" - "));
    printedBy.add(new Chunk(HourMinuteFormatter.print(now)));

    PdfPCell cell = new PdfPCell(printedBy);
    cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
    cell.setVerticalAlignment(Element.ALIGN_BOTTOM);
    cell.setBorder(Rectangle.NO_BORDER);

    return cell;
}

From source file:se.inera.intyg.rehabstod.service.export.pdf.PageNumberingEventHandler.java

License:Open Source License

/**
 * Adds a header to every page./*from   w  ww.j a v  a  2 s  .  c o  m*/
 *
 * @see com.itextpdf.text.pdf.PdfPageEventHelper#onEndPage(com.itextpdf.text.pdf.PdfWriter,
 *      com.itextpdf.text.Document)
 */
@Override
public void onEndPage(PdfWriter writer, Document document) {

    try {
        PdfPTable table = new PdfPTable(2);

        table.setTotalWidth(document.getPageSize().getWidth());

        table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT);
        table.getDefaultCell().setBorder(Rectangle.NO_BORDER);

        table.addCell(new Phrase(String.valueOf(writer.getPageNumber()), PdfExportConstants.TABLE_CELL_NORMAL));
        PdfPCell cell = new PdfPCell(Image.getInstance(total));
        cell.setBorder(Rectangle.NO_BORDER);
        table.addCell(cell);
        table.writeSelectedRows(0, -1, document.left(), document.bottom(), writer.getDirectContent());

    } catch (DocumentException de) {
        throw new ExceptionConverter(de);
    }
}

From source file:Servicios.formatos.java

@SuppressWarnings("empty-statement")
private void b_inv_tractoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_inv_tractoActionPerformed
    // TODO add your handling code here:
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);/*from  w  w  w.ja  v  a  2 s . 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));
        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.Abrir(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.contenido.rectangle(527, 712, 50, 0);
                
        reporte.contenido.roundRectangle(30, 70, 550, 150, 5);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "COMBUSTIBLE", 530, 145, 270);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "LLANTAS", 200, 200, 0);
                
        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 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.visualizar("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.formatos.java

private void b_inv_cajaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_inv_cajaActionPerformed
    // TODO add your handling code here:
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);//from  ww  w .  j  av  a 2 s .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, "Inventario de Caja",
                "reportes/" + ord.getIdOrden() + "/" + valor + "-invCaja.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);

        session.beginTransaction().begin();
        Configuracion con = (Configuracion) session.get(Configuracion.class, 1);

        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.contenido.rectangle(527, 712, 50, 0);

        reporte.contenido.roundRectangle(30, 70, 550, 150, 5);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "COMBUSTIBLE", 530, 145, 270);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "LLANTAS", 200, 200, 0);

        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 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[][] = { { "CAJAS Y REMOLQUES", "" }, { "EQ.REFRIGERACIN", "" },
                { "CAJA BATER?AS", "" }, { "ACUMULADOR", "" }, { "MANITAS", "" }, { "VENTILAS", "" },
                { "PLAFONES", "" }, { "PUERTAS", "" }, { "REDILLAS", "" }, { "CABALLETES", "" }, { "LONA", "" },
                { "DOMOS", "" }, { "FALDONES", "" }, { "PISTN (VOLTEO)", "" }, { "PATINES Y SOPORTES", "" },
                { "PORTA LLANTAS", "" }, { "TANQUE DE GAS O DIESEL", "" }, { "EJES", "" }, { "MUELLES", "" },
                { "C?MARAS DE AIRE", "" }, { "V?LVULAS DE AIRE", "" }, { "V?LVULAS DE AIRE", "" },
                { "GANCHO P/DOLLY", "" }, { "GPS", "" }, { "LLAVES SWITCH", "" }, { " ", "" }, { " ", "" },
                { " ", "" }, { " ", "" }, { " ", "" }, { " ", "" }, { " ", "" }, { " ", "" }, { " ", "" },
                { " ", "" }, { " ", "" }, { " ", "" } };
        for (int i = 0; i < 37; 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);

        //*****agregamos los tanques de combustible
        reporte.agregaObjeto(reporte.crearImagen("imagenes/GAS.jpg", 350, -145, 50));
        reporte.agregaObjeto(reporte.crearImagen("imagenes/llantas-caja.jpg", -100, -145, 60));

        reporte.cerrar();
        reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-invCaja.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_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);//from  ww w  .  j  a  va 2 s  .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_pago_formatoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_pago_formatoActionPerformed
    // TODO add your handling code here:
    Session session = HibernateUtil.getSessionFactory().openSession();
    try {// w w  w.  ja v  a 2  s.  c o m
        Orden ord = (Orden) session.get(Orden.class, orden_act.getIdOrden());
        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);

        String formato = "PagoAXA.pdf";//ord.getCompania().getFormatoPago();
        File folder = new File("reportes/" + ord.getIdOrden());
        folder.mkdirs();

        PdfReader reader = new PdfReader("imagenes/" + formato);
        PdfStamper stamp = new PdfStamper(reader,
                new FileOutputStream("reportes/" + ord.getIdOrden() + "/" + valor + "-Pago.pdf"));
        PdfContentByte cb = stamp.getUnderContent(1);
        AcroFields fdfDoc = stamp.getAcroFields();

        cb.beginText();
        //IMAGEN
        try {
            Image img = Image.getInstance("imagenes/" + con.getLogo());
            img.setAbsolutePosition(25, 710);
            img.scaleAbsoluteWidth(75);
            img.scaleAbsoluteHeight(50);
            cb.addImage(img, true);
        } catch (Exception e) {
            e.printStackTrace();
        }
        try {
            Image img_1 = Image.getInstance(ord.getCompania().getFoto());
            img_1.setAbsolutePosition(500, 735);
            img_1.scaleAbsoluteWidth(80);
            img_1.scaleAbsoluteHeight(50);
            cb.addImage(img_1, true);
        } catch (Exception e) {
            e.printStackTrace();
        }
        Foto foto = (Foto) session.createCriteria(Foto.class)
                .add(Restrictions.eq("orden.idOrden", orden_act.getIdOrden())).addOrder(Order.desc("fecha"))
                .setMaxResults(1).uniqueResult();
        if (foto != null) {
            try {
                Image img_2 = Image
                        .getInstance("ordenes/" + ord.getIdOrden() + "/miniatura/" + foto.getDescripcion());
                img_2.setAbsolutePosition(480, 558);
                img_2.scaleAbsoluteWidth(90);
                img_2.scaleAbsoluteHeight(50);
                cb.addImage(img_2, true);
            } catch (Exception e) {
            }
        }

        //NOMBRE DEL TALLER
        if (con.getEmpresa() != null)
            fdfDoc.setField("NombreEmpresa", con.getEmpresa());

        //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();
        direccion = direccion.toUpperCase();
        fdfDoc.setField("DireccionEmpresa", direccion);

        //Municipio, Estado, CP
        String municipio = "";
        if (con.getMunicipio() != null)
            municipio += con.getMunicipio() + " ";
        if (con.getEstado() != null)
            municipio += con.getEstado() + " ";
        if (con.getCp() != null)
            municipio += con.getCp();
        municipio = municipio.toUpperCase();
        fdfDoc.setField("ColoniaEmpresa", municipio);

        //Pagina Web y Telefonos
        fdfDoc.setField("SitioEmpresa", "tracto.ddns.net");
        fdfDoc.setField("TelefonoEmpresa", "(722) 199 24 04 / 275 19 45");

        //Datos de la compaia
        fdfDoc.setField("Aseguradora1", ord.getCompania().getSocial());
        if (ord.getCompania().getDireccion() != null)
            fdfDoc.setField("Aseguradora2", ord.getCompania().getDireccion());
        if (ord.getCompania().getColonia() != null)
            fdfDoc.setField("Aseguradora3", ord.getCompania().getColonia());
        /*if(ord.getCompania().getComentarios()!=null)
            fdfDoc.setField("Extra", ord.getCompania().getComentarios());*/

        //Orden de trabajo
        fdfDoc.setField("Orden", "" + ord.getIdOrden());

        //FECHA INGRESO
        if (ord.getFecha() != null)
            fdfDoc.setField("FechaRecepcion", ord.getFecha().toString());

        //Marca
        fdfDoc.setField("Marca", ord.getMarca().getMarcaNombre());

        //Tipo
        fdfDoc.setField("Modelo", "" + ord.getTipo().getTipoNombre());

        //Placas
        if (ord.getNoPlacas() != null)
            fdfDoc.setField("Placas", "" + ord.getNoPlacas());

        //Poliza
        if (ord.getPoliza() != null)
            fdfDoc.setField("Poliza", "" + ord.getPoliza());

        //Siniestro
        if (ord.getSiniestro() != null)
            fdfDoc.setField("Siniestro", "" + ord.getSiniestro());

        //Datos cliente
        if (ord.getClientes() != null) {
            fdfDoc.setField("Nombre", ord.getClientes().getNombre());
            if (ord.getClientes().getContacto() != null)
                fdfDoc.setField("Contacto", ord.getClientes().getContacto());
        }

        //Datos de atencion a clientes
        fdfDoc.setField("Tel1", "722 299 240 25");
        fdfDoc.setField("Id1", "52*167862*13");
        fdfDoc.setField("Email1", "atencionaclientes@tractoservicio.com");
        fdfDoc.setField("Wat1", "722 299 240 25");

        float tam[] = new float[] { 160, 80, 130, 170 };
        Font font = new Font(Font.FontFamily.HELVETICA, 7, Font.BOLD);
        PDF reporte = new PDF();
        PdfPTable tabla = reporte.crearTabla(4, tam, 100, Element.ALIGN_LEFT);
        tabla.setTotalWidth(tam);

        BaseColor cabecera = BaseColor.GRAY;
        BaseColor contenido = BaseColor.WHITE;
        int centro = Element.ALIGN_CENTER;
        int izquierda = Element.ALIGN_LEFT;
        int derecha = Element.ALIGN_RIGHT;

        if (formato.compareToIgnoreCase("PagoAXA.pdf") != 0) {
            tabla.addCell(reporte.celda("BANCO", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("NO CONVENIO", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("N DE CUENTA", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(
                    reporte.celda("NOMBRE DE LA COMPAIA", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));

            Cuenta[] cuentas = (Cuenta[]) ord.getCompania().getCuentas().toArray(new Cuenta[0]);
            if (cuentas.length > 0) {
                for (int i = 0; i < cuentas.length; i++) {
                    tabla.addCell(reporte.celda(cuentas[i].getBanco(), font, contenido, izquierda, 0, 1,
                            Rectangle.RECTANGLE));
                    tabla.addCell(reporte.celda(cuentas[i].getConvenio().toString(), font, contenido, izquierda,
                            0, 1, Rectangle.RECTANGLE));
                    tabla.addCell(reporte.celda(cuentas[i].getTransferencia(), font, contenido, izquierda, 0, 1,
                            Rectangle.RECTANGLE));
                    tabla.addCell(reporte.celda(cuentas[i].getNombre(), font, contenido, izquierda, 0, 1,
                            Rectangle.RECTANGLE));
                }
            }

            tabla.completeRow();
            tabla.writeSelectedRows(0, -1, 40, 420, cb);
        }
        DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.00");
        formatoPorcentaje.setMinimumFractionDigits(2);

        cb.setTextMatrix(160, 466);
        BaseFont bf = BaseFont.createFont();
        cb.setFontAndSize(bf, 9);
        cb.showText("" + formatoPorcentaje.format(orden_act.getDeducible()));

        cb.setTextMatrix(450, 466);
        cb.showText("" + formatoPorcentaje.format(orden_act.getDemerito()));
        cb.endText();

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

    } catch (Exception 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:Servlets.PDF.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    response.setContentType("application/pdf");
    Document document = new Document(PageSize.A4, 50, 50, 50, 50);

    try {//from  w  w w  . j a  va2  s.c om
        //obtengo datos de cliente,  reserva y total
        String rreserva = request.getParameter("reserva");
        String rcliente = request.getParameter("cliente");
        String rtotal = request.getParameter("total");
        //String rtipo = request.getParameter("esProv");

        // Obtener datos de cliente e items de reserva
        DtUsuario dtu = getDtUsuario(rcliente);
        String nombre = dtu.getNombre();
        String apellido = dtu.getApellido();
        String servicios = "";
        String promos = "";
        java.util.List<DtItemReserva> dtItems = listarItems(Integer.parseInt(rreserva)).getItems();
        Iterator<DtItemReserva> iter = dtItems.iterator();
        DtItemReserva dtItem;

        // Crear y abrir documento

        String HomeDeUSuario = System.getProperty("user.home");

        String ruta = HomeDeUSuario + "/Factura Reserva " + rreserva + ".pdf";

        FileOutputStream archivo = new FileOutputStream(ruta);

        PdfWriter writer = PdfWriter.getInstance(document, archivo);

        document.open();

        Date date = new Date();

        DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
        String fecha = dateFormat.format(date);

        // Agregar marcador inicial

        // Crear y agregar prrafo simple
        Paragraph paragraph1 = new Paragraph();
        Image imagen = Image.getInstance("http://localhost:8084/Help4TravelingWeb/img/logo-icon2.png");
        imagen.scaleAbsolute(200f, 200f);

        imagen.setAbsolutePosition(10, 650);
        imagen.setSpacingAfter(20);
        paragraph1.add(imagen);
        document.add(paragraph1);
        //fecha
        Paragraph fecha1 = new Paragraph(fecha);

        //encabezado
        Paragraph futuros = new Paragraph("Futuros Tecnologos SRL");
        Paragraph rut = new Paragraph("RUT 123456789012");
        Paragraph direccion = new Paragraph(" Av. Gral. Rivera 3629");
        Paragraph telefono = new Paragraph(" Tel: 555-5412");
        Paragraph nombre_empresa = new Paragraph(" Help4Travelling");

        //datos cliente
        String nombrecliente = nombre.toUpperCase() + " " + apellido.toUpperCase();
        String direccioncliente = " ";
        String rutcliente = "consumidor final".toUpperCase();
        Paragraph cliente = new Paragraph("Cliente: " + nombrecliente);
        Paragraph dircliente = new Paragraph("Direccion: " + direccioncliente);
        Paragraph rutcli = new Paragraph("RUT: " + rutcliente);

        //datos boleta

        String factura = rreserva;
        Paragraph tipodoc = new Paragraph("Contado");
        Paragraph Nfac = new Paragraph(" N  " + factura);

        //alineaciones

        //fecha 
        fecha1.setAlignment(Element.ALIGN_RIGHT);

        //encabezado
        futuros.setAlignment(Element.ALIGN_CENTER);
        rut.setAlignment(Element.ALIGN_CENTER);
        direccion.setAlignment(Element.ALIGN_CENTER);
        telefono.setAlignment(Element.ALIGN_CENTER);

        //nombre empresa
        nombre_empresa.setAlignment(Element.ALIGN_LEFT);
        nombre_empresa.setSpacingBefore(10);
        nombre_empresa.setSpacingAfter(30);

        //datos de boleta
        tipodoc.setAlignment(Element.ALIGN_RIGHT);
        Nfac.setAlignment(Element.ALIGN_RIGHT);

        document.add(fecha1);
        document.add(futuros);
        document.add(rut);
        document.add(direccion);
        document.add(telefono);
        document.add(nombre_empresa);
        document.add(tipodoc);
        document.add(Nfac);
        document.add(cliente);
        document.add(dircliente);
        document.add(rutcli);

        PdfPTable tabla = new PdfPTable(4);
        tabla.setSpacingBefore(25);
        tabla.setSpacingAfter(25);

        //creo encabezado de tabla
        PdfPCell codigo = new PdfPCell(new Phrase("Proveedor".toUpperCase()));
        PdfPCell descripcion = new PdfPCell(new Phrase("descripcion".toUpperCase()));
        PdfPCell ecantidad = new PdfPCell(new Phrase("cantidad".toUpperCase()));
        PdfPCell eprecio = new PdfPCell(new Phrase("precio".toUpperCase()));

        tabla.setHeaderRows(1);
        tabla.setWidthPercentage(100f);

        //alineamos las frases del cabezal
        codigo.setHorizontalAlignment(Element.ALIGN_CENTER);
        descripcion.setHorizontalAlignment(Element.ALIGN_CENTER);
        ecantidad.setHorizontalAlignment(Element.ALIGN_CENTER);
        eprecio.setHorizontalAlignment(Element.ALIGN_CENTER);

        //agrego cabezal de tabla
        tabla.addCell(codigo);
        tabla.addCell(descripcion);
        tabla.addCell(ecantidad);
        tabla.addCell(eprecio);

        //obtengo datos de la reserva para imprimir las distintas rows

        while (iter.hasNext()) {
            dtItem = iter.next();
            Integer cantidad = dtItem.getCantidad();
            String oferta = dtItem.getOferta().getNombre();
            String precio;
            String proveedor;
            if (existeServicio(oferta)) {
                proveedor = getNkProveedorServicio(oferta);
                DtServicio dts = getDtServicio(oferta, proveedor);
                precio = String.valueOf(dts.getPrecio());
            } else {
                proveedor = getNkProveedorPromocion(oferta);
                DtPromocion dtp = getDTPromocion(oferta, proveedor);
                precio = dtp.getDescuento();
            }
            /*  String item = "<li>Nombre: <em>" + oferta + "</em>"
                + " - Cantidad: <em>" + cantidad + "</em>"
                + " - $:<em>" + precio + "</em>"
                + " - Proveedor: <em>" + proveedor + "</em></li>";*/
            //creo encabezado de tabla
            PdfPCell iproveedor = new PdfPCell(new Phrase(proveedor.toUpperCase()));

            PdfPCell icantidad = new PdfPCell(new Phrase(cantidad.toString()));
            PdfPCell iprecio = new PdfPCell(new Phrase(precio.toUpperCase()));

            tabla.setHeaderRows(1);

            //alineamos las frases del cabezal
            iproveedor.setHorizontalAlignment(Element.ALIGN_CENTER);
            icantidad.setHorizontalAlignment(Element.ALIGN_CENTER);
            iprecio.setHorizontalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(iproveedor);
            if (existeServicio(oferta)) {
                PdfPCell idescripcion = new PdfPCell(new Phrase("servicio: " + oferta));
                idescripcion.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(idescripcion);
            } else {
                PdfPCell idescripcion = new PdfPCell(new Phrase("Promo: " + oferta));
                idescripcion.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(idescripcion);
            }
            tabla.addCell(icantidad);
            tabla.addCell(iprecio);
        }

        /*      // las distintas rows de los articulos
              tabla.addCell(proveedor);
              tabla.addCell(oferta);
              tabla.addCell(cantidad);
              tabla.addCell(precio);
        */
        //el ulimo de la tabla que da el total

        PdfPCell celdaFinal = new PdfPCell(new Paragraph(""));
        PdfPCell celdaTotal = new PdfPCell(new Paragraph("total:"));
        PdfPCell celdaPrecioTotal = new PdfPCell(new Paragraph(rtotal));
        // Indicamos cuantas columnas ocupa la celda
        celdaFinal.setColspan(2);

        celdaTotal.setHorizontalAlignment(Element.ALIGN_RIGHT);
        celdaPrecioTotal.setHorizontalAlignment(Element.ALIGN_RIGHT);

        tabla.addCell(celdaFinal);
        tabla.addCell(celdaTotal);
        tabla.addCell(celdaPrecioTotal);
        document.add(tabla);
        document.close();
        if (request.getParameter("dispositivo").equals("true"))
            response.sendRedirect("Movil.Reservas.jsp");
        else
            response.sendRedirect("Usuario.jsp");
    } catch (DocumentException e) {
        e.printStackTrace();
    }
}

From source file:servlets.POPDF.java

private void buildpdf(PurchaseOrderDTO dto, HttpServletResponse response) {
    Font catFont = new Font(Font.FontFamily.HELVETICA, 24, Font.BOLD);
    Font subFont = new Font(Font.FontFamily.HELVETICA, 16, Font.BOLD);
    Font smallBold = new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD);
    String IMG = getServletContext().getRealPath("/img/logo.png");
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    Document document = new Document();
    VendorDTO venDTO = venModel.getVendor(dto.getVendorno(), ds);
    DecimalFormat decimal = new DecimalFormat("#0.00");
    ArrayList<ProductDTO> products = prodModel.getProdsForVendor(dto.getVendorno(), ds);
    ArrayList<POLineItemDTO> poLineItems = dto.getItems();

    try {// ww  w .  ja va 2 s .  com
        PdfWriter.getInstance(document, baos);
        document.open();
        Paragraph preface = new Paragraph();
        // We add one empty line
        Image image1 = Image.getInstance(IMG);
        image1.setAbsolutePosition(55f, 760f);
        preface.add(image1);
        preface.setAlignment(Element.ALIGN_RIGHT);
        // Lets write a big header
        Paragraph mainHead = new Paragraph(String.format("%55s", "Purchase Order"), catFont);
        preface.add(mainHead);
        preface.setAlignment(Element.ALIGN_LEFT);
        preface.add(new Paragraph(String.format("%82s", "PO#: " + dto.getPONumber()), subFont));
        addEmptyLine(preface, 3);
        preface.add(new Paragraph(String.format("%10s", "Vendor: ", smallBold)));
        preface.add(new Paragraph(String.format("%5s", venDTO.getName(), smallBold)));
        preface.add(new Paragraph(String.format("%5s", venDTO.getAddress1(), smallBold)));
        preface.add(new Paragraph(String.format("%5s", venDTO.getCity(), smallBold)));
        preface.add(new Paragraph(String.format("%5s", venDTO.getProvince(), smallBold)));
        preface.add(new Paragraph(String.format("%5s", venDTO.getPostalCode(), smallBold)));
        addEmptyLine(preface, 1);
        // 3 column table
        PdfPTable table = new PdfPTable(5);
        PdfPCell cell = new PdfPCell(new Paragraph("Product Code", smallBold));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        table.addCell(cell);
        cell = new PdfPCell(new Paragraph("Product Description", smallBold));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        table.addCell(cell);
        cell = new PdfPCell(new Paragraph("Quantity Sold", smallBold));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        table.addCell(cell);
        cell = new PdfPCell(new Paragraph("Price", smallBold));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        table.addCell(cell);
        cell = new PdfPCell(new Paragraph("Ext Price", smallBold));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        table.addCell(cell);
        for (POLineItemDTO item : poLineItems) {
            cell = new PdfPCell(new Phrase(item.getproductcode()));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            table.addCell(cell);
            for (ProductDTO prod : products) {
                if (prod.getProductcode().equals(item.getproductcode())) {
                    cell = new PdfPCell(new Phrase(prod.getProductname()));
                    cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                    table.addCell(cell);
                }
            }
            cell = new PdfPCell(new Phrase(Integer.toString(item.getQuantity())));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            table.addCell(cell);
            double extPrice = 0.0;
            for (ProductDTO prod : products) {
                if (prod.getProductcode().equals(item.getproductcode())) {
                    cell = new PdfPCell(new Phrase(Double.toString(prod.getCostprice())));
                    cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                    table.addCell(cell);
                    extPrice = prod.getCostprice() * item.getQuantity();
                }
            }
            String extPriceStr = decimal.format(extPrice);
            cell = new PdfPCell(new Phrase(extPriceStr));
            cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
            table.addCell(cell);
        } //end for
        double sub = dto.getAmount();
        double tax = dto.getAmount() * 0.13;
        double total = dto.getAmount() * 1.13;
        String taxStr = decimal.format(tax);
        String totalStr = decimal.format(total);
        String subStr = decimal.format(sub);
        cell = new PdfPCell(new Phrase("Total:"));
        cell.setColspan(4);
        cell.setBorder(0);
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        table.addCell(cell);
        cell = new PdfPCell(new Phrase(subStr));
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        table.addCell(cell);
        cell = new PdfPCell(new Phrase("Tax:"));
        cell.setColspan(4);
        cell.setBorder(0);
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        table.addCell(cell);
        cell = new PdfPCell(new Phrase(taxStr));
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        table.addCell(cell);
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell = new PdfPCell(new Phrase("Order Total:"));
        cell.setColspan(4);
        cell.setBorder(0);
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        table.addCell(cell);
        cell = new PdfPCell(new Phrase(totalStr));
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell.setBackgroundColor(BaseColor.YELLOW);
        table.addCell(cell);
        preface.add(table);
        addEmptyLine(preface, 3);
        preface.setAlignment(Element.ALIGN_CENTER);
        preface.add(new Paragraph(String.format("%60s", "Generated on: " + dto.getPODate()), subFont));
        document.add(preface);
        document.close();

        // setting some response headers
        response.setHeader("Expires", "0");
        response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
        response.setHeader("Pragma", "public");
        // setting the content type
        response.setContentType("application/pdf");
        // the contentlength
        response.setContentLength(baos.size());
        // write ByteArrayOutputStream to the ServletOutputStream
        OutputStream os = response.getOutputStream();
        baos.writeTo(os);
        os.flush();
        os.close();

    } catch (Exception e) {
        System.out.println("Error " + e.getMessage());
    }

}

From source file:servlets.POServlet.java

private void buildpdf(HttpServletResponse response, int ponumber) {
    Font catFont = new Font(Font.FontFamily.HELVETICA, 24, Font.BOLD);
    Font subFont = new Font(Font.FontFamily.HELVETICA, 16, Font.BOLD);
    Font titleFont = new Font(Font.FontFamily.COURIER, 16, Font.BOLD);
    Font smallBold = new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD);
    String IMG = getServletContext().getRealPath("/img/logo.png");
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    Document document = new Document();

    //Get the Purchase Order Items - That way we can access the vendor
    PurchaseOrderModel poModel = new PurchaseOrderModel();
    PurchaseOrderDTO poDTO = poModel.getPurchaseOrder(ponumber, ds);
    ArrayList<PurchaseOrderLineItemDTO> lineitems = poModel.getLineItemsForPoNumber(ponumber, ds);

    //Have items, now need to get vendor
    VendorModel vModel = new VendorModel();
    VendorDTO vendor = vModel.getVendor(poDTO.getVendorno(), ds);

    //Product Model - For looking up product names
    ProductModel prodMod = new ProductModel();

    try {//from  ww w.  j  a  v  a2  s. com
        PdfWriter.getInstance(document, baos);
        document.open();
        Paragraph preface = new Paragraph();
        // We add one empty line
        Image image1 = Image.getInstance(IMG);
        image1.setAbsolutePosition(55f, 650f);
        image1.scaleAbsolute(200f, 200f);
        preface.add(image1);
        preface.add(new Paragraph("Guardians Light Equipment\nBest Exotics in the Cosmos", titleFont));
        preface.setAlignment(Element.ALIGN_RIGHT);
        // Lets write a big header
        Paragraph mainHead = new Paragraph(String.format("%55s", "Purchase Order"), catFont);
        preface.add(mainHead);
        preface.add(new Paragraph(String.format("%82s", "PO#:" + ponumber), subFont));
        addEmptyLine(preface, 1);
        //2 Column Vendor Table
        PdfPTable vendorTable = new PdfPTable(1);
        PdfPCell vCell = new PdfPCell(new Phrase("Vendor:", smallBold));
        vCell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        vCell.setBorder(0);
        vendorTable.addCell(vCell);
        vendorTable.addCell(GenerateBorderlessCell(vendor.getName(), 0, Element.ALIGN_RIGHT));
        vendorTable.addCell(GenerateBorderlessCell(vendor.getAddress1(), 0, Element.ALIGN_RIGHT));
        vendorTable.addCell(
                GenerateBorderlessCell(vendor.getCity() + "," + vendor.getProvince(), 0, Element.ALIGN_RIGHT));
        vendorTable.addCell(GenerateBorderlessCell(vendor.getPostalcode(), 0, Element.ALIGN_RIGHT));
        preface.add(vendorTable);
        addEmptyLine(preface, 2);
        //Generate Headers
        PdfPTable table = new PdfPTable(5);

        //Generate the Headers
        table.addCell(GenerateCellData("Product Code"));
        table.addCell(GenerateCellData("Product Description"));
        table.addCell(GenerateCellData("Quantity Sold"));
        table.addCell(GenerateCellData("Price"));
        table.addCell(GenerateCellData("Extended Price"));

        double subTotal = 0.0;
        for (PurchaseOrderLineItemDTO item : lineitems) {
            ProductDTO product = prodMod.getProduct(item.getProductcode(), ds);
            table.addCell(GenerateCellData(product.getProductcode()));
            table.addCell(GenerateCellData(product.getProductname()));
            table.addCell(GenerateCellData(String.valueOf(item.getQty())));
            double ext = product.getCostprice() * item.getQty();
            table.addCell(GenerateCellData("$" + String.format("%.2f", product.getCostprice())));
            table.addCell(GenerateCellData("$" + String.format("%.2f", ext)));
            subTotal += ext;
        }

        //Generate Total, Tax, Order Total
        table.addCell(GenerateBorderlessCell("Subtotal:", 4, Element.ALIGN_RIGHT));
        table.addCell(GenerateFinalValue("$" + String.format("%.2f", subTotal)));

        table.addCell(GenerateBorderlessCell("Tax:", 4, Element.ALIGN_RIGHT));
        table.addCell(GenerateFinalValue("$" + String.format("%.2f", subTotal * 0.13)));

        table.addCell(GenerateBorderlessCell("Order Total:", 4, Element.ALIGN_RIGHT));
        PdfPCell totalCell = GenerateFinalValue("$" + String.format("%.2f", poDTO.getTotal()));
        totalCell.setBackgroundColor(BaseColor.YELLOW);
        table.addCell(totalCell);

        preface.add(table);
        addEmptyLine(preface, 3);
        preface.setAlignment(Element.ALIGN_CENTER);
        preface.add(new Paragraph(String.format("%60s", "PO Generated on: " + poDTO.getPodate()), subFont));
        document.add(preface);
        document.close();
        // setting some response headers
        response.setHeader("Expires", "0");
        response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
        response.setHeader("Pragma", "public");
        response.setHeader("Content-Transfer-Encoding", "binary");
        response.setHeader("Content-Disposition", "inline; filename=\"sample.PDF\"");
        response.setContentType("application/octet-stream");
        try ( // write ByteArrayOutputStream to the ServletOutputStream
                OutputStream os = response.getOutputStream()) {
            baos.writeTo(os);
            os.flush();
        }

    } catch (Exception e) {
        System.out.println("Error " + e.getMessage());
    }

}