Example usage for com.itextpdf.text BaseColor LIGHT_GRAY

List of usage examples for com.itextpdf.text BaseColor LIGHT_GRAY

Introduction

In this page you can find the example usage for com.itextpdf.text BaseColor LIGHT_GRAY.

Prototype

BaseColor LIGHT_GRAY

To view the source code for com.itextpdf.text BaseColor LIGHT_GRAY.

Click Source Link

Usage

From source file:Control.ProcessaArq.java

public void gravaArquivoConsumoUsuarios(ArrayList<Usuario> lista, String caminho)
        throws IOException, DocumentException {

    Document doc = null;/*from  ww  w .j av a2 s  .  com*/
    OutputStream os = null;
    Paragraph p = new Paragraph();
    Tratamento tempo = new Tratamento();
    DecimalFormat df = new DecimalFormat("#####.##");
    String informacao, tipo = new String();
    Double soma, valorTotal = 0.0;

    PdfPTable table = new PdfPTable(5); //tabela com 5 colunas
    float[] headerwidths = { 30, 80, 35, 35, 25 }; // define a largura de cada coluna  
    table.setWidths(headerwidths);

    caminho = localizaArquivo(false) + ".pdf";
    try {//configuraes da pgina          
        float fntSize, lineSpacing;
        fntSize = 8f;
        lineSpacing = 8f;
        doc = new Document(PageSize.A4.rotate(), 10, 10, 30, 40);

        os = new FileOutputStream(caminho);
        PdfWriter.getInstance(doc, os);
        doc.open();

        //cabecalho da tabela
        table.getDefaultCell().setBorder(0);
        table.getWidthPercentage();

        table.getDefaultCell().setBorder(0);
        table.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
        table.getDefaultCell().setColspan(5);

        table.addCell(new Paragraph("CONSUMO POR USU?RIOS ") + banco.periodoFatura());

        table.getDefaultCell().setBorder(1);
        table.getDefaultCell().setColspan(0);
        table.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_LEFT);

        table.addCell(new Paragraph(""));
        table.addCell(new Paragraph(""));
        table.addCell(new Paragraph(""));
        table.addCell(new Paragraph(""));
        table.addCell(new Paragraph(""));
        table.getDefaultCell().setBorder(1);

        table.getDefaultCell().setBackgroundColor(BaseColor.LIGHT_GRAY);
        table.addCell(new Paragraph("Cidade"));
        table.addCell(new Paragraph("Usurio"));
        table.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
        table.addCell(new Paragraph("Nmero"));
        table.addCell(new Paragraph("Tipo"));
        table.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_LEFT);
        table.addCell(new Paragraph("Valor"));
        table.getDefaultCell().setBackgroundColor(BaseColor.WHITE);

        soma = 0.0;
        for (int a = 0; a <= lista.size() - 1; a++) {

            //cidade
            informacao = new String();
            informacao = lista.get(a).getCidade();
            //    table.setTotalWidth(80);
            table.addCell(new Paragraph(informacao));

            //Usurio
            informacao = new String();
            informacao = lista.get(a).getNome();
            //    table.setTotalWidth(200);
            table.addCell(new Paragraph(informacao));

            //Nmero
            informacao = new String();
            informacao = String.valueOf(lista.get(a).getLinha());
            //    table.setTotalWidth(10);
            table.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
            table.addCell(new Paragraph(informacao));

            //Tipo
            informacao = new String();
            informacao = lista.get(a).getTipo();
            //    table.setTotalWidth(10);
            table.addCell(new Paragraph(informacao));

            //Valor
            informacao = new String();
            soma += lista.get(a).getValor();
            informacao = "R$" + df.format(lista.get(a).getValor());
            //    table.setTotalWidth(10);
            table.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_LEFT);
            table.addCell(new Paragraph(informacao));
        }

        // Total
        table.getDefaultCell().setBackgroundColor(BaseColor.LIGHT_GRAY);
        informacao = new String();
        informacao = "Total";
        table.addCell(informacao);

        // tempo                               
        table.addCell("");
        table.addCell("");
        table.addCell("");

        // valor
        informacao = new String();
        informacao = "R$" + df.format(soma);
        table.addCell(informacao);
        table.getDefaultCell().setBackgroundColor(BaseColor.WHITE);

        doc.add(table);
        // fim da pgina
    } finally {
        if (doc != null) {
            //fechamento do documento
            doc.close();
        }
        if (os != null) {
            //fechamento da stream de sada
            os.close();
        }
    }
}

From source file:Control.ProcessaArq.java

public void gravaArquivoServicos(ArrayList<Conta> lista, String caminho) throws IOException, DocumentException {
    ArrayList<String> listaTipos;
    String local[];/* w w w. j  a  v a 2  s . c  o  m*/
    Document doc = null;
    OutputStream os = null;
    Paragraph p = new Paragraph();
    Tratamento tempo = new Tratamento();
    DecimalFormat df = new DecimalFormat("#####.##");
    String informacao, tempoServico, tempoSubTotal, tempoTotal, tipo = new String();
    Double soma, valorTotal = 0.0;

    PdfPTable table = new PdfPTable(3); //tabela com 3 colunas
    float[] headerwidths = { 85, 35, 25 }; // define a largura de cada coluna
    table.setWidths(headerwidths);

    caminho = localizaArquivo(false) + ".pdf";
    try {//configuraes da pgina          
        float fntSize, lineSpacing;
        fntSize = 10f;
        lineSpacing = 10f;
        doc = new Document(PageSize.A4.rotate(), 10, 10, 20, 10);

        os = new FileOutputStream(caminho);
        PdfWriter.getInstance(doc, os);
        doc.open();

        tempoTotal = "00:00:00";
        tempoServico = "00:00:00";
        tempoSubTotal = "00:00:00";
        listaTipos = new ArrayList<String>();

        //cabecalho da tabela
        table.getDefaultCell().setBorder(0);
        table.getWidthPercentage();

        table.getDefaultCell().setBorder(0);
        table.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
        table.getDefaultCell().setColspan(3);

        table.addCell(new Paragraph(tempo.verificaNomeServico(lista) + " " + banco.periodoFatura()));

        table.getDefaultCell().setBorder(1);
        table.getDefaultCell().setColspan(0);
        table.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_LEFT);

        for (int a = 0; a < lista.size() - 1; a++) {
            System.out.println(a + " - " + lista.get(a).getTipo());

            if (!listaTipos.contains(lista.get(a).getTipo())) {

                listaTipos.add(lista.get(a).getTipo());
                soma = 0.0;
                tipo = new String();
                informacao = new String();

                informacao = "" + listaTipos.get(listaTipos.size() - 1) + "";
                table.getDefaultCell().setBorder(1);
                table.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
                table.getDefaultCell().setColspan(3);
                table.getDefaultCell().setBackgroundColor(BaseColor.LIGHT_GRAY);

                table.addCell(new Paragraph(informacao));

                table.getDefaultCell().setBorder(1);
                table.getDefaultCell().setColspan(0);
                table.getDefaultCell().setBackgroundColor(BaseColor.WHITE);
                table.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_LEFT);

                // contedo da tabela
                for (int b = 0; b <= lista.size() - 1; b++) {
                    if (lista.get(b).getTipo().equals(listaTipos.get(listaTipos.size() - 1))) {

                        soma += lista.get(b).getValor();
                        tempoServico = tempo.somaTempo(lista.get(b).getDuracao(), tempoServico);
                        tempoSubTotal = tempo.somaTempo(tempoServico, tempoSubTotal);
                        tempoTotal = tempo.somaTempo(tempoServico, tempoTotal);
                        tipo = listaTipos.get(listaTipos.size() - 1);

                        informacao = new String();
                        informacao = lista.get(b).getDescricaoServico();
                        table.setTotalWidth(80);
                        table.addCell(new Paragraph(informacao));

                        informacao = new String();
                        informacao = tempoServico + " (" + tempo.conversaoHoraMinuto(tempoServico) + ")";
                        table.setTotalWidth(30);
                        table.addCell(new Paragraph(informacao));

                        informacao = new String();
                        informacao = "R$" + df.format(lista.get(b).getValor());
                        table.setTotalWidth(20);
                        table.addCell(new Paragraph(informacao));

                        tempoServico = "00:00:00";
                        //    System.out.println(informacao);                                 
                    }
                }
                //rodap da tabela
                listaTipos.add(tipo);
                valorTotal += soma;

                // subtotal
                table.getDefaultCell().setBackgroundColor(BaseColor.LIGHT_GRAY);
                informacao = new String();
                informacao = "Sub Total:";
                table.addCell(informacao);

                // tempo
                informacao = new String();
                informacao = tempoSubTotal + " (" + tempo.conversaoHoraMinuto(tempoSubTotal) + ")";
                table.addCell(informacao);

                // valor
                informacao = new String();
                informacao = "R$" + df.format(soma);
                table.addCell(informacao);
                table.getDefaultCell().setBackgroundColor(BaseColor.WHITE);

                // espao entre tabelas

                table.getDefaultCell().setBorder(1);
                table.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
                table.getDefaultCell().setColspan(3);
                table.addCell(new Paragraph("* * * * *"));
                table.getDefaultCell().setColspan(0);
                table.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_LEFT);
                table.getDefaultCell().setBorder(0);

                tempoSubTotal = "00:00:00";
                //    System.out.println(informacao);   
            }
        }
        // fim da pgina

        // valor total
        informacao = new String();
        informacao = "Total Geral:  ";
        table.getDefaultCell().setBorder(1);
        table.getDefaultCell().setBackgroundColor(BaseColor.LIGHT_GRAY);
        table.addCell(informacao);
        table.getDefaultCell().setBorder(1);

        // tempo
        informacao = new String();
        informacao = tempoTotal + " (" + tempo.conversaoHoraMinuto(tempoTotal) + ")";
        table.addCell(informacao);

        //valor
        informacao = new String();
        informacao = "R$" + df.format(valorTotal);
        table.addCell(informacao);

        doc.add(table);
        //    System.out.println(informacao);

    } finally {
        if (doc != null) {
            //fechamento do documento
            doc.close();
        }
        if (os != null) {
            //fechamento da stream de sada
            os.close();
        }
    }
}

From source file:Controller.ControllerCompra.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//from   ww  w  .  ja v a 2  s.  com
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    if (request.getParameter("action") != null) {
        //int estado = 0;
        String url = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
                + request.getContextPath();
        String action = request.getParameter("action");
        switch (action) {
        case "Registrar": {
            String documentoUsuario = (request.getParameter("documentoUsuario"));
            String facturaProveedor = (request.getParameter("txtNumeroFactura"));
            String nombreProveedor = (request.getParameter("txtNombre"));
            int lenght = Integer.parseInt(request.getParameter("size"));
            int totalCompra = Integer.parseInt(request.getParameter("txtTotalCompra"));
            listObjDetalleMovimientos = new ArrayList<>();
            for (int i = 0; i < lenght; i++) {
                _objDetalleMovimiento = new ObjDetalleMovimiento();
                _objDetalleMovimiento
                        .setIdArticulo(Integer.parseInt(request.getParameter("lista[" + i + "][idArticulo]")));
                _objDetalleMovimiento
                        .setCantidad(Integer.parseInt(request.getParameter("lista[" + i + "][cantidad]")));
                _objDetalleMovimiento.setPrecioArticulo(
                        Integer.parseInt(request.getParameter("lista[" + i + "][precioArticulo]")));
                _objDetalleMovimiento.setTotalDetalleMovimiento(
                        _objDetalleMovimiento.getCantidad() * _objDetalleMovimiento.getPrecioArticulo());
                _objDetalleMovimiento.setDescuento(lenght);
                listObjDetalleMovimientos.add(_objDetalleMovimiento);
            }
            _objUsuario.setDocumentoUsuario(documentoUsuario);
            _objCompra.setFacturaProveedor(facturaProveedor);
            _objCompra.setNombreProveedor(nombreProveedor);
            _objCompra.setTotalCompra(totalCompra);
            daoModelCompra = new ModelCompra();
            String salida = Mensaje(daoModelCompra.Add(_objCompra, _objUsuario, listObjDetalleMovimientos),
                    "La compra ha sido registrada", "Ha ocurrido un error");
            daoModelCompra.Signout();
            response.setContentType("application/json");
            response.setCharacterEncoding("UTF-8");
            response.getWriter().write(salida);
            break;
        }
        case "Consultar": {
            int id = Integer.parseInt(request.getParameter("id"));
            response.setContentType("application/json");
            response.setCharacterEncoding("UTF-8");
            response.getWriter().write(consultarDetalle(id));
            break;
        }
        case "Enlistar": {
            response.setContentType("application/json");
            response.setCharacterEncoding("UTF-8");
            response.getWriter().write(getTableCompra());
            break;
        }
        //<editor-fold defaultstate="collapsed" desc="PDF mediante iText">
        case "Imprimir": {
            response.setContentType("application/pdf");
            try {
                Locale loc = Locale.getDefault();
                NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(loc);
                //Primero obtengo el id del Movimiento
                int id = Integer.parseInt(request.getParameter("id"));
                //Obtengo el reporte a manera de Map
                Map material = reporte(id);
                //Topo ese reporte y lo divido, primero en la compra y luego el detalle
                Map<String, String> compra = (Map) material.get("Compra");
                List<Map> detalle = (List) material.get("Detalle");
                //Creo el documento y obtengo el canal de comunicacion con el servidor, para luego enviar el documento.
                Document document = new Document();
                OutputStream os = response.getOutputStream();
                //Creo una instancia a partir del documento y del canal
                PdfWriter.getInstance(document, os);
                //Abro el documento
                document.open();
                Image logo = Image.getInstance(url + "/public/images/logo.png");
                logo.scaleAbsolute(new Rectangle(logo.getPlainWidth() / 4, logo.getPlainHeight() / 4));
                document.add(logo);
                //Creo una fuente para la letra en negrilla
                final Font helveticaBold = new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD);
                //Escribo y agrego un primer parrafo con los datos basicos de la compra                        
                Paragraph headerDerecha = new Paragraph();
                headerDerecha.add(new Chunk("Nombre del Proveedor: ", helveticaBold));
                headerDerecha.add(new Chunk(compra.get("nombreProveedor") + "\n"));
                headerDerecha.add(new Chunk("Factura del Proveedor: ", helveticaBold));
                headerDerecha.add(new Chunk(compra.get("facturaProveedor") + "\n"));
                headerDerecha.add(new Chunk("Fecha Compra: ", helveticaBold));
                headerDerecha.add(new Chunk(compra.get("fechaCompra") + "\n"));
                //Escribo y agrego un segundo parrafo con los datos basicos de Stelarte  
                Paragraph headerIzquierda = new Paragraph();
                headerIzquierda.add(new Chunk("Stelarte.Decoracion \n", helveticaBold));
                headerIzquierda.add(new Chunk("Direccin: ", helveticaBold));
                headerIzquierda.add(new Chunk("Calle Falsa 123 # 12a34\n"));
                headerIzquierda.add(new Chunk("Telfono: ", helveticaBold));
                headerIzquierda.add(new Chunk("2583697 \n"));
                //Agrego los dos anteriores parrafos al Header
                PdfPTable header = new PdfPTable(2);
                header.getDefaultCell().setBorder(0);
                header.addCell(headerIzquierda);
                header.addCell(headerDerecha);
                header.setWidthPercentage(100f);
                header.setSpacingAfter(20);
                document.add(header);
                //Creo la tabla del detalle
                PdfPTable tablaDetalle = new PdfPTable(new float[] { 1, 3, 2, 2 });
                tablaDetalle.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
                //Creo el titulo, le quito el borde, le digo que ocupara cuatro columnas y que ser centrado
                PdfPCell tituloCell = new PdfPCell(new Phrase("Detalle de Compra", helveticaBold));
                tituloCell.setBorder(0);
                tituloCell.setColspan(4);
                tituloCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                tablaDetalle.addCell(tituloCell);
                //Aqui creo cada cabecera
                tablaDetalle.getDefaultCell().setBackgroundColor(BaseColor.LIGHT_GRAY);
                tablaDetalle.addCell(new Phrase("ID", helveticaBold));
                tablaDetalle.addCell(new Phrase("Nombre", helveticaBold));
                tablaDetalle.addCell(new Phrase("Cantidad", helveticaBold));
                tablaDetalle.addCell(new Phrase("Valor", helveticaBold));
                tablaDetalle.getDefaultCell().setBackgroundColor(null);
                //Aqui agrego la tabla cada articulo.
                for (Map<String, String> next : detalle) {
                    tablaDetalle.addCell(next.get("idArticulo"));
                    tablaDetalle.addCell(next.get("descripcionArticulo"));
                    tablaDetalle.addCell(next.get("cantidad"));
                    tablaDetalle
                            .addCell(currencyFormatter.format(Integer.parseInt(next.get("precioArticulo"))));
                }
                //Creo el Footer
                headerIzquierda = new Paragraph();
                headerIzquierda.add(new Chunk("Total: ", helveticaBold));
                headerIzquierda
                        .add(new Chunk(currencyFormatter.format(Integer.parseInt(compra.get("totalCompra")))));
                PdfPCell footerCell = new PdfPCell(headerIzquierda);
                footerCell.setBorder(0);
                footerCell.setColspan(4);
                footerCell.setHorizontalAlignment(Element.ALIGN_RIGHT);
                tablaDetalle.addCell(footerCell);
                //Establesco el tamao  y posicion de la tabla, luego la agrego al documento
                tablaDetalle.setWidthPercentage(100f);
                tablaDetalle.setHorizontalAlignment(Element.ALIGN_RIGHT);
                document.add(tablaDetalle);
                //Cierro el documento y lo envio con flush.
                document.close();
                response.setHeader("Content-Disposition", "attachment;filename=\"reporte.pdf\"");
                os.flush();
                os.close();
            } catch (DocumentException de) {
                throw new IOException(de.getMessage());
            }
            break;
        }
        //</editor-fold>
        //<editor-fold defaultstate="collapsed" desc="PDF mediante iReports">
        case "Imprimir2": {
            try {
                int id = Integer.parseInt(request.getParameter("id"));
                String source = url + "/reports/newReport1.jrxml";
                JasperPrint jasperPrint = null;
                JasperReport jasperReport = null;
                JasperDesign jasperDesign = null;
                System.out.println(source);
                String reportPath = request.getServletContext().getRealPath("reports") + "\\newReport1.jrxml";
                jasperDesign = JRXmlLoader.load(reportPath);
                jasperReport = JasperCompileManager.compileReport(jasperDesign);
                jasperPrint = JasperFillManager.fillReport(jasperReport, reporte(id),
                        daoModelCompra.getConnection());
                JasperExportManager.exportReportToPdfStream(jasperPrint, response.getOutputStream());
            } catch (Exception ex) {
                for (StackTraceElement ruta : ex.getStackTrace()) {
                    System.err.println(ruta);
                }
            }
        }
            break;
        //</editor-fold>

        }
    }

}

From source file:Controller.ControllerVenta.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*from  www .j a  v  a  2  s.c o  m*/
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    if (request.getParameter("action") != null) {
        String url = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
                + request.getContextPath();
        String action = request.getParameter("action");
        switch (action) {
        case "Registrar": {
            String documentoUsuario = (request.getParameter("documentoUsuario"));
            String documentoCliente = null;
            String nombreCliente = null;
            int numeroVenta = 0;
            if (Validador.validarDocumento(request.getParameter("documentoCliente"))
                    & Validador.validarNombresCompletos(request.getParameter("txtNombreCliente"))
                    & Validador.validarNumero(request.getParameter("txtNumeroVenta"))) {
                documentoCliente = (request.getParameter("documentoCliente"));
                nombreCliente = (request.getParameter("txtNombreCliente"));
                numeroVenta = Integer.parseInt(request.getParameter("txtNumeroVenta"));
            } else {
                response.setContentType("application/json");
                response.setCharacterEncoding("UTF-8");
                response.getWriter().write(Mensaje(false, null, "Ha ingresado datos incorrectos"));
                break;
            }

            int lenght = Integer.parseInt(request.getParameter("size"));
            int totalCompra = Integer.parseInt(request.getParameter("txtTotalVenta"));
            listOjbDetalleMovimientos = new ArrayList<>();
            for (int i = 0; i < lenght; i++) {
                _objDetalleMovimiento = new ObjDetalleMovimiento();
                _objDetalleMovimiento
                        .setIdArticulo(Integer.parseInt(request.getParameter("lista[" + i + "][idArticulo]")));
                _objDetalleMovimiento
                        .setCantidad(Integer.parseInt(request.getParameter("lista[" + i + "][cantidad]")));
                _objDetalleMovimiento.setPrecioArticulo(
                        Integer.parseInt(request.getParameter("lista[" + i + "][precioArticulo]")));
                _objDetalleMovimiento.setTotalDetalleMovimiento(
                        _objDetalleMovimiento.getCantidad() * _objDetalleMovimiento.getPrecioArticulo());
                _objDetalleMovimiento.setDescuento(lenght);
                listOjbDetalleMovimientos.add(_objDetalleMovimiento);
            }
            _objUsuario.setDocumentoUsuario(documentoUsuario);
            _objVenta.setIdVenta(numeroVenta);
            _objVenta.setDocumentoCliente(documentoCliente);
            _objVenta.setNombreCliente(nombreCliente);
            _objVenta.setTotalVenta(totalCompra);
            daoModelVenta = new ModelVenta();
            String salida = Mensaje(daoModelVenta.Add(_objVenta, _objUsuario, listOjbDetalleMovimientos),
                    "La venta ha sido registrada", "Ha ocurrido un error");
            daoModelVenta.Signout();
            response.setContentType("application/json");
            response.setCharacterEncoding("UTF-8");
            response.getWriter().write(salida);
            break;
        }
        case "Consultar": {
            int id = Integer.parseInt(request.getParameter("id"));
            response.setContentType("application/json");
            response.setCharacterEncoding("UTF-8");
            response.getWriter().write(consultarDetalle(id));
            break;
        }
        case "Enlistar": {
            response.setContentType("application/json");
            response.setCharacterEncoding("UTF-8");
            response.getWriter().write(getTableVenta());
            break;
        }
        case "Contador": {
            response.setContentType("application/json");
            response.setCharacterEncoding("UTF-8");
            response.getWriter().write(getContador());
            break;
        }
        case "Imprimir": {
            response.setContentType("application/pdf");
            try {
                Locale loc = Locale.getDefault();
                NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(loc);
                //Primero obtengo el id del Movimiento
                int id = Integer.parseInt(request.getParameter("id"));
                //Obtengo el reporte a manera de Map
                Map material = reporte(id);
                //Topo ese reporte y lo divido, primero en la compra y luego el detalle
                Map<String, String> venta = (Map) material.get("Venta");
                List<Map> detalle = (List) material.get("Detalle");
                //Creo el documento y obtengo el canal de comunicacion con el servidor, para luego enviar el documento.
                Document document = new Document();
                OutputStream os = response.getOutputStream();
                //Creo una instancia a partir del documento y del canal
                PdfWriter.getInstance(document, os);
                //Abro el documento
                document.open();
                Image logo = Image.getInstance(url + "/public/images/logo.png");
                logo.scaleAbsolute(new Rectangle(logo.getPlainWidth() / 4, logo.getPlainHeight() / 4));
                document.add(logo);
                //Creo una fuente para la letra en negrilla
                final Font helveticaBold = new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD);
                //Escribo y agrego un primer parrafo con los datos basicos de la compra         
                Paragraph headerDerecha = new Paragraph();
                headerDerecha.add(new Chunk("Id. de la Venta: ", helveticaBold));
                headerDerecha.add(new Chunk(venta.get("numeroVenta") + "\n"));
                headerDerecha.add(new Chunk("Nombre del Cliente: ", helveticaBold));
                headerDerecha.add(new Chunk(venta.get("nombreCliente") + "\n"));
                headerDerecha.add(new Chunk("Documento del Cliente: ", helveticaBold));
                headerDerecha.add(new Chunk(venta.get("documentoCliente") + "\n"));
                headerDerecha.add(new Chunk("Fecha Venta: ", helveticaBold));
                headerDerecha.add(new Chunk(venta.get("fechaVenta") + "\n"));
                //Escribo y agrego un segundo parrafo con los datos basicos de Stelarte  
                Paragraph headerIzquierda = new Paragraph();
                headerIzquierda.add(new Chunk("Stelarte.Decoracion \n", helveticaBold));
                headerIzquierda.add(new Chunk("Direccin: ", helveticaBold));
                headerIzquierda.add(new Chunk("Calle Falsa 123 # 12a34\n"));
                headerIzquierda.add(new Chunk("Telfono: ", helveticaBold));
                headerIzquierda.add(new Chunk("2583697 \n"));
                //Agrego los dos anteriores parrafos al Header
                PdfPTable header = new PdfPTable(2);
                header.getDefaultCell().setBorder(0);
                header.addCell(headerIzquierda);
                header.addCell(headerDerecha);
                header.setWidthPercentage(100f);
                header.setSpacingAfter(20);
                document.add(header);
                //Creo la tabla del detalle
                PdfPTable tablaDetalle = new PdfPTable(new float[] { 1, 3, 2, 2 });
                tablaDetalle.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
                //Creo el titulo, le quito el borde, le digo que ocupara cuatro columnas y que ser centrado
                PdfPCell tituloCell = new PdfPCell(new Phrase("Detalle de Venta", helveticaBold));
                tituloCell.setBorder(0);
                tituloCell.setColspan(4);
                tituloCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                tablaDetalle.addCell(tituloCell);
                //Aqui creo cada cabecera
                tablaDetalle.getDefaultCell().setBackgroundColor(BaseColor.LIGHT_GRAY);
                tablaDetalle.addCell(new Phrase("ID", helveticaBold));
                tablaDetalle.addCell(new Phrase("Nombre", helveticaBold));
                tablaDetalle.addCell(new Phrase("Cantidad", helveticaBold));
                tablaDetalle.addCell(new Phrase("Valor", helveticaBold));
                tablaDetalle.getDefaultCell().setBackgroundColor(null);
                //Aqui agrego la tabla cada articulo.
                for (Map<String, String> next : detalle) {
                    tablaDetalle.addCell(next.get("idArticulo"));
                    tablaDetalle.addCell(next.get("descripcionArticulo"));
                    tablaDetalle.addCell(next.get("cantidad"));
                    tablaDetalle
                            .addCell(currencyFormatter.format(Integer.parseInt(next.get("precioArticulo"))));
                }
                //Creo el Footer
                headerIzquierda = new Paragraph();
                headerIzquierda.add(new Chunk("Total: ", helveticaBold));
                headerIzquierda
                        .add(new Chunk(currencyFormatter.format(Integer.parseInt(venta.get("totalVenta")))));
                PdfPCell footerCell = new PdfPCell(headerIzquierda);
                footerCell.setBorder(0);
                footerCell.setColspan(4);
                footerCell.setHorizontalAlignment(Element.ALIGN_RIGHT);
                tablaDetalle.addCell(footerCell);
                //Establesco el tamao  y posicion de la tabla, luego la agrego al documento
                tablaDetalle.setWidthPercentage(100f);
                tablaDetalle.setHorizontalAlignment(Element.ALIGN_RIGHT);
                document.add(tablaDetalle);
                //Cierro el documento y lo envio con flush.
                document.close();
                response.setHeader("Content-Disposition", "attachment;filename=\"reporte.pdf\"");
                os.flush();
                os.close();
            } catch (DocumentException de) {
                throw new IOException(de.getMessage());
            }
            break;
        }
        }
    }
}

From source file:de.alpharogroup.swing.img.ImageExtensions.java

License:Open Source License

/**
 * Factory method for create a new {@link PdfPTable} with the given count of columns and the
 * column header names/*from w w  w.j  ava2s  .  co m*/
 *
 * @param numColumns
 *            the count of columns of the table
 * @param headerNames
 *            the column header names
 * @return the new {@link PdfPTable}
 */
public static PdfPTable newPdfPTable(int numColumns, List<String> headerNames) {
    PdfPTable table = new PdfPTable(numColumns);
    headerNames.stream().forEach(columnHeaderName -> {
        PdfPCell header = new PdfPCell();
        header.setBackgroundColor(BaseColor.LIGHT_GRAY);
        header.setBorderWidth(2);
        header.setPhrase(new Phrase(columnHeaderName));
        table.addCell(header);
    });
    return table;
}

From source file:de.domjos.schooltools.core.utils.fileUtils.PDFBuilder.java

License:Open Source License

public void addTable(List<String> headers, float[] headerWidth, List<List<Map.Entry<String, BaseColor>>> cells)
        throws Exception {
    PdfPTable table = new PdfPTable(headers.size());
    if (headerWidth != null) {
        table.setWidths(headerWidth);/* w ww .  ja v a 2 s.  co m*/
    }

    for (String header : headers) {
        PdfPCell cell = new PdfPCell(
                new Phrase(header, new Font(Font.FontFamily.HELVETICA, 18, Font.BOLDITALIC)));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell.setBackgroundColor(BaseColor.LIGHT_GRAY);
        table.addCell(cell);
    }

    for (List<Map.Entry<String, BaseColor>> row : cells) {
        for (Map.Entry<String, BaseColor> cellItem : row) {
            PdfPCell cell = new PdfPCell(
                    new Phrase(cellItem.getKey(), new Font(Font.FontFamily.HELVETICA, 14, Font.NORMAL)));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            cell.setBackgroundColor(cellItem.getValue());
            table.addCell(cell);
        }
    }

    this.document.add(table);
}

From source file:de.jost_net.JVerein.gui.action.PersonalbogenAction.java

License:Open Source License

private void generiereMitglied(Reporter rpt, Mitglied m)
        throws DocumentException, MalformedURLException, IOException {
    rpt.addHeaderColumn("Feld", Element.ALIGN_LEFT, 50, BaseColor.LIGHT_GRAY);
    rpt.addHeaderColumn("Inhalt", Element.ALIGN_LEFT, 140, BaseColor.LIGHT_GRAY);
    rpt.createHeader();//  w w  w .  j a v a  2 s .  co  m
    DBIterator<Mitgliedfoto> it = Einstellungen.getDBService().createList(Mitgliedfoto.class);
    it.addFilter("mitglied = ?", new Object[] { m.getID() });
    if (it.size() > 0) {
        Mitgliedfoto foto = it.next();
        if (foto.getFoto() != null) {
            rpt.addColumn("Foto", Element.ALIGN_LEFT);
            rpt.addColumn(foto.getFoto(), 100, 100, Element.ALIGN_RIGHT);
        }
    }
    if (Einstellungen.getEinstellung().getExterneMitgliedsnummer()) {
        rpt.addColumn("Ext. Mitgliedsnummer", Element.ALIGN_LEFT);
        rpt.addColumn(m.getExterneMitgliedsnummer() != null ? m.getExterneMitgliedsnummer() + "" : "",
                Element.ALIGN_LEFT);
    } else {
        rpt.addColumn("Mitgliedsnummer", Element.ALIGN_LEFT);
        rpt.addColumn(m.getID(), Element.ALIGN_LEFT);
    }
    rpt.addColumn("Name, Vorname", Element.ALIGN_LEFT);
    rpt.addColumn(Adressaufbereitung.getNameVorname(m), Element.ALIGN_LEFT);
    rpt.addColumn("Anschrift", Element.ALIGN_LEFT);
    rpt.addColumn(Adressaufbereitung.getAnschrift(m), Element.ALIGN_LEFT);
    rpt.addColumn("Geburtsdatum", Element.ALIGN_LEFT);
    rpt.addColumn(m.getGeburtsdatum(), Element.ALIGN_LEFT);
    if (m.getSterbetag() != null) {
        rpt.addColumn("Sterbetag", Element.ALIGN_LEFT);
        rpt.addColumn(m.getSterbetag(), Element.ALIGN_LEFT);
    }
    rpt.addColumn("Geschlecht", Element.ALIGN_LEFT);
    rpt.addColumn(m.getGeschlecht(), Element.ALIGN_LEFT);
    rpt.addColumn("Kommunikation", Element.ALIGN_LEFT);
    String kommunikation = "";
    if (m.getTelefonprivat().length() != 0) {
        kommunikation += "privat: " + m.getTelefonprivat();
    }
    if (m.getTelefondienstlich().length() != 0) {
        if (kommunikation.length() > 0) {
            kommunikation += "\n";
        }
        kommunikation += "dienstlich: " + m.getTelefondienstlich();
    }
    if (m.getHandy().length() != 0) {
        if (kommunikation.length() > 0) {
            kommunikation += "\n";
        }
        kommunikation += "Handy: " + m.getHandy();
    }
    if (m.getEmail().length() != 0) {
        if (kommunikation.length() > 0) {
            kommunikation += "\n";
        }
        kommunikation += "Email: " + m.getEmail();
    }
    rpt.addColumn(kommunikation, Element.ALIGN_LEFT);
    if (m.getAdresstyp().getID().equals("1")) {
        rpt.addColumn("Eintritt", Element.ALIGN_LEFT);
        rpt.addColumn(m.getEintritt(), Element.ALIGN_LEFT);
        printBeitragsgruppe(rpt, m, m.getBeitragsgruppe(), false);
        if (Einstellungen.getEinstellung().getSekundaereBeitragsgruppen()) {
            DBIterator<SekundaereBeitragsgruppe> sb = Einstellungen.getDBService()
                    .createList(SekundaereBeitragsgruppe.class);
            sb.addFilter("mitglied = ?", m.getID());
            while (sb.hasNext()) {
                SekundaereBeitragsgruppe sebe = sb.next();
                printBeitragsgruppe(rpt, m, sebe.getBeitragsgruppe(), true);
            }
        }

        if (Einstellungen.getEinstellung().getIndividuelleBeitraege()) {
            rpt.addColumn("Individueller Beitrag", Element.ALIGN_LEFT);
            if (m.getIndividuellerBeitrag() > 0) {
                rpt.addColumn(Einstellungen.DECIMALFORMAT.format(m.getIndividuellerBeitrag()) + " EUR",
                        Element.ALIGN_LEFT);
            } else {
                rpt.addColumn("", Element.ALIGN_LEFT);
            }
        }
        if (m.getBeitragsgruppe().getBeitragsArt() == ArtBeitragsart.FAMILIE_ZAHLER) {
            DBIterator<Mitglied> itbg = Einstellungen.getDBService().createList(Mitglied.class);
            itbg.addFilter("zahlerid = ?", m.getID());
            rpt.addColumn("Zahler fr", Element.ALIGN_LEFT);
            String zahltfuer = "";
            while (itbg.hasNext()) {
                Mitglied mz = itbg.next();
                if (zahltfuer.length() > 0) {
                    zahltfuer += "\n";
                }
                zahltfuer += Adressaufbereitung.getNameVorname(mz);
            }
            rpt.addColumn(zahltfuer, Element.ALIGN_LEFT);
        } else if (m.getBeitragsgruppe().getBeitragsArt() == ArtBeitragsart.FAMILIE_ANGEHOERIGER) {
            Mitglied mfa = (Mitglied) Einstellungen.getDBService().createObject(Mitglied.class,
                    m.getZahlerID() + "");
            rpt.addColumn("Zahler", Element.ALIGN_LEFT);
            rpt.addColumn(Adressaufbereitung.getNameVorname(mfa), Element.ALIGN_LEFT);
        }
        rpt.addColumn("Austritts-/Kndigungsdatum", Element.ALIGN_LEFT);
        String akdatum = "";
        if (m.getAustritt() != null) {
            akdatum += new JVDateFormatTTMMJJJJ().format(m.getAustritt());
        }
        if (m.getKuendigung() != null) {
            if (akdatum.length() != 0) {
                akdatum += " / ";
            }
            akdatum += new JVDateFormatTTMMJJJJ().format(m.getKuendigung());
        }
        rpt.addColumn(akdatum, Element.ALIGN_LEFT);
    }
    rpt.addColumn("Zahlungsweg", Element.ALIGN_LEFT);
    rpt.addColumn(Zahlungsweg.get(m.getZahlungsweg()), Element.ALIGN_LEFT);
    if (m.getBic() != null && m.getBic().length() > 0 && m.getIban().length() > 0) {
        rpt.addColumn("Bankverbindung", Element.ALIGN_LEFT);
        rpt.addColumn(m.getBic() + "/" + m.getIban(), Element.ALIGN_LEFT);
    }
    rpt.addColumn("Datum Erstspeicherung", Element.ALIGN_LEFT);
    rpt.addColumn(m.getEingabedatum(), Element.ALIGN_LEFT);
    rpt.addColumn("Datum letzte nderung", Element.ALIGN_LEFT);
    rpt.addColumn(m.getLetzteAenderung(), Element.ALIGN_LEFT);
    rpt.closeTable();
}

From source file:de.jost_net.JVerein.gui.action.PersonalbogenAction.java

License:Open Source License

private void generiereZusatzbetrag(Reporter rpt, Mitglied m) throws RemoteException, DocumentException {
    DBIterator<Zusatzbetrag> it = Einstellungen.getDBService().createList(Zusatzbetrag.class);
    it.addFilter("mitglied = ?", new Object[] { m.getID() });
    it.setOrder("ORDER BY faelligkeit DESC");
    if (it.size() > 0) {
        rpt.add(new Paragraph("Zusatzbetrag", Reporter.getFreeSans(12)));
        rpt.addHeaderColumn("Start", Element.ALIGN_LEFT, 30, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("nchste Fll.", Element.ALIGN_LEFT, 30, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("letzte Ausf.", Element.ALIGN_LEFT, 30, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Intervall", Element.ALIGN_LEFT, 30, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Ende", Element.ALIGN_LEFT, 30, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Buchungstext", Element.ALIGN_LEFT, 60, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Betrag", Element.ALIGN_RIGHT, 30, BaseColor.LIGHT_GRAY);
        rpt.createHeader();/*from  w  ww . java 2 s .  c  o m*/
        while (it.hasNext()) {
            Zusatzbetrag z = it.next();
            rpt.addColumn(z.getStartdatum(), Element.ALIGN_LEFT);
            rpt.addColumn(z.getFaelligkeit(), Element.ALIGN_LEFT);
            rpt.addColumn(z.getAusfuehrung(), Element.ALIGN_LEFT);
            rpt.addColumn(z.getIntervallText(), Element.ALIGN_LEFT);
            rpt.addColumn(z.getEndedatum(), Element.ALIGN_LEFT);
            rpt.addColumn(z.getBuchungstext(), Element.ALIGN_LEFT);
            rpt.addColumn(z.getBetrag());
        }
    }
    rpt.closeTable();
}

From source file:de.jost_net.JVerein.gui.action.PersonalbogenAction.java

License:Open Source License

private void generiereMitgliedskonto(Reporter rpt, Mitglied m) throws RemoteException, DocumentException {
    DBIterator<Mitgliedskonto> it = Einstellungen.getDBService().createList(Mitgliedskonto.class);
    it.addFilter("mitglied = ?", new Object[] { m.getID() });
    it.setOrder("order by datum desc");
    if (it.size() > 0) {
        rpt.add(new Paragraph("Mitgliedskonto", Reporter.getFreeSans(12)));
        rpt.addHeaderColumn("Text", Element.ALIGN_LEFT, 12, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Datum", Element.ALIGN_LEFT, 30, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Zweck", Element.ALIGN_LEFT, 50, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Zahlungsweg", Element.ALIGN_LEFT, 30, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Betrag", Element.ALIGN_LEFT, 30, BaseColor.LIGHT_GRAY);
        rpt.createHeader();//from  www . j  av a 2  s .  c  o  m
        while (it.hasNext()) {
            Mitgliedskonto mk = it.next();
            rpt.addColumn("Soll", Element.ALIGN_LEFT);
            rpt.addColumn(mk.getDatum(), Element.ALIGN_LEFT);
            rpt.addColumn(mk.getZweck1(), Element.ALIGN_LEFT);
            rpt.addColumn(Zahlungsweg.get(mk.getZahlungsweg()), Element.ALIGN_LEFT);
            rpt.addColumn(mk.getBetrag());
            DBIterator<Buchung> it2 = Einstellungen.getDBService().createList(Buchung.class);
            it2.addFilter("mitgliedskonto = ?", new Object[] { mk.getID() });
            it2.setOrder("order by datum desc");
            while (it2.hasNext()) {
                Buchung bu = it2.next();
                rpt.addColumn("Ist", Element.ALIGN_RIGHT);
                rpt.addColumn(bu.getDatum(), Element.ALIGN_LEFT);
                rpt.addColumn(bu.getZweck(), Element.ALIGN_LEFT);
                rpt.addColumn("", Element.ALIGN_LEFT);
                rpt.addColumn(bu.getBetrag());
            }
        }
    }
    rpt.closeTable();

}

From source file:de.jost_net.JVerein.gui.action.PersonalbogenAction.java

License:Open Source License

private void generiereVermerke(Reporter rpt, Mitglied m) throws DocumentException, RemoteException {
    rpt.add(new Paragraph("Vermerke", Reporter.getFreeSans(12)));
    rpt.addHeaderColumn("Text", Element.ALIGN_LEFT, 100, BaseColor.LIGHT_GRAY);
    rpt.createHeader();/*w w  w  .ja v  a2s .c o  m*/
    if (m.getVermerk1() != null && m.getVermerk1().length() > 0) {
        rpt.addColumn(m.getVermerk1(), Element.ALIGN_LEFT);
    }
    if (m.getVermerk2() != null && m.getVermerk2().length() > 0) {
        rpt.addColumn(m.getVermerk2(), Element.ALIGN_LEFT);
    }
    rpt.closeTable();

}