Example usage for com.lowagie.text Document Document

List of usage examples for com.lowagie.text Document Document

Introduction

In this page you can find the example usage for com.lowagie.text Document Document.

Prototype


public Document(Rectangle pageSize) 

Source Link

Document

Constructs a new Document -object.

Usage

From source file:it.pdfsam.console.tools.pdf.PdfAlternateMix.java

License:Open Source License

/**
  * Execute the mix command. On error an exception is thrown.
  * @throws AlternateMixException/*  w  w w  . j  av a 2  s  .c  om*/
  */
public void execute() throws AlternateMixException {
    try {
        workingIndeterminate();
        out_message = "";
        Document pdf_document = null;
        PdfCopy pdf_writer = null;
        File tmp_o_file = TmpFileNameGenerator.generateTmpFile(o_file.getParent());
        PdfReader pdf_reader1;
        PdfReader pdf_reader2;

        pdf_reader1 = new PdfReader(new RandomAccessFileOrArray(input_file1.getAbsolutePath()), null);
        pdf_reader1.consolidateNamedDestinations();
        limits1[1] = pdf_reader1.getNumberOfPages();

        pdf_reader2 = new PdfReader(new RandomAccessFileOrArray(input_file2.getAbsolutePath()), null);
        pdf_reader2.consolidateNamedDestinations();
        limits2[1] = pdf_reader2.getNumberOfPages();

        pdf_document = new Document(pdf_reader1.getPageSizeWithRotation(1));
        pdf_writer = new PdfCopy(pdf_document, new FileOutputStream(tmp_o_file));
        if (compressed_boolean) {
            pdf_writer.setFullCompression();
        }
        out_message += LogFormatter.formatMessage("Temporary file created-\n");
        MainConsole.setDocumentCreator(pdf_document);
        pdf_document.open();

        PdfImportedPage page;
        //importo
        boolean finished1 = false;
        boolean finished2 = false;
        int current1 = (reverseFirst) ? limits1[1] : limits1[0];
        int current2 = (reverseSecond) ? limits2[1] : limits2[0];
        while (!finished1 || !finished2) {
            if (!finished1) {
                if (current1 >= limits1[0] && current1 <= limits1[1]) {
                    page = pdf_writer.getImportedPage(pdf_reader1, current1);
                    pdf_writer.addPage(page);
                    current1 = (reverseFirst) ? (current1 - 1) : (current1 + 1);
                } else {
                    out_message += LogFormatter.formatMessage("First file processed-\n");
                    finished1 = true;
                }
            }
            if (!finished2) {
                if (current2 >= limits2[0] && current2 <= limits2[1] && !finished2) {
                    page = pdf_writer.getImportedPage(pdf_reader2, current2);
                    pdf_writer.addPage(page);
                    current2 = (reverseSecond) ? (current2 - 1) : (current2 + 1);
                } else {
                    out_message += LogFormatter.formatMessage("Second file processed-\n");
                    finished2 = true;
                }
            }

        }

        pdf_reader1.close();
        pdf_writer.freeReader(pdf_reader1);
        pdf_reader2.close();
        pdf_writer.freeReader(pdf_reader2);

        pdf_document.close();
        // step 6: temporary buffer moved to output file
        renameTemporaryFile(tmp_o_file, o_file, overwrite_boolean);
        out_message += LogFormatter.formatMessage("Alternate mix completed-\n");

    } catch (Exception e) {
        throw new AlternateMixException(e);
    } finally {
        workCompleted();
    }
}

From source file:it.pdfsam.console.tools.pdf.PdfConcat.java

License:Open Source License

/**
 * Execute the concat command. On error an exception is thrown.
 * @throws ConcatException/*from   w  w w.  java2  s  .  c o  m*/
 */
public void execute() throws ConcatException {
    try {
        percentageChanged(0, 0);
        out_message = "";
        String file_name;
        int pageOffset = 0;
        ArrayList master = new ArrayList();
        int f = 0;
        Document pdf_document = null;
        PdfConcatenator pdf_writer = null;
        int total_processed_pages = 0;
        String[] page_selection = u_string.split(":");
        File tmp_o_file = TmpFileNameGenerator.generateTmpFile(o_file.getParent());
        PdfReader pdf_reader;
        for (Iterator f_list_itr = f_list.iterator(); f_list_itr.hasNext();) {
            String current_p_selection;
            //get page selection. If arrayoutofbounds default behaviour is "all" 
            try {
                current_p_selection = page_selection[f].toLowerCase();
                if (current_p_selection.equals(""))
                    current_p_selection = "all";
            } catch (Exception e) {
                current_p_selection = "all";
            }
            //validation
            if (!(Pattern.compile("([0-9]+[-][0-9]+)|(all)", Pattern.CASE_INSENSITIVE)
                    .matcher(current_p_selection).matches())) {
                String errorMsg = "";
                try {
                    tmp_o_file.delete();
                } catch (Exception e) {
                    errorMsg = " Unable to delete temporary file.";
                }
                throw new ConcatException(
                        "ValidationError: Syntax error on " + current_p_selection + "." + errorMsg);
            }
            file_name = f_list_itr.next().toString();
            //reader creation
            pdf_reader = new PdfReader(new RandomAccessFileOrArray(file_name), null);
            pdf_reader.consolidateNamedDestinations();
            int pdf_number_of_pages = pdf_reader.getNumberOfPages();
            //default behaviour
            int start = 0;
            int end_page = pdf_number_of_pages;
            if (!(current_p_selection.equals("all"))) {
                boolean valid = true;
                String exceptionMsg = "";
                String[] limits = current_p_selection.split("-");
                try {
                    start = Integer.parseInt(limits[0]);
                    end_page = Integer.parseInt(limits[1]);
                } catch (Exception ex) {
                    valid = false;
                    exceptionMsg += "ValidationError: Syntax error on " + current_p_selection + ".";
                    try {
                        tmp_o_file.delete();
                    } catch (Exception e) {
                        exceptionMsg += " Unable to delete temporary file.";
                    }
                }
                if (valid) {
                    //validation
                    if (start < 0) {
                        valid = false;
                        exceptionMsg = "ValidationError: Syntax error. " + (start) + " must be positive in "
                                + current_p_selection + ".";
                        try {
                            tmp_o_file.delete();
                        } catch (Exception e) {
                            exceptionMsg += " Unable to delete temporary file.";
                        }
                    } else if (end_page > pdf_number_of_pages) {
                        valid = false;
                        exceptionMsg = "ValidationError: Cannot merge at page " + end_page + ". No such page.";
                        try {
                            tmp_o_file.delete();
                        } catch (Exception e) {
                            exceptionMsg += " Unable to delete temporary file.";
                        }
                    } else if (start > end_page) {
                        valid = false;
                        exceptionMsg = "ValidationError: Syntax error. " + (start) + " is bigger than "
                                + end_page + " in " + current_p_selection + ".";
                        try {
                            tmp_o_file.delete();
                        } catch (Exception e) {
                            exceptionMsg += " Unable to delete temporary file.";
                        }
                    }
                }
                if (!valid) {
                    throw new ConcatException(exceptionMsg);
                }
            }
            List bookmarks = SimpleBookmark.getBookmark(pdf_reader);
            if (bookmarks != null) {
                //if the end page is not the end of the doc, delete bookmarks after it
                if (end_page < pdf_number_of_pages) {
                    SimpleBookmark.eliminatePages(bookmarks, new int[] { end_page + 1, pdf_number_of_pages });
                }
                // if start page isn't the first page of the document, delete bookmarks before it
                if (start > 0) {
                    SimpleBookmark.eliminatePages(bookmarks, new int[] { 1, start });
                    //bookmarks references must be taken back
                    SimpleBookmark.shiftPageNumbers(bookmarks, -start, null);
                }
                if (pageOffset != 0) {
                    SimpleBookmark.shiftPageNumbers(bookmarks, pageOffset, null);
                }
                master.addAll(bookmarks);
            }
            pageOffset += (end_page - start);
            out_message += LogFormatter.formatMessage(file_name + ": " + end_page + " pages-\n");
            if (f == 0) {
                if (copyfields_boolean) {
                    // step 1: we create a writer 
                    pdf_writer = new PdfCopyFieldsConcatenator(new FileOutputStream(tmp_o_file),
                            compressed_boolean);
                    HashMap meta = pdf_reader.getInfo();
                    meta.put("Creator", MainConsole.CREATOR);
                } else {
                    // step 1: creation of a document-object
                    pdf_document = new Document(pdf_reader.getPageSizeWithRotation(1));
                    // step 2: we create a writer that listens to the document
                    pdf_writer = new PdfSimpleConcatenator(pdf_document, new FileOutputStream(tmp_o_file),
                            compressed_boolean);
                    // step 3: we open the document
                    MainConsole.setDocumentCreator(pdf_document);
                    pdf_document.open();
                }
                out_message += LogFormatter.formatMessage("Temporary file created-\n");
            }
            // step 4: we add content
            pdf_reader.selectPages(start + "-" + end_page);
            pdf_writer.addDocument(pdf_reader);
            //fix 03/07
            //pdf_reader = null;
            pdf_reader.close();
            pdf_writer.freeReader(pdf_reader);
            total_processed_pages += end_page - start + 1;
            out_message += LogFormatter.formatMessage((end_page - start) + " pages processed correctly-\n");
            f++;
            try {
                percentageChanged((f * 100) / f_list.size(), (end_page - start));
            } catch (RuntimeException re) {
                out_message += LogFormatter.formatMessage("RuntimeException: " + re.getMessage() + "\n");
            }
        }
        if (master.size() > 0) {
            pdf_writer.setOutlines(master);
        }
        out_message += LogFormatter.formatMessage("Total processed pages: " + total_processed_pages + "-\n");
        // step 5: we close the document
        if (pdf_document != null) {
            pdf_document.close();
        }
        pdf_writer.close();
        // step 6: temporary buffer moved to output file
        renameTemporaryFile(tmp_o_file, o_file, overwrite_boolean);
    } catch (Exception e) {
        throw new ConcatException(e);
    } finally {
        workCompleted();
    }
}

From source file:it.pdfsam.console.tools.pdf.PdfSplit.java

License:Open Source License

/**
* Execute the split of a pdf document when split type is S_ODD or S_EVEN
* @param pdf_reader pdfreader of the original pdf document
* @throws Exception//from w  w  w  . j  a  v a 2 s.c o m
*/
private void doSplitOddEven(PdfReader pdf_reader) throws Exception {
    int current_page;
    Document current_document = new Document(pdf_reader.getPageSizeWithRotation(1));
    boolean time_to_close = false;
    PdfCopy pdf_writer = null;
    PdfImportedPage imported_page;
    File tmp_o_file = null;
    File o_file = null;
    for (current_page = 1; current_page <= n; current_page++) {
        //check if i've to read one more page or to open a new doc
        if ((current_page != 1) && ((split_type.equals(CmdParser.S_ODD) && ((current_page % 2) != 0))
                || (split_type.equals(CmdParser.S_EVEN) && ((current_page % 2) == 0)))) {
            time_to_close = true;
        } else {
            time_to_close = false;
        }
        if (!time_to_close) {
            tmp_o_file = TmpFileNameGenerator.generateTmpFile(o_dir);
            o_file = new File(o_dir, prefixParser.generateFileName(file_number_formatter.format(current_page)));
            // step 1: creation of a document-object
            current_document = new Document(pdf_reader.getPageSizeWithRotation(current_page));
            // step 2: we create a writer that listens to the document
            pdf_writer = new PdfCopy(current_document, new FileOutputStream(tmp_o_file));
            if (compressed_boolean) {
                pdf_writer.setFullCompression();
            }
            MainConsole.setDocumentCreator(current_document);
            // step 3: we open the document
            current_document.open();
        }
        imported_page = pdf_writer.getImportedPage(pdf_reader, current_page);
        pdf_writer.addPage(imported_page);
        //if it's time to close the document
        if ((time_to_close) || (current_page == n)
                || ((current_page == 1) && (split_type.equals(CmdParser.S_ODD)))) {
            current_document.close();
            renameTemporaryFile(tmp_o_file, o_file, overwrite_boolean);
        }
        percentageChanged(java.lang.Math.round((current_page * 100) / n));
    }
    out_message += LogFormatter.formatMessage("Split " + split_type + " done.\n");
}

From source file:it.pdfsam.console.tools.pdf.PdfSplit.java

License:Open Source License

/**
* Execute the split of a pdf document when split type is S_BURST
* @param pdf_reader pdfreader of the original pdf document
* @throws Exception// w ww .j  av a 2 s .co  m
*/
private void doSplitBurst(PdfReader pdf_reader) throws Exception {
    int current_page;
    Document current_document;
    for (current_page = 1; current_page <= n; current_page++) {
        File tmp_o_file = TmpFileNameGenerator.generateTmpFile(o_dir);
        File o_file = new File(o_dir,
                prefixParser.generateFileName(file_number_formatter.format(current_page)));
        // step 1: creation of a document-object
        current_document = new Document(pdf_reader.getPageSizeWithRotation(current_page));
        // step 2: we create a writer that listens to the document
        PdfCopy pdf_writer = new PdfCopy(current_document, new FileOutputStream(tmp_o_file));
        if (compressed_boolean) {
            pdf_writer.setFullCompression();
        }
        // step 3: we open the document
        MainConsole.setDocumentCreator(current_document);
        current_document.open();
        PdfImportedPage imported_page = pdf_writer.getImportedPage(pdf_reader, current_page);
        pdf_writer.addPage(imported_page);
        current_document.close();
        renameTemporaryFile(tmp_o_file, o_file, overwrite_boolean);
        percentageChanged(java.lang.Math.round((current_page * 100) / n));
    }
    out_message += LogFormatter.formatMessage("Burst done.\n");
}

From source file:it.pdfsam.console.tools.pdf.PdfSplit.java

License:Open Source License

/**
 * Execute the split of a pdf document when split type is S_SPLIT
 * //from w  w  w  .ja  v a 2  s .  co  m
 * @param pdf_reader
 *                pdfreader of the original pdf document
 * @param out_files_name
 *                output file name
 * @throws Exception
 */
private void doSplitSplit(PdfReader pdf_reader) throws Exception {
    String[] limits = snumber_page.split("-");
    Arrays.sort(limits, new StrNumComparator());
    // limits list validation end clean
    LinkedList limits_list = validateSplitLimits(limits, n);
    if (limits_list == null) {
        throw new SplitException("PageNumberError: Cannot find page limits, please check input value.");
    }
    if (limits_list.isEmpty()) {
        throw new SplitException("PageNumberError: Cannot find page limits, please check input value.");
    }
    // HERE I'M SURE I'VE A LIMIT LIST WITH VALUES, I CAN START
    // BOOKMARKS
    Iterator itr = limits_list.iterator();
    int current_page;
    int relative_current_page = 0;
    int end_page = n;
    int start_page = 1;
    Document current_document = new Document(pdf_reader.getPageSizeWithRotation(1));
    PdfCopy pdf_writer = null;
    PdfImportedPage imported_page;
    File tmp_o_file = null;
    File o_file = null;
    if (itr.hasNext()) {
        end_page = Integer.parseInt((String) itr.next());
    }
    for (current_page = 1; current_page <= n; current_page++) {
        relative_current_page++;
        //check if i've to read one more page or to open a new doc
        if (relative_current_page == 1) {
            tmp_o_file = TmpFileNameGenerator.generateTmpFile(o_dir);
            o_file = new File(o_dir, prefixParser.generateFileName(file_number_formatter.format(current_page)));
            start_page = current_page;
            // step 1: creation of a document-object
            current_document = new Document(pdf_reader.getPageSizeWithRotation(current_page));
            // step 2: we create a writer that listens to the document
            pdf_writer = new PdfCopy(current_document, new FileOutputStream(tmp_o_file));
            if (compressed_boolean) {
                pdf_writer.setFullCompression();
            }
            MainConsole.setDocumentCreator(current_document);
            // step 3: we open the document
            current_document.open();
        }
        imported_page = pdf_writer.getImportedPage(pdf_reader, current_page);
        pdf_writer.addPage(imported_page);
        // if it's time to close the document
        if (current_page == end_page) {
            out_message += LogFormatter.formatMessage(
                    "Temporary document " + tmp_o_file.getName() + " done, now adding bookmarks...\n");
            //manage bookmarks
            ArrayList master = new ArrayList();
            List this_book = SimpleBookmark.getBookmark(pdf_reader);
            if (this_book != null) {
                //ArrayList this_book = new ArrayList(bookmarks);
                SimpleBookmark.eliminatePages(this_book, new int[] { end_page + 1, n });
                if (start_page > 1) {
                    SimpleBookmark.eliminatePages(this_book, new int[] { 1, start_page - 1 });
                    SimpleBookmark.shiftPageNumbers(this_book, -(start_page - 1), null);
                }
                master.addAll(this_book);
                pdf_writer.setOutlines(master);
            }
            relative_current_page = 0;
            current_document.close();
            renameTemporaryFile(tmp_o_file, o_file, overwrite_boolean);
            end_page = (itr.hasNext()) ? Integer.parseInt((String) itr.next()) : n;
        }
        percentageChanged((current_page * 100) / n);
    }
    out_message += LogFormatter.formatMessage("Split " + split_type + " done.\n");
}

From source file:jm.fac.pdf.pdfArqueoCaja.java

License:GNU General Public License

/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request//from   ww w. j  ava2 s .c o m
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    HttpSession sesion = request.getSession(true);
    String usuario = (String) sesion.getAttribute("usuario");
    String clave = (String) sesion.getAttribute("clave");

    response.setContentType("application/pdf");
    response.setHeader("Pragma", "no-cache");
    response.setHeader("Expires", "Mon, 01 Jan 2001 00:00:01 GMT");
    response.setHeader("Cache-Control", "no-store");
    response.setHeader("Cache-Control", "must-revalidate");
    response.setHeader("Cache-Control", "no-cache");

    //PrintWriter out = response.getWriter();

    Configuracion conf = new Configuracion(this._ip, this._puerto, this._db, usuario, clave);
    String titulo = conf.getValor("razon_social");
    conf.cerrar();

    String path = String.valueOf(request.getRequestURL());
    path = path.substring(0, path.lastIndexOf("/"));
    /*Archivo archivo = new Archivo(this._ip, this._puerto, this._db, usuario, clave);
    String logo = path + "/img/" + archivo.getArchivo(this._dir, 1);
    archivo.cerrar();*/

    ArqueoCaja objArqueoCaja = new ArqueoCaja(this._ip, this._puerto, this._db, usuario, clave);

    Empleado objEmpleado = new Empleado(this._ip, this._puerto, this._db, usuario, clave);

    String id = request.getParameter("id");
    //int i=0;

    String num_documento = "0";
    String fecha = Fecha.getFecha("SQL");
    String hora = Fecha.getHora();
    String cajero = "";
    String saldo_caja = "0";
    String num_cheques = "0";
    String valor_cheques = "0";
    String num_comp_pagos = "0";
    String valor_comp_pagos = "0";
    String num_retenciones = "0";
    String valor_retenciones = "0";
    String valor_efectivo = "0";
    String total_caja = "0";
    String diferencia = "0";
    String tipo_diferencia = "0";
    //boolean anulado = false;

    if (id.compareTo("-1") != 0) {
        try {
            ResultSet rsArqueoCaja = objArqueoCaja.getArqueoCaja(id);
            if (rsArqueoCaja.next()) {
                num_documento = (rsArqueoCaja.getString("num_documento") != null)
                        ? rsArqueoCaja.getString("num_documento")
                        : "0";
                fecha = (rsArqueoCaja.getString("fecha") != null) ? rsArqueoCaja.getString("fecha") : "";
                hora = (rsArqueoCaja.getString("Hora") != null) ? rsArqueoCaja.getString("Hora") : "";
                cajero = (rsArqueoCaja.getString("cajero") != null) ? rsArqueoCaja.getString("cajero") : "";
                saldo_caja = (rsArqueoCaja.getString("saldo_caja") != null)
                        ? rsArqueoCaja.getString("saldo_caja")
                        : "";
                num_cheques = (rsArqueoCaja.getString("num_cheques") != null)
                        ? rsArqueoCaja.getString("num_cheques")
                        : "0.00";
                valor_cheques = (rsArqueoCaja.getString("valor_cheques") != null)
                        ? rsArqueoCaja.getString("valor_cheques")
                        : "0.00";
                num_comp_pagos = (rsArqueoCaja.getString("num_comp_pagos") != null)
                        ? rsArqueoCaja.getString("num_comp_pagos")
                        : "0.00";
                valor_comp_pagos = (rsArqueoCaja.getString("valor_comp_pagos") != null)
                        ? rsArqueoCaja.getString("valor_comp_pagos")
                        : "0.00";
                num_retenciones = (rsArqueoCaja.getString("num_retenciones") != null)
                        ? rsArqueoCaja.getString("num_retenciones")
                        : "0";
                valor_retenciones = (rsArqueoCaja.getString("valor_retenciones") != null)
                        ? rsArqueoCaja.getString("valor_retenciones")
                        : "0.00";

                valor_efectivo = (rsArqueoCaja.getString("valor_efectivo") != null)
                        ? rsArqueoCaja.getString("valor_efectivo")
                        : "0.00";
                total_caja = (rsArqueoCaja.getString("total") != null) ? rsArqueoCaja.getString("total")
                        : "0.00";
                diferencia = (rsArqueoCaja.getString("diferencia") != null)
                        ? rsArqueoCaja.getString("diferencia")
                        : "0.00";
                tipo_diferencia = (rsArqueoCaja.getString("tipo_diferencia") != null)
                        ? rsArqueoCaja.getString("tipo_diferencia")
                        : "";
                //anulado = (rsArqueoCaja.getString("anulado")!=null) ? rsArqueoCaja.getBoolean("anulado") : false;
                rsArqueoCaja.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    String sucursal = "";
    String empleado = "";
    try {
        ResultSet rs = objEmpleado.getCajero(cajero);
        if (rs.next()) {
            sucursal = rs.getString("sucursal") != null ? rs.getString("sucursal") : "";
            empleado = rs.getString("empleado") != null ? rs.getString("empleado") : "";
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    /* inicio PDF */
    Document doc = new Document(PageSize.A4);// paso 1

    /* tambien establesco el alto del tope para la primera impresion de la factura */

    float ancho = PageSize.A4.getWidth();
    float alto = PageSize.A4.getHeight();

    try {
        PdfWriter writer = PdfWriter.getInstance(doc, response.getOutputStream()); // paso 2

        doc.open(); // paso 3

        // Para enviar a la impresora automticamente.

        writer.addJavaScript("this.print(false);", false);

        /* todo el cuerpo del doc es el paso 4 */

        PdfPTable tbl_titulo = new PdfPTable(1);
        tbl_titulo
                .addCell(Addons.setCeldaPDF(titulo, Font.HELVETICA, 14, Font.NORMAL, Element.ALIGN_CENTER, 0));
        tbl_titulo.addCell(Addons.setCeldaPDF("ARQUEO DE CAJA\n\n", Font.HELVETICA, 14, Font.BOLD,
                Element.ALIGN_CENTER, 0));
        tbl_titulo.addCell(Addons.setCeldaPDF("No.   " + num_documento + "\n", Font.HELVETICA, 12, Font.NORMAL,
                Element.ALIGN_RIGHT, 0));
        tbl_titulo.addCell(Addons.setCeldaPDF("Sucursal: " + sucursal, Font.HELVETICA, 10, Font.NORMAL,
                Element.ALIGN_LEFT, 0));
        tbl_titulo.addCell(Addons.setCeldaPDF("Usuario de caja: " + cajero, Font.HELVETICA, 10, Font.NORMAL,
                Element.ALIGN_LEFT, 0));
        tbl_titulo.addCell(Addons.setCeldaPDF("Responsable de caja: " + empleado, Font.HELVETICA, 10,
                Font.NORMAL, Element.ALIGN_LEFT, 0));
        doc.add(tbl_titulo);

        PdfPTable tbl_det = new PdfPTable(2);

        tbl_det.addCell(
                Addons.setCeldaPDF("Fecha: " + fecha, Font.HELVETICA, 8, Font.NORMAL, Element.ALIGN_LEFT, 0));
        tbl_det.addCell(
                Addons.setCeldaPDF("Hora: " + hora, Font.HELVETICA, 8, Font.NORMAL, Element.ALIGN_LEFT, 0));

        tbl_det.addCell(Addons.setFilaBlanco(3, 10));

        doc.add(tbl_det);

        /* efectivo */
        try {
            String denominacion = "";
            String cantidad = "";
            String total = "";
            ResultSet rsArqueoEfectivo = objArqueoCaja.getArqueoCajaEfectivo(id);
            if (objArqueoCaja.getFilas(rsArqueoEfectivo) > 0) {
                doc.add(Addons.setCabeceraTabla(new String[] { "DENOMINACION", "CANTIDAD", "TOTAL ($)" },
                        new float[] { 60f, 20f, 20f }));
                PdfPTable tbl_efectivo = new PdfPTable(new float[] { 60f, 20f, 20f });
                while (rsArqueoEfectivo.next()) {
                    denominacion = (rsArqueoEfectivo.getString("denominacion") != null)
                            ? rsArqueoEfectivo.getString("denominacion")
                            : "";
                    cantidad = (rsArqueoEfectivo.getString("cantidad") != null)
                            ? rsArqueoEfectivo.getString("cantidad")
                            : "";
                    total = (rsArqueoEfectivo.getString("total") != null) ? rsArqueoEfectivo.getString("total")
                            : "";
                    tbl_efectivo.addCell(Addons.setCeldaPDF(denominacion, Font.HELVETICA, 8, Font.NORMAL,
                            Element.ALIGN_LEFT, 1));
                    tbl_efectivo.addCell(Addons.setCeldaPDF(cantidad, Font.HELVETICA, 8, Font.NORMAL,
                            Element.ALIGN_CENTER, 1));
                    tbl_efectivo.addCell(
                            Addons.setCeldaPDF(total, Font.HELVETICA, 8, Font.NORMAL, Element.ALIGN_RIGHT, 1));
                }
                tbl_efectivo.addCell(Addons.setFilaBlanco(3, 10));
                doc.add(tbl_efectivo);
            }
            rsArqueoEfectivo.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        /* cheque */
        try {
            String efectivizado = "";
            String banco = "";
            String num_cheque = "";
            String valor = "";
            ResultSet rsArqueoCheque = objArqueoCaja.getArqueoCajaCheque(id);
            if (objArqueoCaja.getFilas(rsArqueoCheque) > 0) {
                doc.add(Addons.setCabeceraTabla(
                        new String[] { "BANCO", "Nro. CHEQUE", "VALOR ($)", "EFECTIVIZADO" },
                        new float[] { 60f, 30f, 20f, 15f }));
                PdfPTable tbl_cheque = new PdfPTable(new float[] { 60f, 30f, 20f, 15f });
                while (rsArqueoCheque.next()) {
                    efectivizado = (rsArqueoCheque.getString("efectivizado") != null)
                            ? rsArqueoCheque.getString("efectivizado")
                            : "";
                    banco = (rsArqueoCheque.getString("banco") != null) ? rsArqueoCheque.getString("banco")
                            : "";
                    num_cheque = (rsArqueoCheque.getString("num_cheque") != null)
                            ? rsArqueoCheque.getString("num_cheque")
                            : "";
                    valor = (rsArqueoCheque.getString("valor") != null) ? rsArqueoCheque.getString("valor")
                            : "";
                    tbl_cheque.addCell(
                            Addons.setCeldaPDF(banco, Font.HELVETICA, 8, Font.NORMAL, Element.ALIGN_LEFT, 1));
                    tbl_cheque.addCell(Addons.setCeldaPDF(num_cheque, Font.HELVETICA, 8, Font.NORMAL,
                            Element.ALIGN_LEFT, 1));
                    tbl_cheque.addCell(
                            Addons.setCeldaPDF(valor, Font.HELVETICA, 8, Font.NORMAL, Element.ALIGN_RIGHT, 1));
                    tbl_cheque.addCell(Addons.setCeldaPDF(efectivizado, Font.HELVETICA, 8, Font.NORMAL,
                            Element.ALIGN_RIGHT, 1));
                }
                tbl_cheque.addCell(Addons.setFilaBlanco(4, 10));
                doc.add(tbl_cheque);
            }
            rsArqueoCheque.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        /* otros documentos */
        try {
            String num_comp_pago = "";
            String valor = "";
            ResultSet rsArqueoDocs = objArqueoCaja.getArqueoCajaOtros(id);
            if (objArqueoCaja.getFilas(rsArqueoDocs) > 0) {
                doc.add(Addons.setCabeceraTabla(new String[] { "Nro. COMP. PAGO", "VALOR ($)" },
                        new float[] { 70f, 30f }));
                PdfPTable tbl_otros = new PdfPTable(new float[] { 70f, 30f });
                while (rsArqueoDocs.next()) {
                    num_comp_pago = (rsArqueoDocs.getString("num_comp_pago") != null)
                            ? rsArqueoDocs.getString("num_comp_pago")
                            : "";
                    valor = (rsArqueoDocs.getString("valor") != null) ? rsArqueoDocs.getString("valor") : "0";
                    tbl_otros.addCell(Addons.setCeldaPDF(num_comp_pago, Font.HELVETICA, 8, Font.NORMAL,
                            Element.ALIGN_LEFT, 1));
                    tbl_otros.addCell(
                            Addons.setCeldaPDF(valor, Font.HELVETICA, 8, Font.NORMAL, Element.ALIGN_RIGHT, 1));
                }
                tbl_otros.addCell(Addons.setFilaBlanco(3, 10));
                doc.add(tbl_otros);
            }
            rsArqueoDocs.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        /* retenciones */
        try {
            String num_retencion = "";
            String valor_retencion = "";
            ResultSet rsArqueoRets = objArqueoCaja.getArqueoCajaRetenciones(id);
            if (objArqueoCaja.getFilas(rsArqueoRets) > 0) {
                doc.add(Addons.setCabeceraTabla(new String[] { "Nro. RETENCION", "VALOR ($)" },
                        new float[] { 70f, 30f }));
                PdfPTable tbl_otros = new PdfPTable(new float[] { 70f, 30f });
                while (rsArqueoRets.next()) {
                    num_retencion = (rsArqueoRets.getString("num_retencion") != null)
                            ? rsArqueoRets.getString("num_retencion")
                            : "";
                    valor_retencion = (rsArqueoRets.getString("valor_retencion") != null)
                            ? rsArqueoRets.getString("valor_retencion")
                            : "0";
                    tbl_otros.addCell(Addons.setCeldaPDF(num_retencion, Font.HELVETICA, 8, Font.NORMAL,
                            Element.ALIGN_LEFT, 1));
                    tbl_otros.addCell(Addons.setCeldaPDF(valor_retencion, Font.HELVETICA, 8, Font.NORMAL,
                            Element.ALIGN_RIGHT, 1));
                }
                tbl_otros.addCell(Addons.setFilaBlanco(3, 10));
                doc.add(tbl_otros);
            }
            rsArqueoRets.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        PdfPTable tbl_totales = new PdfPTable(new float[] { 60f, 40f });
        tbl_totales.addCell(Addons.setFilaBlanco(3, 5));

        tbl_totales.addCell(Addons.setCeldaPDF("Saldo en caja actual:", Font.HELVETICA, 8, Font.NORMAL,
                Element.ALIGN_LEFT, 1));
        tbl_totales.addCell(
                Addons.setCeldaPDF(saldo_caja, Font.HELVETICA, 8, Font.NORMAL, Element.ALIGN_RIGHT, 1));

        tbl_totales.addCell(Addons.setCeldaPDF("Total monedas y billetes:", Font.HELVETICA, 8, Font.NORMAL,
                Element.ALIGN_LEFT, 1));
        tbl_totales.addCell(
                Addons.setCeldaPDF(valor_efectivo, Font.HELVETICA, 8, Font.NORMAL, Element.ALIGN_RIGHT, 1));

        tbl_totales.addCell(Addons.setCeldaPDF("Total cheques (" + num_cheques + "):", Font.HELVETICA, 8,
                Font.NORMAL, Element.ALIGN_LEFT, 1));
        tbl_totales.addCell(
                Addons.setCeldaPDF(valor_cheques, Font.HELVETICA, 8, Font.NORMAL, Element.ALIGN_RIGHT, 1));

        tbl_totales.addCell(Addons.setCeldaPDF("Total comprobantes de pago (" + num_comp_pagos + "):",
                Font.HELVETICA, 8, Font.NORMAL, Element.ALIGN_LEFT, 1));
        tbl_totales.addCell(
                Addons.setCeldaPDF(valor_comp_pagos, Font.HELVETICA, 8, Font.NORMAL, Element.ALIGN_RIGHT, 1));

        tbl_totales.addCell(Addons.setCeldaPDF("Total retenciones (" + num_retenciones + "):", Font.HELVETICA,
                8, Font.NORMAL, Element.ALIGN_LEFT, 1));
        tbl_totales.addCell(
                Addons.setCeldaPDF(valor_retenciones, Font.HELVETICA, 8, Font.NORMAL, Element.ALIGN_RIGHT, 1));

        tbl_totales.addCell(
                Addons.setCeldaPDF("Total en caja:", Font.HELVETICA, 8, Font.NORMAL, Element.ALIGN_LEFT, 1));
        tbl_totales.addCell(
                Addons.setCeldaPDF(total_caja, Font.HELVETICA, 8, Font.NORMAL, Element.ALIGN_RIGHT, 1));

        tbl_totales.addCell(Addons.setCeldaPDF(
                "Diferencia:        " + (tipo_diferencia.compareTo("f") == 0 ? "faltante"
                        : (tipo_diferencia.compareTo("s") == 0 ? "sobrante" : "")),
                Font.HELVETICA, 8, Font.NORMAL, Element.ALIGN_LEFT, 1));
        tbl_totales.addCell(
                Addons.setCeldaPDF(diferencia, Font.HELVETICA, 8, Font.NORMAL, Element.ALIGN_RIGHT, 1));

        doc.add(tbl_totales);

        doc.add(new Paragraph(" "));
        doc.add(new Paragraph(" "));
        doc.add(new Paragraph(" "));

        PdfPTable tbl_firmas = new PdfPTable(3);
        tbl_firmas.addCell(
                Addons.setCeldaPDF("RESPONSABLE", Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_CENTER, 0));
        tbl_firmas.addCell(
                Addons.setCeldaPDF("VERIFICADO", Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_CENTER, 0));
        tbl_firmas.addCell(
                Addons.setCeldaPDF("AUTORIZADO", Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_CENTER, 0));
        doc.add(tbl_firmas);

    } catch (IllegalStateException ie) {
        ie.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    } finally {
        objEmpleado.cerrar();
        objArqueoCaja.cerrar();
    }

    doc.close(); // paso 5
    /* fin PDF */
}

From source file:jm.nom.clas.Carnet.java

public void imprimir(HttpServletResponse response, ResultSet rsCarnets, String path) {
    response.setContentType("application/pdf");
    response.setHeader("Pragma", "no-cache");
    response.setHeader("Expires", "Mon, 01 Jan 2001 00:00:01 GMT");
    response.setHeader("Cache-Control", "no-store");
    response.setHeader("Cache-Control", "must-revalidate");
    response.setHeader("Cache-Control", "no-cache");

    /*try{//from ww  w .  ja  v a2 s.  com
        rsCarnets = objEmpleado.getCarnets(id);
        if(rsCarnets.next()){
            id_sucursal = ((rsCarnets.getString("id_sucursal")!=null) ? rsCarnets.getString("id_sucursal") : "");
            id_instalacion = ((rsCarnets.getString("id_instalacion")!=null) ? rsCarnets.getString("id_instalacion") : "");
            serie_factura = ((rsCarnets.getString("serie_factura")!=null) ? rsCarnets.getString("serie_factura") : "");
            num_factura = ((rsCarnets.getString("num_factura")!=null) ? rsCarnets.getString("num_factura") : "");
            razon_social = ((rsCarnets.getString("razon_social")!=null) ? rsCarnets.getString("razon_social") : "CONSUMIDOR FINAL");
            fecha_emision = ((rsCarnets.getString("fecha_emision")!=null) ? Fecha.ISOaSQL(rsCarnets.getString("fecha_emision")) : "");
            direccion = ((rsCarnets.getString("direccion")!=null) ? rsCarnets.getString("direccion") : "");
            vendedor = ((rsCarnets.getString("vendedor")!=null) ? rsCarnets.getString("vendedor") : "");
            total = ((rsCarnets.getString("total")!=null) ? rsCarnets.getString("total") : "0.00");
            de_activo = ((rsCarnets.getString("de_activo")!=null) ? rsCarnets.getBoolean("de_activo") : false);
            rsCarnets.close();
        }
    }catch(Exception ie){
        ie.printStackTrace();
    }*/
    try {
        /* inicio PDF */
        Document document = new Document(PageSize.A4.rotate());// paso 1
        document.setMargins(-47, 0, 38, 0); /*Izquierda, derecha, tope, pie */

        PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream()); // paso 2
        writer.setPageEvent(new Carnet(this._dir));
        document.open(); // paso 3

        //writer.addJavaScript("this.print(false);", false); // Para enviar a la impresora automticamente.

        /* todo el cuerpo del doc es el paso 4 */

        //PdfPTable tbl = new PdfPTable(new float[]{40f,60f});
        PdfPTable tbl = new PdfPTable(4);
        int i = 0;
        try {
            //rsCarnets = objEmpleado.getCarnets(id);
            while (rsCarnets.next()) {
                PdfPTable tbl1 = new PdfPTable(1);
                PdfPTable tbl2 = new PdfPTable(new float[] { 90f, 5f, 5f });
                String foto = ((rsCarnets.getString("padre_nombre") != null)
                        ? rsCarnets.getString("padre_nombre")
                        : "");
                //_dir="C:\\Users\\SoulGael\\Documents\\NetBeansProjects\\trunk\\saitel\\build\\web\\img\\luis.jpg";

                tbl1.addCell(Addons.setCeldaPDFBottom(" ", Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_LEFT,
                        0, 26, 0));
                tbl1.addCell(Addons.setLogoCarnet(_dir + foto, 79, 103));
                //tbl1.addCell(Addons.setLogoCarnet(_dir,79,103));
                String nombre = ((rsCarnets.getString("nombre") != null) ? rsCarnets.getString("nombre") : "");
                String apellidos = ((rsCarnets.getString("apellido") != null) ? rsCarnets.getString("apellido")
                        : "");
                String cargo = ((rsCarnets.getString("cargo") != null) ? rsCarnets.getString("cargo") : "");
                ;
                String[] nombresArray = nombre.split(" ");
                String[] apellidosArray = apellidos.split(" ");
                String n_completos = nombresArray[0] + " " + apellidosArray[0];
                String CI = ((rsCarnets.getString("dni") != null) ? rsCarnets.getString("dni") : "");
                ;
                String sangre = ((rsCarnets.getString("tipo_sangre") != null)
                        ? rsCarnets.getString("tipo_sangre")
                        : "");
                ;
                String carnet = ((rsCarnets.getString("carnet") != null) ? rsCarnets.getString("carnet") : "");
                //String carnet="A,B,C,D,E,F,G";
                Color A = Color.WHITE;
                Color B = Color.WHITE;
                Color C = Color.WHITE;
                Color D = Color.WHITE;
                Color E = Color.WHITE;
                Color F = Color.WHITE;
                Color G = Color.WHITE;

                String[] carnetArray = carnet.split(",");
                for (int j = 0; j < carnetArray.length; j++) {
                    if (carnetArray[j].equals("A")) {
                        A = Color.ORANGE;
                        j++;
                        if (j > carnetArray.length - 1)
                            j = carnetArray.length - 1;
                    }
                    if (carnetArray[j].equals("B")) {
                        B = Color.ORANGE;
                        j++;
                        if (j > carnetArray.length - 1)
                            j = carnetArray.length - 1;
                    }
                    if (carnetArray[j].equals("C")) {
                        C = Color.ORANGE;
                        ;
                        j++;
                        if (j > carnetArray.length - 1)
                            j = carnetArray.length - 1;
                    }
                    if (carnetArray[j].equals("D")) {
                        D = Color.ORANGE;
                        ;
                        j++;
                        if (j > carnetArray.length - 1)
                            j = carnetArray.length - 1;
                    }
                    if (carnetArray[j].equals("E")) {
                        E = Color.ORANGE;
                        ;
                        j++;
                        if (j > carnetArray.length - 1)
                            j = carnetArray.length - 1;
                    }
                    if (carnetArray[j].equals("F")) {
                        F = Color.ORANGE;
                        ;
                        j++;
                        if (j > carnetArray.length - 1)
                            j = carnetArray.length - 1;
                    }
                    if (carnetArray[j].equals("G")) {
                        G = Color.ORANGE;
                        ;
                        j++;
                        if (j > carnetArray.length - 1)
                            j = carnetArray.length - 1;
                    }
                    break;
                }

                tbl1.addCell(Addons.setCeldaPDFBottom(" ", Font.ITALIC, 7, Font.BOLD, Element.ALIGN_CENTER, 0,
                        0, 0));
                tbl1.addCell(Addons.setCeldaPDFBottom(n_completos, Font.ITALIC, 13, Font.BOLD,
                        Element.ALIGN_CENTER, 0, 0, 0));
                tbl1.addCell(Addons.setCeldaPDFBottom(cargo, Font.ITALIC, 12, Font.BOLD, Element.ALIGN_CENTER,
                        0, 0, 0));
                tbl1.addCell(Addons.setCeldaPDFBottom(CI, Font.ITALIC, 12, Font.BOLD, Element.ALIGN_CENTER, 0,
                        0, 0));
                tbl1.addCell(Addons.setCeldaPDFBottom(sangre, Font.ITALIC, 12, Font.BOLD, Element.ALIGN_CENTER,
                        0, 0, 0));

                tbl2.addCell(
                        Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 7, Font.BOLD, Element.ALIGN_LEFT, 0, 0, 3));
                tbl2.addCell(
                        Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 7, Font.BOLD, Element.ALIGN_LEFT, 0, 0, 3));
                tbl2.addCell(
                        Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 7, Font.BOLD, Element.ALIGN_LEFT, 0, 0, 3));
                tbl2.addCell(Addons.setCeldaPDFCarnet("  LICENCIA INTERNA DE ", Font.ITALIC, 9, Font.BOLD,
                        Element.ALIGN_CENTER, 0, 0, 3));
                tbl2.addCell(Addons.setCeldaPDFCarnet("  PREVENCION DE RIESGOS", Font.ITALIC, 9, Font.BOLD,
                        Element.ALIGN_CENTER, 0, 0, 3));
                tbl2.addCell(Addons.setCeldaPDFCarnet("   Con la induccin recibida y aprobada usted",
                        Font.ITALIC, 8, Font.BOLD, Element.ALIGN_LEFT, 0, 0, 3));
                tbl2.addCell(Addons.setCeldaPDFCarnet("   est autorizado para:", Font.ITALIC, 8, Font.BOLD,
                        Element.ALIGN_LEFT, 0, 0, 3));
                tbl2.addCell(
                        Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 8, Font.BOLD, Element.ALIGN_LEFT, 0, 0, 3));
                tbl2.addCell(Addons.setCeldaPDFCarnet("      a. Trabajo de Oficina.", Font.ITALIC, 8, Font.BOLD,
                        Element.ALIGN_LEFT, 0, 2, 0));
                tbl2.addCell(Addons.setCeldaPDFCarnetOpciones(" ", Font.ITALIC, 8, Font.BOLD,
                        Element.ALIGN_CENTER, 1, 2, 0, A));
                tbl2.addCell(
                        Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 8, Font.BOLD, Element.ALIGN_LEFT, 0, 2, 0));

                tbl2.addCell(Addons.setCeldaPDFCarnet("      b. Trabajo de Marketing y propaganda", Font.ITALIC,
                        8, Font.BOLD, Element.ALIGN_LEFT, 0, 2, 0));
                tbl2.addCell(Addons.setCeldaPDFCarnetOpciones(" ", Font.ITALIC, 8, Font.BOLD,
                        Element.ALIGN_CENTER, 1, 2, 0, B));
                tbl2.addCell(
                        Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 8, Font.BOLD, Element.ALIGN_LEFT, 0, 2, 0));

                tbl2.addCell(Addons.setCeldaPDFCarnet("      c. Trabajo de mantenimiento y limpieza",
                        Font.ITALIC, 8, Font.BOLD, Element.ALIGN_LEFT, 0, 2, 0));
                tbl2.addCell(Addons.setCeldaPDFCarnetOpciones(" ", Font.ITALIC, 8, Font.BOLD,
                        Element.ALIGN_CENTER, 1, 2, 0, C));
                tbl2.addCell(
                        Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 8, Font.BOLD, Element.ALIGN_LEFT, 0, 2, 0));

                tbl2.addCell(Addons.setCeldaPDFCarnet("      d. Trabajo de instalaciones menores a los ",
                        Font.ITALIC, 8, Font.BOLD, Element.ALIGN_LEFT, 0, 0, 0));
                tbl2.addCell(Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 8, Font.BOLD, Element.ALIGN_CENTER, 0,
                        0, 2));
                tbl2.addCell(Addons.setCeldaPDFCarnet("      ocho metros sobre el nivel.", Font.ITALIC, 8,
                        Font.BOLD, Element.ALIGN_LEFT, 0, 0, 0));
                tbl2.addCell(Addons.setCeldaPDFCarnetOpciones(" ", Font.ITALIC, 8, Font.BOLD,
                        Element.ALIGN_CENTER, 1, 0, 0, D));
                tbl2.addCell(
                        Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 8, Font.BOLD, Element.ALIGN_LEFT, 0, 2, 0));
                tbl2.addCell(Addons.setCeldaPDFCarnet("      (Domicilios, postes, cableado)", Font.ITALIC, 8,
                        Font.BOLD, Element.ALIGN_LEFT, 0, 2, 0));
                tbl2.addCell(Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 8, Font.BOLD, Element.ALIGN_CENTER, 0,
                        2, 2));

                tbl2.addCell(Addons.setCeldaPDFCarnet("      e. Trabajo de instalaciones, antenas,",
                        Font.ITALIC, 8, Font.BOLD, Element.ALIGN_LEFT, 0, 0, 0));
                tbl2.addCell(Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 8, Font.BOLD, Element.ALIGN_CENTER, 0,
                        0, 2));
                tbl2.addCell(Addons.setCeldaPDFCarnet("      infraestructura mayores a los ocho", Font.ITALIC,
                        8, Font.BOLD, Element.ALIGN_LEFT, 0, 0, 0));
                tbl2.addCell(Addons.setCeldaPDFCarnetOpciones(" ", Font.ITALIC, 8, Font.BOLD,
                        Element.ALIGN_CENTER, 1, 0, 0, E));
                tbl2.addCell(
                        Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 8, Font.BOLD, Element.ALIGN_LEFT, 0, 2, 0));
                tbl2.addCell(Addons.setCeldaPDFCarnet("      metros sobre el nivel", Font.ITALIC, 8, Font.BOLD,
                        Element.ALIGN_LEFT, 0, 2, 0));
                tbl2.addCell(Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 8, Font.BOLD, Element.ALIGN_CENTER, 0,
                        2, 2));

                tbl2.addCell(Addons.setCeldaPDFCarnet("      f. Planes de emergencia y contingencia",
                        Font.ITALIC, 8, Font.BOLD, Element.ALIGN_LEFT, 0, 2, 0));
                tbl2.addCell(Addons.setCeldaPDFCarnetOpciones(" ", Font.ITALIC, 8, Font.BOLD,
                        Element.ALIGN_CENTER, 1, 2, 0, F));
                tbl2.addCell(
                        Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 8, Font.BOLD, Element.ALIGN_LEFT, 0, 2, 0));

                tbl2.addCell(Addons.setCeldaPDFCarnet("      g. Planes de rescate", Font.ITALIC, 8, Font.BOLD,
                        Element.ALIGN_LEFT, 0, 2, 0));
                tbl2.addCell(Addons.setCeldaPDFCarnetOpciones(" ", Font.ITALIC, 8, Font.BOLD,
                        Element.ALIGN_CENTER, 1, 2, 0, G));
                tbl2.addCell(
                        Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 8, Font.BOLD, Element.ALIGN_LEFT, 0, 2, 0));

                tbl2.addCell(
                        Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 8, Font.BOLD, Element.ALIGN_LEFT, 0, 0, 3));
                tbl2.addCell(
                        Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 8, Font.BOLD, Element.ALIGN_LEFT, 0, 0, 3));
                tbl2.addCell(
                        Addons.setCeldaPDFCarnet(" ", Font.ITALIC, 10, Font.BOLD, Element.ALIGN_LEFT, 0, 0, 3));
                tbl2.addCell(Addons.setCeldaPDFCarnet("Ing. FREDDY ROSERO", Font.ITALIC, 8, Font.BOLD,
                        Element.ALIGN_CENTER, 0, 0, 3, Color.BLUE));
                tbl2.addCell(Addons.setCeldaPDFCarnet("GERENTE", Font.ITALIC, 8, Font.BOLD,
                        Element.ALIGN_CENTER, 0, 0, 3, Color.BLUE));
                tbl2.addCell(Addons.setCeldaPDFCarnet("Fecha de Expedicin: Mayo 2015", Font.ITALIC, 5,
                        Font.BOLD, Element.ALIGN_CENTER, 0, 0, 3, Color.BLUE));
                tbl2.addCell(Addons.setCeldaPDFCarnet("Fecha de Caducidad: Mayo 2016", Font.ITALIC, 5,
                        Font.BOLD, Element.ALIGN_CENTER, 0, 0, 3, Color.BLUE));
                /* tbl1.addCell(Addons.setCeldaPDF(((rsCarnets.getString("nombres")!=null) ? rsCarnets.getString("nombres") : ""), Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_LEFT, 1));
                tbl1.addCell(Addons.setCeldaPDF(((rsCarnets.getString("rol")!=null) ? rsCarnets.getString("rol") : ""), Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_LEFT, 1));
                        
                tbl1.addCell(Addons.setCeldaPDF(((rsCarnets.getString("dni")!=null) ? rsCarnets.getString("dni") : ""), Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_LEFT, 1));
                tbl1.addCell(Addons.setCeldaPDF(((rsCarnets.getString("tipo_sangre")!=null) ? rsCarnets.getString("tipo_sangre") : ""), Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_LEFT, 1));
                        
                String idcarnet=(rsCarnets.getString("id_empleado")!=null) ? rsCarnets.getString("id_empleado") : "";*/

                tbl.addCell(Addons.setCeldaPDF(tbl1, 0, 0));
                tbl.addCell(Addons.setCeldaPDF(tbl2, 0, 0));
                if (i % 2 != 0) {
                    tbl1.addCell(
                            Addons.setCeldaPDF(" ", Font.ITALIC, 10, Font.BOLD, Element.ALIGN_LEFT, 0, 16, 3));
                }
                i++;
            }
            if (i % 2 != 0) {
                tbl.addCell(" ");
                tbl.addCell(" ");
            }

            /*Archivo archivo = new Archivo(_ip, _puerto, _db, _usuario, _clave);
                //path = path.substring(0, path.lastIndexOf("/"));
                String carnet = path + "/img/" + archivo.getArchivo(_dir, "vta_empleado", idcarnet, "padre_nombre", "foto");
                archivo.cerrar();
                Image imagen = null;
                try{
                    imagen = Image.getInstance(carnet);
                    imagen.scaleAbsolute(50, 70);
                    PdfPCell celdaImg = new PdfPCell(imagen);
                    celdaImg.setBorderWidth(0);
                    celdaImg.setPadding(0);
                    tbl.addCell(celdaImg);
                    document.add(tbl1);
                }catch(Exception e){
                    tbl.addCell(" ");
                }*/

        } catch (Exception e) {
            e.printStackTrace();
        }
        document.add(tbl);

        document.close(); // paso 5
        /* fin PDF */

    } catch (IllegalStateException ie) {
        ie.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:jm.Reporte.java

License:GNU General Public License

public void lista(HttpServletResponse response, String[] cabTabla, float[] anchoTabla, ResultSet registros) {
    /* inicio PDF */
    Rectangle orientacion = (this.vertical) ? PageSize.A4 : PageSize.A4.rotate();
    Document document = new Document(orientacion);// paso 1
    document.setMargins(0, 0, 50, 80); /*Izquierda, derecha, tope, pie */
    try {//from   w w w .  j a  va 2  s.  c  om
        PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream()); // paso 2
        writer.setPageEvent(new Reporte(this.vertical, this.logo, this.titulo, this.ruc, this.subtitulo,
                this.direccion, this.sucursal, this.rep_pie));

        document.open(); // paso 3

        /* todo el cuerpo del doc es el paso 4 */

        document.add(Addons.setCabecera(this.logo, this.titulo, this.ruc, this.subtitulo, this.direccion,
                this.sucursal));

        document.add(Addons.setCabeceraTabla(cabTabla, anchoTabla));

        ResultSetMetaData mdata = registros.getMetaData();
        int numCols = mdata.getColumnCount();
        PdfPTable tbl_det = new PdfPTable(anchoTabla);
        int num = 1;
        try {
            while (registros.next()) {
                tbl_det.addCell(Addons.setCeldaPDF(String.valueOf(num), Font.TIMES_ROMAN, 8, Font.NORMAL,
                        Element.ALIGN_CENTER, 1));
                for (int i = 1; i <= numCols; i++) {
                    tbl_det.addCell(
                            Addons.setCeldaPDF(((registros.getString(i) != null) ? registros.getString(i) : ""),
                                    Font.TIMES_ROMAN, 8, Font.NORMAL, Element.ALIGN_LEFT, 1));
                }
                num++;
            }
            registros.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        document.add(tbl_det);

    } catch (IllegalStateException ie) {
        ie.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }

    document.close(); // paso 5
    /* fin PDF */
}

From source file:jm.Reporte.java

License:GNU General Public License

public void lista(HttpServletResponse response, String[] cabTabla, float[] anchoTabla, ResultSet registros,
        int lim) {
    /* inicio PDF */
    Rectangle orientacion = (this.vertical) ? PageSize.A4 : PageSize.A4.rotate();
    Document document = new Document(orientacion);// paso 1
    document.setMargins(0, 0, 50, 80); /*Izquierda, derecha, tope, pie */
    try {//from ww  w.  j  a  v  a2s  . com
        PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream()); // paso 2
        writer.setPageEvent(new Reporte(this.vertical, this.logo, this.titulo, this.ruc, this.subtitulo,
                this.direccion, this.sucursal, this.rep_pie));
        document.open(); // paso 3

        /* todo el cuerpo del doc es el paso 4 */

        document.add(Addons.setCabecera(this.logo, this.titulo, this.ruc, this.subtitulo, this.direccion,
                this.sucursal));

        document.add(Addons.setCabeceraTabla(cabTabla, anchoTabla));

        PdfPTable tbl_det = new PdfPTable(anchoTabla);
        int num = 1;
        int alineacion = Element.ALIGN_LEFT;
        try {
            while (registros.next()) {
                tbl_det.addCell(Addons.setCeldaPDF(String.valueOf(num), Font.TIMES_ROMAN, 8, Font.NORMAL,
                        Element.ALIGN_CENTER, 1));
                for (int i = 1; i <= lim; i++) {
                    //alineacion = (i==lim) ? Element.ALIGN_RIGHT : Element.ALIGN_LEFT;
                    tbl_det.addCell(
                            Addons.setCeldaPDF(((registros.getString(i) != null) ? registros.getString(i) : ""),
                                    Font.TIMES_ROMAN, 8, Font.NORMAL, alineacion, 1));
                }
                num++;
            }
            registros.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        document.add(tbl_det);

    } catch (IllegalStateException ie) {
        ie.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }

    document.close(); // paso 5
    /* fin PDF */
}

From source file:jm.Reporte.java

License:GNU General Public License

public void lista(HttpServletResponse response, String[] cabTabla, float[] anchoTabla, ResultSet registros,
        char sumDesde) {
    int sumarDesde = Integer.parseInt("" + sumDesde);
    int num_sumas = cabTabla.length - sumarDesde;
    float sumas[] = new float[num_sumas];
    float valor = 0;
    int pos = 0;/*from   w w  w . j  av a2s . c  om*/
    /* inicio PDF */
    Rectangle orientacion = (this.vertical) ? PageSize.A4 : PageSize.A4.rotate();
    Document document = new Document(orientacion);// paso 1
    document.setMargins(0, 0, 50, 80); /*Izquierda, derecha, tope, pie */
    try {
        PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream()); // paso 2
        writer.setPageEvent(new Reporte(this.vertical, this.logo, this.titulo, this.ruc, this.subtitulo,
                this.direccion, this.sucursal, this.rep_pie));

        document.open(); // paso 3

        /* todo el cuerpo del doc es el paso 4 */

        document.add(Addons.setCabecera(this.logo, this.titulo, this.ruc, this.subtitulo, this.direccion,
                this.sucursal));

        document.add(Addons.setCabeceraTabla(cabTabla, anchoTabla));

        ResultSetMetaData mdata = registros.getMetaData();
        int numCols = mdata.getColumnCount();
        PdfPTable tbl_det = new PdfPTable(anchoTabla);
        int num = 1;
        try {
            while (registros.next()) {
                tbl_det.addCell(Addons.setCeldaPDF(String.valueOf(num), Font.TIMES_ROMAN, 8, Font.NORMAL,
                        Element.ALIGN_CENTER, 1));
                pos = 0;
                for (int i = 1; i <= numCols; i++) {
                    if (i < sumarDesde) {
                        tbl_det.addCell(Addons.setCeldaPDF(
                                ((registros.getString(i) != null) ? registros.getString(i) : ""),
                                Font.TIMES_ROMAN, 8, Font.NORMAL, Element.ALIGN_LEFT, 1));
                    } else {
                        valor = (registros.getString(i) != null) ? registros.getFloat(i) : 0;
                        tbl_det.addCell(Addons.setCeldaPDF(String.valueOf(valor), Font.TIMES_ROMAN, 8,
                                Font.NORMAL, Element.ALIGN_RIGHT, 1));
                        sumas[pos] = Float.parseFloat(this.formatoNumero.format(sumas[pos])) + valor;
                        pos++;
                    }
                }
                num++;
            }

            tbl_det.addCell(Addons.setCeldaPDF("TOTALES:  ", Font.TIMES_ROMAN, 8, Font.NORMAL,
                    Element.ALIGN_RIGHT, 0, 4, sumarDesde));
            for (int j = 0; j < sumas.length; j++) {
                tbl_det.addCell(Addons.setCeldaPDF(Addons.truncar(sumas[j]), Font.TIMES_ROMAN, 8, Font.NORMAL,
                        Element.ALIGN_RIGHT, 0));
            }

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

        document.add(tbl_det);

    } catch (IllegalStateException ie) {
        ie.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }

    document.close(); // paso 5
    /* fin PDF */
}