Example usage for com.itextpdf.text Element ALIGN_RIGHT

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

Introduction

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

Prototype

int ALIGN_RIGHT

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

Click Source Link

Document

A possible value for paragraph alignment.

Usage

From source file:comisionesafis.informes.LiquidacionComisiones.java

private void printCabeceraPelayo(Document documento) {

    Paragraph parrafo;// w w  w  .j  a v  a 2s . c om

    try {
        // Separadores
        parrafo = new Paragraph(" ");
        documento.add(parrafo);
        parrafo = new Paragraph(" ");
        documento.add(parrafo);

        Font fuente = new Font(Font.FontFamily.COURIER, 9, Font.NORMAL);
        parrafo = new Paragraph("PELAYO MUTUA DE SEGUROS", fuente);
        parrafo.setAlignment(Element.ALIGN_RIGHT);
        documento.add(parrafo);

        parrafo = new Paragraph("CL SANTA ENGRACIA, 67", fuente);
        parrafo.setAlignment(Element.ALIGN_RIGHT);
        documento.add(parrafo);

        // Separadores
        parrafo = new Paragraph(" ");
        documento.add(parrafo);
        parrafo = new Paragraph(" ");
        documento.add(parrafo);

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

}

From source file:comisionesafis.informes.LiquidacionComisiones.java

private void printResumenContable(PdfPTable tabla, Double total, String codAgente) {

    ResultSet rsAgente;//from  ww w . j  a  v a  2  s. c  o m
    Statement stmt;
    String sSQL = "";
    Double retencion;
    Double liquido;
    String patron = "dd/MM/yyyy";
    SimpleDateFormat formato = new SimpleDateFormat(patron);
    String fecha = (formato.format(new Date()));
    String cuenta;

    try {
        // SELECT para extraer todos los cdigos de los agentes con Recibos
        sSQL = "SELECT * ";
        sSQL += "  FROM Agentes";
        sSQL += " WHERE CodAgente ='" + codAgente + "'";
        stmt = conexion.createStatement();
        rsAgente = stmt.executeQuery(sSQL);

        PdfPCell celda;
        Font font;

        // Primera fila de datos
        font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
        celda = new PdfPCell(new Phrase(" ", font));
        celda.setColspan(3);
        celda.setBorder(Rectangle.TOP);
        tabla.addCell(celda);

        font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
        celda = new PdfPCell(new Phrase("TOTAL ", font));
        celda.setBorder(Rectangle.TOP);
        celda.setHorizontalAlignment(Element.ALIGN_LEFT);
        tabla.addCell(celda);

        font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
        celda = new PdfPCell(new Phrase(Numeros.formateaDosDecimales(total), font));
        celda.setBorder(Rectangle.TOP);
        celda.setHorizontalAlignment(Element.ALIGN_RIGHT);
        tabla.addCell(celda);

        // Segunda fila de datos
        font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
        celda = new PdfPCell(new Phrase(" ", font));
        celda.setColspan(3);
        celda.setBorder(Rectangle.NO_BORDER);
        tabla.addCell(celda);

        font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
        celda = new PdfPCell(new Phrase("I.R.P.F. " + rsAgente.getString("RetencionPorcentaje") + "%", font));
        celda.setBorder(Rectangle.NO_BORDER);
        celda.setHorizontalAlignment(Element.ALIGN_LEFT);
        tabla.addCell(celda);

        retencion = total * (Double.parseDouble(rsAgente.getString("RetencionPorcentaje")) / 100);
        font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
        celda = new PdfPCell(new Phrase(Numeros.formateaDosDecimales(retencion), font));
        celda.setBorder(Rectangle.NO_BORDER);
        celda.setHorizontalAlignment(Element.ALIGN_RIGHT);
        tabla.addCell(celda);

        // Tercera fila de datos
        font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
        celda = new PdfPCell(new Phrase(" ", font));
        celda.setColspan(3);
        celda.setBorder(Rectangle.BOTTOM);
        tabla.addCell(celda);

        font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
        celda = new PdfPCell(new Phrase("L?QUIDO ", font));
        celda.setBorder(Rectangle.BOTTOM);
        celda.setHorizontalAlignment(Element.ALIGN_LEFT);
        tabla.addCell(celda);

        liquido = total - retencion;
        font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
        celda = new PdfPCell(new Phrase(Numeros.formateaDosDecimales(liquido), font));
        celda.setBorder(Rectangle.BOTTOM);
        celda.setHorizontalAlignment(Element.ALIGN_RIGHT);
        tabla.addCell(celda);

        // Cuenta
        cuenta = rsAgente.getString("Banco") + " ";
        cuenta += rsAgente.getString("Sucursal") + " ";
        cuenta += rsAgente.getString("DC") + " ";
        cuenta += rsAgente.getString("Cuenta") + " ";

        font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
        celda = new PdfPCell(new Phrase("CTA n " + cuenta, font));
        celda.setColspan(5);
        celda.setBorder(Rectangle.NO_BORDER);
        tabla.addCell(celda);

        // Firma
        font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
        celda = new PdfPCell(new Phrase("En Madrid a " + fecha, font));
        celda.setColspan(5);
        celda.setBorder(Rectangle.NO_BORDER);
        tabla.addCell(celda);

        font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
        celda = new PdfPCell(new Phrase("V.Bo. ", font));
        celda.setColspan(5);
        celda.setBorder(Rectangle.NO_BORDER);
        tabla.addCell(celda);

        font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
        celda = new PdfPCell(new Phrase(" ", font));
        celda.setColspan(5);
        celda.setBorder(Rectangle.NO_BORDER);
        tabla.addCell(celda);

        font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
        celda = new PdfPCell(new Phrase(" ", font));
        celda.setColspan(5);
        celda.setBorder(Rectangle.NO_BORDER);
        tabla.addCell(celda);

        font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
        celda = new PdfPCell(new Phrase("PELAYO VIDA", font));
        celda.setColspan(5);
        celda.setBorder(Rectangle.NO_BORDER);
        tabla.addCell(celda);

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

}

From source file:comisionesafis.informes.LiquidacionComisionesCabecera.java

@Override
public void onStartPage(PdfWriter writer, Document document) {
    Font fontFecha = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
    ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_RIGHT,
            new Phrase("11/04/2014", fontFecha), 500, 830, 0);
    Font fontPaginaNum = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
    ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_RIGHT,
            new Phrase("Pgina " + document.getPageNumber(), fontPaginaNum), 500, 823, 0);
    Font fontLIQ03 = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL);
    ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_RIGHT,
            new Phrase("LIQ03_0202", fontLIQ03), 500, 816, 0);
    Font fontTitulo = new Font(Font.FontFamily.COURIER, 12, Font.NORMAL);
    ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_CENTER,
            new Phrase("LIQUIDACIN DE COMISIONES: Marzo 2014", fontTitulo), 300, 800, 0);
    Font fontDireccion = new Font(Font.FontFamily.COURIER, 10, Font.NORMAL);
    ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_RIGHT,
            new Phrase("PELAYO MUTUA DE SEGUROS", fontDireccion), 400, 750, 0);
    ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_RIGHT,
            new Phrase("CL SANTA ENGRACIA, 67", fontDireccion), 400, 730, 0);
}

From source file:Compras.altaCompras.java

   private void jButton11ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton11ActionPerformed
    // TODO add your handling code here:
    if(t_datos.getRowCount()>0)
    {/*from w  w w. ja  v  a  2 s .  c o  m*/
        javax.swing.JFileChooser jF1= new javax.swing.JFileChooser();
        jF1.setFileFilter(new ExtensionFileFilter("Excel document (*.pdf)", new String[] { "pdf" }));
        String ruta = null;
        if(jF1.showSaveDialog(null)==jF1.APPROVE_OPTION)
        {
            ruta = jF1.getSelectedFile().getAbsolutePath();
            if(ruta!=null)
            {
                Session session = HibernateUtil.getSessionFactory().openSession();
                try
                {
                    DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.00");
                    formatoPorcentaje.setMinimumFractionDigits(2);
                    session.beginTransaction().begin();
                    BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
                    //Orden ord=buscaApertura();
                    PDF reporte = new PDF();
                    Date fecha = new Date();
                    DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyyHH-mm-ss");//YYYY-MM-DD HH:MM:SS
                    String valor=dateFormat.format(fecha);

                    reporte.Abrir2(PageSize.LETTER.rotate(), "Valuacin", ruta+".pdf");
                    Font font = new Font(Font.FontFamily.HELVETICA, 5, Font.BOLD);
                    BaseColor contenido=BaseColor.WHITE;
                    int centro=Element.ALIGN_CENTER;
                    int izquierda=Element.ALIGN_LEFT;
                    int derecha=Element.ALIGN_RIGHT;
                    float tam[]=new float[]{10,10,80,5,5,5,5,5,14,10,25,23,8,8,8,10,10,10};
                        

                    PdfPTable tabla=reporte.crearTabla(tam.length, tam, 100, Element.ALIGN_LEFT);

                    cabecera(reporte, bf, tabla);
                    int ren=0;
                        
                    //double dm=0d, cam=0d, min=0d, med=0d, max=0d, pin=0d, tot=0d;

                    for(int i=0; i<t_datos.getRowCount(); i++)
                    {
                        tabla.addCell(reporte.celda(t_titulos.getValueAt(i, 0).toString(), font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                        tabla.addCell(reporte.celda(t_titulos.getValueAt(i, 1).toString(), font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                        tabla.addCell(reporte.celda(t_titulos.getValueAt(i, 2).toString(), font, contenido, izquierda, 0,1,Rectangle.RECTANGLE));
                        if( ((boolean)t_datos.getValueAt(i, 1)) ==true)
                            tabla.addCell(reporte.celda("x", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                        else
                            tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                            
                        if( ((boolean)t_datos.getValueAt(i, 2)) ==true)
                            tabla.addCell(reporte.celda("x", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                        else
                            tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                            
                        if( ((boolean)t_datos.getValueAt(i, 3)) ==true)
                            tabla.addCell(reporte.celda("x", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                        else
                            tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                            
                        if( ((boolean)t_datos.getValueAt(i, 4)) ==true)
                            tabla.addCell(reporte.celda("x", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                        else
                            tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                            
                        if( (t_datos.getValueAt(i, 6)) != null)
                            tabla.addCell(reporte.celda("x", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                        else
                            tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                            
                        tabla.addCell(reporte.celda(formatoPorcentaje.format(t_datos.getValueAt(i, 14)), font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                            
                        tabla.addCell(reporte.celda(t_datos.getValueAt(i, 8).toString(), font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                            
                        tabla.addCell(reporte.celda(t_datos.getValueAt(i, 10).toString(), font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                            
                        tabla.addCell(reporte.celda(formatoPorcentaje.format(t_datos.getValueAt(i, 15)), font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                            
                        if( ((boolean)t_datos.getValueAt(i, 17)) ==true)
                            tabla.addCell(reporte.celda("x", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                        else
                            tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                            
                        if( ((boolean)t_datos.getValueAt(i, 18)) ==true)
                            tabla.addCell(reporte.celda("x", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                        else
                            tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                            
                        if( ((boolean)t_datos.getValueAt(i, 19)) ==true)
                            tabla.addCell(reporte.celda("x", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                        else
                            tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                            
                        if(t_datos.getValueAt(i, 20)!=null)
                            tabla.addCell(reporte.celda(t_datos.getValueAt(i, 20).toString(), font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                        else
                            tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                            
                        if(t_datos.getValueAt(i, 26)!=null)
                            tabla.addCell(reporte.celda(t_datos.getValueAt(i, 26).toString(), font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                        else
                            tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                            
                        if( ((boolean)t_datos.getValueAt(i, 27)) ==true)
                            tabla.addCell(reporte.celda("x", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                        else
                            tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0,1,Rectangle.RECTANGLE));
                            
                    }
                        
                    tabla.setHeaderRows(1);
                    reporte.agregaObjeto(tabla);
                    reporte.cerrar();
                    reporte.visualizar2(ruta+".pdf");
                }catch(Exception e)
                {
                    System.out.println(e);
                    e.printStackTrace();
                    JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto.");
                }
                if(session!=null)
                if(session.isOpen())
                session.close();
            }
        }
    }
}

From source file:Compras.altaCompras.java

public void cabecera(PDF reporte, BaseFont bf, PdfPTable tabla) {
     Session session = HibernateUtil.getSessionFactory().openSession();
     try {//from  www. j  a  va2s  . co  m
         reporte.contenido.setLineWidth(0.5f);
         reporte.contenido.setColorStroke(new GrayColor(0.2f));
         reporte.contenido.setColorFill(new GrayColor(0.9f));

         Configuracion con = (Configuracion) session.get(Configuracion.class, 1);
         reporte.inicioTexto();
         reporte.contenido.setFontAndSize(bf, 14);
         reporte.contenido.setColorFill(BaseColor.BLACK);
         reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, con.getEmpresa(), 35, 575, 0);
         reporte.contenido.setFontAndSize(bf, 8);
         reporte.contenido.setColorFill(BaseColor.BLACK);
         String titulo = "Reporte";
         reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, titulo, 35, 565, 0);
         reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT,
                 "Fecha:" + new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date()), 750, 575, 0);

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

         Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD);

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

         tabla.addCell(reporte.celda("NO", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("#", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("DESCRIPCION", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("H", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("M", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("S", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("E", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("P", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("C. AUT", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("MED", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("NO PART", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("$ AUT", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("AUT", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("COT", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("COM", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("ORI", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("NO PED", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("OK", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
     } catch (Exception e) {
         System.out.println(e);
     }
     if (session != null)
         if (session.isOpen())
             session.close();
 }

From source file:Compras.avanceSurtido.java

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
     // TODO add your handling code here:
     try {//w w  w.  ja v a 2s.co  m
         File archivoPDF = null;
         javax.swing.JFileChooser jF1 = new javax.swing.JFileChooser();
         jF1.setFileFilter(new ExtensionFileFilter("Adobe document (*.pdf)", new String[] { "pdf" }));
         String ruta = null;
         if (jF1.showSaveDialog(null) == jF1.APPROVE_OPTION) {
             ruta = jF1.getSelectedFile().getAbsolutePath();
             DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.00");
             formatoPorcentaje.setMinimumFractionDigits(2);
             if (ruta != null) {
                 if (ruta.substring(ruta.length() - 4, ruta.length()).compareTo(".pdf") == 0)
                     archivoPDF = new File(ruta);
                 else
                     archivoPDF = new File(ruta + ".pdf");
                 BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
                 //Orden ord=buscaApertura();
                 PDF reporte = new PDF();
                 reporte.Abrir2(PageSize.LEGAL.rotate(), "Avance de Pedidos", archivoPDF.getAbsolutePath());

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

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

                 Session session = HibernateUtil.getSessionFactory().openSession();
                 session.beginTransaction().begin();
                 Configuracion con = (Configuracion) session.get(Configuracion.class, 1);

                 reporte.inicioTexto();
                 reporte.contenido.setFontAndSize(bf, 14);
                 reporte.contenido.setColorFill(BaseColor.BLACK);
                 reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, con.getEmpresa(), 505, 580, 0);
                 reporte.contenido.setFontAndSize(bf, 8);
                 reporte.contenido.setColorFill(BaseColor.BLACK);
                 reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER,
                         "HOLAJATERIA Y PINTURA EN GENERAL", 505, 567, 0);
                 reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "COMPRA Y VENTA DE REFACCIONES",
                         505, 557, 0);
                 reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER,
                         "Avance de Pedidos de la orden: " + ord.getIdOrden(), 505, 537, 0);
                 reporte.finTexto();
                 //agregamos renglones vacios para dejar un espacio
                 reporte.agregaObjeto(new Paragraph(" "));
                 reporte.agregaObjeto(new Paragraph(" "));
                 reporte.agregaObjeto(new Paragraph(" "));

                 float tam[] = new float[] { 25, 25, 190, 7, 7, 7, 7, 20, 30, 20, 100, 20, 30, 20, 60, 50, 30,
                         70, 35, 30, 30, 30, 7 };
                 com.itextpdf.text.Font font = new com.itextpdf.text.Font(
                         com.itextpdf.text.Font.FontFamily.HELVETICA, 6, com.itextpdf.text.Font.BOLD);
                 PdfPTable tabla = reporte.crearTabla(tam.length, tam, 100, Element.ALIGN_LEFT);
                 BaseColor cabecera = BaseColor.GRAY;
                 BaseColor contenido = BaseColor.WHITE;
                 int centro = Element.ALIGN_CENTER;
                 int izquierda = Element.ALIGN_LEFT;
                 int derecha = Element.ALIGN_RIGHT;

                 tabla.addCell(reporte.celda("No", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("#", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("Descripcin", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("Hoj", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("Mec", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("Sus", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("Ele", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("Can", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("Med", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("Fol", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("Codigo", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("Ori", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("Prov", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("Cant. c.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("$C/U Comp", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("Plazo", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("Pedido", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("F. Pedido", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("Ent.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("Dev.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("Pend.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("No Factura", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("OK", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
                 session.close();
                 //for de renflones
                 double sum = 0.0d;
                 for (int ren = 0; ren < t_datos.getRowCount(); ren++) {
                     sum += (Double.parseDouble(t_datos.getValueAt(ren, 14).toString())
                             * Double.parseDouble(t_datos.getValueAt(ren, 15).toString()));

                     for (int col = 1; col < t_datos.getColumnCount(); col++) {
                         if (col > 3 && col < 8 || col == 23) {
                             if ((boolean) t_datos.getValueAt(ren, col) == true)
                                 tabla.addCell(reporte.celda("X", font, contenido, izquierda, 0, 1,
                                         Rectangle.RECTANGLE));
                             else
                                 tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1,
                                         Rectangle.RECTANGLE));
                         } else {
                             if (t_datos.getValueAt(ren, col) != null) {
                                 if (col == 14 || col == 15 || col == 19 || col == 20 || col == 21) {
                                     if (col == 15) {
                                         tabla.addCell(reporte.celda(
                                                 formatoPorcentaje.format(Double
                                                         .parseDouble(t_datos.getValueAt(ren, col).toString())),
                                                 font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                     } else
                                         tabla.addCell(reporte.celda(t_datos.getValueAt(ren, col).toString(),
                                                 font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                 } else {
                                     tabla.addCell(reporte.celda(t_datos.getValueAt(ren, col).toString(), font,
                                             contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                                 }
                             } else
                                 tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1,
                                         Rectangle.RECTANGLE));
                         }
                     }
                 }
                 tabla.addCell(
                         reporte.celda("Importe Total:", font, contenido, derecha, 14, 1, Rectangle.NO_BORDER));
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(sum), font, contenido, derecha, 0, 1,
                         Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("", font, contenido, izquierda, 14, 1, Rectangle.NO_BORDER));

                 reporte.agregaObjeto(tabla);
                 reporte.cerrar();
                 reporte.visualizar2(archivoPDF.getAbsolutePath());
             }
         }
     } catch (Exception e) {
         e.printStackTrace();
         JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto.");
     }
 }

From source file:Compras.Conciliacion.java

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
     // TODO add your handling code here:
     try {//w  ww. ja v  a  2 s. c o m
         javax.swing.JFileChooser archivo = new javax.swing.JFileChooser();
         archivo.setFileFilter(new ExtensionFileFilter("pdf document (*.pdf)", new String[] { "PDF" }));
         String ruta = null;

         if (archivo.showSaveDialog(null) == archivo.APPROVE_OPTION) {
             ruta = archivo.getSelectedFile().getAbsolutePath();
             if (ruta != null) {
                 Session session = HibernateUtil.getSessionFactory().openSession();
                 ArrayList datos = new ArrayList();
                 Query query = session.createSQLQuery(
                         "select compania.nombre, orden.tipo_nombre, orden.modelo, orden.no_serie, clientes.nombre as nombres,orden.id_orden \n"
                                 + "from orden inner join compania on compania.id_compania=orden.id_compania inner join clientes on clientes.id_clientes=orden.id_cliente\n"
                                 + "where orden.id_orden=" + Integer.parseInt(orden) + "");
                 query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
                 datos = (ArrayList) query.list();

                 //
                 PDF reporte = new PDF();
                 reporte.Abrir2(PageSize.LEGAL.rotate(), "CONCILIACIN", ruta + ".pdf");
                 BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
                 float[] nuevos = new float[] { 40, 40, 25, 40, 145, 20, 50, 50, 50, 50, 50, 50, 100, 50, 20 };
                 com.itextpdf.text.Font font = new com.itextpdf.text.Font(
                         com.itextpdf.text.Font.FontFamily.HELVETICA, 7, com.itextpdf.text.Font.NORMAL);
                 com.itextpdf.text.Font font1 = new com.itextpdf.text.Font(
                         com.itextpdf.text.Font.FontFamily.HELVETICA, 7, com.itextpdf.text.Font.NORMAL);
                 BaseColor contenido = BaseColor.WHITE;
                 BaseColor contenido1 = BaseColor.DARK_GRAY;
                 int centro = com.itextpdf.text.Element.ALIGN_CENTER;
                 int izquierda = com.itextpdf.text.Element.ALIGN_LEFT;
                 int derecha = com.itextpdf.text.Element.ALIGN_RIGHT;

                 reporte.inicioTexto();
                 reporte.agregaObjeto(reporte.crearImagen("imagenes/empresa300115.jpg", 730, -90, 45));
                 reporte.contenido.setFontAndSize(bf, 20);
                 reporte.contenido.setColorFill(BaseColor.BLACK);
                 reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER,
                         "CONCILIACIN PARA FACTURACIN", 395, 577, 0);

                 reporte.contenido.setFontAndSize(bf, 12);
                 reporte.contenido.setColorFill(BaseColor.BLACK);
                 reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "COMPAIA:", 38, 540, 0);
                 reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "TIPO DE UNIDAD:", 38, 520, 0);
                 reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "MODELO:", 38, 500, 0);
                 reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "SERIE VIN:", 38, 480, 0);
                 reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "CLIENTE:", 38, 460, 0);

                 reporte.contenido.roundRectangle(170, 540, 410, 0, 0);
                 reporte.contenido.roundRectangle(170, 520, 410, 0, 0);
                 reporte.contenido.roundRectangle(170, 500, 410, 0, 0);
                 reporte.contenido.roundRectangle(170, 480, 410, 0, 0);
                 reporte.contenido.roundRectangle(170, 460, 410, 0, 0);

                 reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "ORDEN DE TRABAJO SET.", 605, 540,
                         0);
                 reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "ORDEN DE SURTIDO", 620, 480, 0);

                 for (int i = 0; i < datos.size(); i++) {
                     java.util.HashMap map = (java.util.HashMap) datos.get(i);

                     reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, map.get("nombre").toString(),
                             171, 540, 0);
                     reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                             map.get("tipo_nombre").toString(), 171, 520, 0);
                     reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, map.get("modelo").toString(),
                             171, 500, 0);
                     reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, map.get("no_serie").toString(),
                             171, 480, 0);
                     reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, map.get("nombres").toString(),
                             171, 460, 0);
                     reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, map.get("id_orden").toString(),
                             657, 520, 0);
                     //reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, " ", 645, 460, 0);

                 }
                 reporte.contenido.roundRectangle(640, 520, 80, 0, 0);
                 reporte.contenido.roundRectangle(640, 460, 80, 0, 0);

                 reporte.finTexto();

                 reporte.agregaObjeto(new Paragraph(" "));
                 reporte.agregaObjeto(new Paragraph(" "));
                 reporte.agregaObjeto(new Paragraph(" "));

                 reporte.agregaObjeto(new Paragraph(" "));
                 reporte.agregaObjeto(new Paragraph(" "));

                 reporte.agregaObjeto(new Paragraph(" "));
                 reporte.agregaObjeto(new Paragraph(" "));

                 PdfPTable tabla = reporte.crearTabla(nuevos.length, nuevos, 100, Element.ALIGN_CENTER);
                 cabecera(reporte, bf, tabla, "", 2);
                 //
                 DecimalFormat formatoDecimal = new DecimalFormat("####0.0");
                 DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.00");

                 for (int i = 0; i < t_datos.getRowCount(); i++) {
                     for (int j = 0; j < 4; j++) {
                         int renglon = 0;
                         switch (j) {
                         case 0:
                             renglon = 8;
                             break;
                         case 1:
                             renglon = 10;
                             break;
                         case 2:
                             renglon = 11;
                             break;
                         case 3:
                             renglon = 12;
                             break;
                         }
                         if ((Double.parseDouble(t_datos.getValueAt(i, renglon).toString()) > 0
                                 && t_datos.getValueAt(i, 9).toString().compareTo("N") == 0)
                                 || ((Double.parseDouble(t_datos.getValueAt(i, renglon).toString()) > 0
                                         && renglon >= 10))
                                 || (renglon == 8
                                         && Double.parseDouble(t_datos.getValueAt(i, 10).toString()) <= 0
                                         && Double.parseDouble(t_datos.getValueAt(i, 11).toString()) <= 0
                                         && Double.parseDouble(t_datos.getValueAt(i, 12).toString()) <= 0)) {
                             if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0)
                                 contenido = BaseColor.WHITE;
                             else
                                 contenido = BaseColor.LIGHT_GRAY;

                             if ((boolean) t_datos.getValueAt(i, 3) == true
                                     || (boolean) t_datos.getValueAt(i, 4) == true) {
                                 //columna0
                                 if (t_datos.getValueAt(i, 5) == null) {
                                     tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1,
                                             Rectangle.RECTANGLE));
                                 } else {
                                     tabla.addCell(reporte.celda(t_datos.getValueAt(i, 5).toString(), font,
                                             contenido, centro, 0, 1, Rectangle.RECTANGLE));
                                 }
                                 //columna1
                                 if (t_datos.getValueAt(i, 6) == null) {
                                     tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1,
                                             Rectangle.RECTANGLE));
                                 } else {
                                     tabla.addCell(reporte.celda(t_datos.getValueAt(i, 6).toString(), font,
                                             contenido, centro, 0, 1, Rectangle.RECTANGLE));
                                 }
                                 //columna2
                                 tabla.addCell(reporte.celda(t_datos.getValueAt(i, renglon).toString(), font,
                                         contenido, centro, 0, 1, Rectangle.RECTANGLE));

                                 //columna3
                                 if (t_datos.getValueAt(i, 14) == null) {
                                     tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1,
                                             Rectangle.RECTANGLE));
                                 } else {
                                     tabla.addCell(reporte.celda(t_datos.getValueAt(i, 14).toString(), font,
                                             contenido, centro, 0, 1, Rectangle.RECTANGLE));
                                 }
                                 //columna4
                                 tabla.addCell(reporte.celda(t_datos.getValueAt(i, 2).toString(), font,
                                         contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                                 //columna5
                                 if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0)
                                     tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1,
                                             Rectangle.RECTANGLE));
                                 else {
                                     switch (renglon) {
                                     case 8:
                                         tabla.addCell(reporte.celda("N", font, contenido, centro, 0, 1,
                                                 Rectangle.RECTANGLE));
                                         break;
                                     case 10:
                                         tabla.addCell(reporte.celda("D", font, contenido, centro, 0, 1,
                                                 Rectangle.RECTANGLE));
                                         break;
                                     case 11:
                                         tabla.addCell(reporte.celda("R", font, contenido, centro, 0, 1,
                                                 Rectangle.RECTANGLE));
                                         break;
                                     case 12:
                                         tabla.addCell(reporte.celda("M", font, contenido, centro, 0, 1,
                                                 Rectangle.RECTANGLE));
                                         break;
                                     }
                                 }
                                 //columna6
                                 tabla.addCell(reporte.celda(formatoPorcentaje.format(t_datos.getValueAt(i, 15)),
                                         font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                 //columna7 $tot aut.
                                 double n;
                                 n = BigDecimal
                                         .valueOf(Double.parseDouble(t_datos.getValueAt(i, renglon).toString())
                                                 * Double.parseDouble(t_datos.getValueAt(i, 15).toString()))
                                         .setScale(2, RoundingMode.UP).doubleValue();
                                 tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font, contenido,
                                         derecha, 0, 1, Rectangle.RECTANGLE));
                                 //columna8
                                 tabla.addCell(reporte.celda(formatoPorcentaje.format(t_datos.getValueAt(i, 16)),
                                         font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                                 //columna9 $tot com
                                 n = BigDecimal
                                         .valueOf(Double.parseDouble(t_datos.getValueAt(i, renglon).toString())
                                                 * Double.parseDouble(t_datos.getValueAt(i, 16).toString()))
                                         .setScale(2, RoundingMode.UP).doubleValue();
                                 tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font, contenido,
                                         derecha, 0, 1, Rectangle.RECTANGLE));

                                 //columna10 11
                                 if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0) {
                                     tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1,
                                             Rectangle.RECTANGLE));
                                     tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1,
                                             Rectangle.RECTANGLE));
                                 } else {
                                     switch (renglon) {
                                     case 8:
                                         n = BigDecimal.valueOf(
                                                 Double.parseDouble(t_datos.getValueAt(i, 16).toString()) / 0.9d)
                                                 .setScale(2, RoundingMode.UP).doubleValue();
                                         tabla.addCell(reporte.celda(
                                                 formatoPorcentaje.format(n * Double.parseDouble(
                                                         t_datos.getValueAt(i, renglon).toString())),
                                                 font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                         tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font,
                                                 contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                         break;
                                     case 10:
                                         n = BigDecimal
                                                 .valueOf(
                                                         Double.parseDouble(t_datos.getValueAt(i, 15).toString())
                                                                 * 0.72d)
                                                 .setScale(2, RoundingMode.UP).doubleValue();
                                         tabla.addCell(reporte.celda(
                                                 formatoPorcentaje.format(n * Double.parseDouble(
                                                         t_datos.getValueAt(i, renglon).toString())),
                                                 font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                         tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font,
                                                 contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                         break;
                                     case 11:
                                         n = BigDecimal
                                                 .valueOf(
                                                         Double.parseDouble(t_datos.getValueAt(i, 15).toString())
                                                                 * 0.65d)
                                                 .setScale(2, RoundingMode.UP).doubleValue();
                                         tabla.addCell(reporte.celda(
                                                 formatoPorcentaje.format(n * Double.parseDouble(
                                                         t_datos.getValueAt(i, renglon).toString())),
                                                 font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                         tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font,
                                                 contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                         break;
                                     case 12:
                                         n = BigDecimal
                                                 .valueOf(
                                                         Double.parseDouble(t_datos.getValueAt(i, 15).toString())
                                                                 * 0.65d)
                                                 .setScale(2, RoundingMode.UP).doubleValue();
                                         tabla.addCell(reporte.celda(
                                                 formatoPorcentaje.format(n * Double.parseDouble(
                                                         t_datos.getValueAt(i, renglon).toString())),
                                                 font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                         tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font,
                                                 contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                         break;
                                     }
                                 }
                                 //columna12
                                 if (t_datos.getValueAt(i, 18) == null) {
                                     tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1,
                                             Rectangle.RECTANGLE));
                                 } else {
                                     tabla.addCell(reporte.celda(t_datos.getValueAt(i, 18).toString(), font,
                                             contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                                 }

                                 //columna13
                                 if (t_datos.getValueAt(i, 19) == null) {
                                     tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1,
                                             Rectangle.RECTANGLE));
                                 } else {
                                     tabla.addCell(reporte.celda(t_datos.getValueAt(i, 19).toString(), font,
                                             contenido, centro, 0, 1, Rectangle.RECTANGLE));
                                 }
                                 //columna14
                                 tabla.addCell(
                                         reporte.celda("V", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                             }
                         }
                     }
                 }
                 font1.setColor(BaseColor.WHITE);
                 tabla.addCell(reporte.celda("Faltante en Vales", font1, contenido1, centro, 15, 1,
                         Rectangle.RECTANGLE));

                 for (int i = 0; i < t_datos.getRowCount(); i++) {
                     for (int j = 0; j < 4; j++) {
                         int renglon = 0;
                         switch (j) {
                         case 0:
                             renglon = 8;
                             break;
                         case 1:
                             renglon = 10;
                             break;
                         case 2:
                             renglon = 11;
                             break;
                         case 3:
                             renglon = 12;
                             break;
                         }
                         if ((Double.parseDouble(t_datos.getValueAt(i, renglon).toString()) > 0
                                 && t_datos.getValueAt(i, 9).toString().compareTo("N") == 0)
                                 || ((Double.parseDouble(t_datos.getValueAt(i, renglon).toString()) > 0
                                         && renglon >= 10))
                                 || (renglon == 8
                                         && Double.parseDouble(t_datos.getValueAt(i, 10).toString()) <= 0
                                         && Double.parseDouble(t_datos.getValueAt(i, 11).toString()) <= 0
                                         && Double.parseDouble(t_datos.getValueAt(i, 12).toString()) <= 0)) {
                             System.out.println("entro");
                             if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0)
                                 contenido = BaseColor.WHITE;
                             else
                                 contenido = BaseColor.LIGHT_GRAY;

                             if ((boolean) t_datos.getValueAt(i, 3) == false
                                     && (boolean) t_datos.getValueAt(i, 4) == false
                                     && t_datos.getValueAt(i, 5) != null) {
                                 //columna0
                                 if (t_datos.getValueAt(i, 5) == null) {
                                     tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1,
                                             Rectangle.RECTANGLE));
                                 } else {
                                     tabla.addCell(reporte.celda(t_datos.getValueAt(i, 5).toString(), font,
                                             contenido, centro, 0, 1, Rectangle.RECTANGLE));
                                 }
                                 //columna1
                                 if (t_datos.getValueAt(i, 6) == null) {
                                     tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1,
                                             Rectangle.RECTANGLE));
                                 } else {
                                     tabla.addCell(reporte.celda(t_datos.getValueAt(i, 6).toString(), font,
                                             contenido, centro, 0, 1, Rectangle.RECTANGLE));
                                 }
                                 //columna2
                                 tabla.addCell(reporte.celda(t_datos.getValueAt(i, renglon).toString(), font,
                                         contenido, centro, 0, 1, Rectangle.RECTANGLE));

                                 //columna3
                                 if (t_datos.getValueAt(i, 14) == null) {
                                     tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1,
                                             Rectangle.RECTANGLE));
                                 } else {
                                     tabla.addCell(reporte.celda(t_datos.getValueAt(i, 14).toString(), font,
                                             contenido, centro, 0, 1, Rectangle.RECTANGLE));
                                 }
                                 //columna4
                                 tabla.addCell(reporte.celda(t_datos.getValueAt(i, 2).toString(), font,
                                         contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                                 //columna5
                                 if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0)
                                     tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1,
                                             Rectangle.RECTANGLE));
                                 else {
                                     switch (renglon) {
                                     case 8:
                                         tabla.addCell(reporte.celda("N", font, contenido, centro, 0, 1,
                                                 Rectangle.RECTANGLE));
                                         break;
                                     case 10:
                                         tabla.addCell(reporte.celda("D", font, contenido, centro, 0, 1,
                                                 Rectangle.RECTANGLE));
                                         break;
                                     case 11:
                                         tabla.addCell(reporte.celda("R", font, contenido, centro, 0, 1,
                                                 Rectangle.RECTANGLE));
                                         break;
                                     case 12:
                                         tabla.addCell(reporte.celda("M", font, contenido, centro, 0, 1,
                                                 Rectangle.RECTANGLE));
                                         break;
                                     }
                                 }
                                 //columna6
                                 tabla.addCell(reporte.celda(formatoPorcentaje.format(t_datos.getValueAt(i, 15)),
                                         font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                 //columna7 $tot aut.
                                 double n;
                                 n = BigDecimal
                                         .valueOf(Double.parseDouble(t_datos.getValueAt(i, renglon).toString())
                                                 * Double.parseDouble(t_datos.getValueAt(i, 15).toString()))
                                         .setScale(2, RoundingMode.UP).doubleValue();
                                 tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font, contenido,
                                         derecha, 0, 1, Rectangle.RECTANGLE));
                                 //columna8
                                 tabla.addCell(reporte.celda(formatoPorcentaje.format(t_datos.getValueAt(i, 16)),
                                         font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                                 //columna9 $tot com
                                 n = BigDecimal
                                         .valueOf(Double.parseDouble(t_datos.getValueAt(i, renglon).toString())
                                                 * Double.parseDouble(t_datos.getValueAt(i, 16).toString()))
                                         .setScale(2, RoundingMode.UP).doubleValue();
                                 tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font, contenido,
                                         derecha, 0, 1, Rectangle.RECTANGLE));

                                 //columna10 11
                                 if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0) {
                                     tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1,
                                             Rectangle.RECTANGLE));
                                     tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1,
                                             Rectangle.RECTANGLE));
                                 } else {
                                     switch (renglon) {
                                     case 8:
                                         n = BigDecimal.valueOf(
                                                 Double.parseDouble(t_datos.getValueAt(i, 16).toString()) / 0.9d)
                                                 .setScale(2, RoundingMode.UP).doubleValue();
                                         tabla.addCell(reporte.celda(
                                                 formatoPorcentaje.format(n * Double.parseDouble(
                                                         t_datos.getValueAt(i, renglon).toString())),
                                                 font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                         tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font,
                                                 contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                         break;
                                     case 10:
                                         n = BigDecimal
                                                 .valueOf(
                                                         Double.parseDouble(t_datos.getValueAt(i, 15).toString())
                                                                 * 0.72d)
                                                 .setScale(2, RoundingMode.UP).doubleValue();
                                         tabla.addCell(reporte.celda(
                                                 formatoPorcentaje.format(n * Double.parseDouble(
                                                         t_datos.getValueAt(i, renglon).toString())),
                                                 font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                         tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font,
                                                 contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                         break;
                                     case 11:
                                         n = BigDecimal
                                                 .valueOf(
                                                         Double.parseDouble(t_datos.getValueAt(i, 15).toString())
                                                                 * 0.65d)
                                                 .setScale(2, RoundingMode.UP).doubleValue();
                                         tabla.addCell(reporte.celda(
                                                 formatoPorcentaje.format(n * Double.parseDouble(
                                                         t_datos.getValueAt(i, renglon).toString())),
                                                 font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                         tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font,
                                                 contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                         break;
                                     case 12:
                                         n = BigDecimal
                                                 .valueOf(
                                                         Double.parseDouble(t_datos.getValueAt(i, 15).toString())
                                                                 * 0.65d)
                                                 .setScale(2, RoundingMode.UP).doubleValue();
                                         tabla.addCell(reporte.celda(
                                                 formatoPorcentaje.format(n * Double.parseDouble(
                                                         t_datos.getValueAt(i, renglon).toString())),
                                                 font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                         tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font,
                                                 contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                         break;
                                     }
                                 }
                                 //columna12
                                 if (t_datos.getValueAt(i, 18) == null) {
                                     tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1,
                                             Rectangle.RECTANGLE));
                                 } else {
                                     tabla.addCell(reporte.celda(t_datos.getValueAt(i, 18).toString(), font,
                                             contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                                 }

                                 //columna13
                                 if (t_datos.getValueAt(i, 19) == null) {
                                     tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1,
                                             Rectangle.RECTANGLE));
                                 } else {
                                     tabla.addCell(reporte.celda(t_datos.getValueAt(i, 19).toString(), font,
                                             contenido, centro, 0, 1, Rectangle.RECTANGLE));
                                 }
                                 //columna14
                                 tabla.addCell(
                                         reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                             }
                         }
                     }
                 }
                 tabla.addCell(reporte.celda("Total", font, contenido, derecha, 11, 1, Rectangle.NO_BORDER));
                 tabla.addCell(
                         reporte.celda(formatoPorcentaje.format(Double.parseDouble(total.getValue().toString())),
                                 font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda(" ", font, contenido, centro, 3, 1, Rectangle.NO_BORDER));
                 tabla.setHeaderRows(1);
                 reporte.agregaObjeto(tabla);
                 reporte.cerrar();
                 reporte.visualizar2(ruta + ".pdf");
             }
         }
     } catch (Exception e) {
         e.printStackTrace();
     }
 }

From source file:Compras.Conciliacion.java

private static void cabecera(PDF reporte, BaseFont bf, PdfPTable tabla, String titulo, int op) {

     com.itextpdf.text.Font font = new com.itextpdf.text.Font(com.itextpdf.text.Font.FontFamily.HELVETICA, 7,
             com.itextpdf.text.Font.BOLD);
     font.setColor(BaseColor.WHITE);//  w  ww.j a v  a 2  s . com
     BaseColor cabecera = BaseColor.DARK_GRAY;
     BaseColor contenido = BaseColor.WHITE;
     int centro = com.itextpdf.text.Element.ALIGN_CENTER;
     int izquierda = com.itextpdf.text.Element.ALIGN_LEFT;
     int derecha = com.itextpdf.text.Element.ALIGN_RIGHT;
     tabla.addCell(reporte.celda("N.SET", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
     tabla.addCell(reporte.celda("N.EXT", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
     tabla.addCell(reporte.celda("CNT", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
     tabla.addCell(reporte.celda("NPARTE", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
     tabla.addCell(reporte.celda("DESCRIPCIN", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
     tabla.addCell(reporte.celda("ORI", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
     tabla.addCell(reporte.celda("$C/U AUT", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
     tabla.addCell(reporte.celda("$TOT AUT", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
     tabla.addCell(reporte.celda("$C/U COM", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
     tabla.addCell(reporte.celda("$TOT COM", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
     tabla.addCell(reporte.celda("$C/U FAC", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
     tabla.addCell(reporte.celda("$TOT FAC", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
     tabla.addCell(reporte.celda("PROVEEDOR", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
     tabla.addCell(reporte.celda("#FACTURA", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
     tabla.addCell(reporte.celda("VAL", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
 }

From source file:Compras.Formatos.java

public void prefactura() {
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);//from www  .  ja v  a  2 s  .  com
    session = HibernateUtil.getSessionFactory().openSession();
    ord = (Orden) session.get(Orden.class, ord.getIdOrden());
    //factura=(Factura)session.get(Factura.class, factura.getIdFactura());
    try {
        DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.000");
        formatoPorcentaje.setMinimumFractionDigits(2);

        //session.beginTransaction().begin();
        BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);

        PDF reporte = new PDF();
        Date fecha = new Date();
        DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyyHH-mm-ss");//YYYY-MM-DD HH:MM:SS
        String valor = dateFormat.format(fecha);
        File folder = new File("reportes/" + ord.getIdOrden());
        folder.mkdirs();
        reporte.Abrir(PageSize.LETTER, "Pedido", "reportes/" + ord.getIdOrden() + "/" + valor + "-preFac.pdf");
        Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD);
        BaseColor contenido = BaseColor.WHITE;
        int centro = Element.ALIGN_CENTER;
        int izquierda = Element.ALIGN_LEFT;
        int derecha = Element.ALIGN_RIGHT;
        float tam[] = new float[] { 40, 40, 350, 70, 70 };
        PdfPTable tabla = reporte.crearTabla(5, tam, 100, Element.ALIGN_LEFT);

        //Pedido ord = (Pedido)session.get(Pedido.class, Integer.parseInt(this.no_ped));
        cabeceraPre(reporte, bf, tabla);

        Partida[] cuentas = (Partida[]) session.createCriteria(Partida.class)
                .add(Restrictions.eq("ordenByIdOrden.idOrden", ord.getIdOrden()))
                .add(Restrictions.eq("facturado", true)).add(Restrictions.eq("incluida", false))
                .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                .toArray(new Partida[0]);
        Partida[] enlazadas = (Partida[]) session.createCriteria(Partida.class)
                .add(Restrictions.eq("ordenByEnlazada.idOrden", ord.getIdOrden()))
                .add(Restrictions.eq("facturado", true)).addOrder(Order.asc("idEvaluacion"))
                .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
        Adicionales[] externas = (Adicionales[]) session.createCriteria(Adicionales.class)
                .add(Restrictions.eq("orden.idOrden", ord.getIdOrden())).addOrder(Order.asc("idAdicionales"))
                .list().toArray(new Adicionales[0]);

        //**********agregamos la mano de obra*******************
        double tot_mo = 0.0d;
        Query query = session.createQuery("SELECT SUM( " + "(CASE WHEN dm>0 THEN (dm*cant) ELSE 0 END) + "
                + "(CASE WHEN cam>0 THEN (cam*cant) ELSE 0 END) + "
                + "(CASE WHEN repMin>0 THEN (repMin*cant) ELSE 0 END) + "
                + "(CASE WHEN repMed>0 THEN (repMed*cant) ELSE 0 END) + "
                + "(CASE WHEN repMax>0 THEN (repMax*cant) ELSE 0 END) + "
                + "(CASE WHEN pint>0 THEN (pint*cant) ELSE 0 END) " + ") from Partida "
                + " where ordenByIdOrden.idOrden =" + ord.getIdOrden() + " OR ordenByEnlazada.idOrden ="
                + ord.getIdOrden());
        Object ent = query.uniqueResult();
        if (ent != null) {
            tot_mo = Double.parseDouble(ent.toString()) * ord.getCompania().getImporteHora();
        }
        if (ord.getMoDirecta() > 0d)
            tot_mo = ord.getMoDirecta();
        tabla.addCell(reporte.celda("1", font, contenido, derecha, 0, 1, 12));
        tabla.addCell(reporte.celda("NA", font, contenido, izquierda, 0, 1, 12));
        tabla.addCell(reporte.celda("MANO DE OBRA", font, contenido, izquierda, 0, 1, 12));
        tabla.addCell(reporte.celda("" + formatoPorcentaje.format(tot_mo), font, contenido, derecha, 0, 1, 12));
        tabla.addCell(reporte.celda("" + formatoPorcentaje.format(tot_mo), font, contenido, derecha, 0, 1, 12));
        int ren = 0;
        double total = tot_mo;
        if (cuentas.length > 0) {
            for (int i = 0; i < cuentas.length; i++) {
                tabla.addCell(reporte.celda("" + cuentas[i].getCantidadFactura(), font, contenido, derecha, 0,
                        1, 12));
                tabla.addCell(reporte.celda(cuentas[i].getMed(), font, contenido, izquierda, 0, 1, 12));
                tabla.addCell(reporte.celda(cuentas[i].getDescripcionFactura().toUpperCase(), font, contenido,
                        izquierda, 0, 1, 12));
                tabla.addCell(reporte.celda("" + formatoPorcentaje.format(cuentas[i].getPrecioFactura()), font,
                        contenido, derecha, 0, 1, 12));
                double tot = cuentas[i].getPrecioFactura() * cuentas[i].getCantidadFactura();
                total += tot;
                tabla.addCell(
                        reporte.celda("" + formatoPorcentaje.format(tot), font, contenido, derecha, 0, 1, 12));
                /*if(ren==30)
                {
                tabla.addCell(reporte.celda("", font, contenido, izquierda, 0,1,12));
                tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12));
                tabla.addCell(reporte.celda(">> continua en la siguente hoja <<", font, contenido, derecha, 0,1,12));
                tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12));
                tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12));
                reporte.agregaObjeto(tabla);
                reporte.writer.newPage();
                tabla=reporte.crearTabla(5, tam, 100, Element.ALIGN_LEFT);
                this.cabeceraPre(reporte, bf, tabla);
                ren=-1;
                }
                ren++;*/
            }
        }
        if (enlazadas.length > 0) {
            for (int i = 0; i < enlazadas.length; i++) {
                tabla.addCell(reporte.celda("" + enlazadas[i].getCantidadFactura(), font, contenido, derecha, 0,
                        1, 12));
                tabla.addCell(reporte.celda(enlazadas[i].getMed(), font, contenido, izquierda, 0, 1, 12));
                tabla.addCell(reporte.celda(enlazadas[i].getDescripcionFactura().toUpperCase(), font, contenido,
                        izquierda, 0, 1, 12));
                tabla.addCell(reporte.celda("" + formatoPorcentaje.format(enlazadas[i].getPrecioFactura()),
                        font, contenido, derecha, 0, 1, 12));
                double tot = enlazadas[i].getPrecioFactura() * enlazadas[i].getCantidadFactura();
                total += tot;
                tabla.addCell(
                        reporte.celda("" + formatoPorcentaje.format(tot), font, contenido, derecha, 0, 1, 12));
                /*if(ren==30)
                {
                tabla.addCell(reporte.celda("", font, contenido, izquierda, 0,1,12));
                tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12));
                tabla.addCell(reporte.celda(">> continua en la siguente hoja <<", font, contenido, derecha, 0,1,12));
                tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12));
                tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12));
                reporte.agregaObjeto(tabla);
                reporte.writer.newPage();
                tabla=reporte.crearTabla(17, tam, 100, Element.ALIGN_LEFT);
                this.cabeceraPre(reporte, bf, tabla);
                ren=-1;
                }
                ren++;*/
            }
        }
        if (externas.length > 0) {
            for (int ex = 0; ex < externas.length; ex++) {
                tabla.addCell(
                        reporte.celda("" + externas[ex].getCantidad(), font, contenido, derecha, 0, 1, 12));
                tabla.addCell(reporte.celda(externas[ex].getMedida(), font, contenido, izquierda, 0, 1, 12));
                tabla.addCell(reporte.celda(externas[ex].getDescripcion().toUpperCase(), font, contenido,
                        izquierda, 0, 1, 12));
                tabla.addCell(reporte.celda("" + formatoPorcentaje.format(externas[ex].getPrecio()), font,
                        contenido, derecha, 0, 1, 12));
                double tot = externas[ex].getPrecio() * externas[ex].getCantidad();
                total += tot;
                tabla.addCell(
                        reporte.celda("" + formatoPorcentaje.format(tot), font, contenido, derecha, 0, 1, 12));
                /*if(ren==30)
                {
                tabla.addCell(reporte.celda("", font, contenido, izquierda, 0,1,12));
                tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12));
                tabla.addCell(reporte.celda(">> continua en la siguente hoja <<", font, contenido, derecha, 0,1,12));
                tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12));
                tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12));
                reporte.agregaObjeto(tabla);
                reporte.writer.newPage();
                tabla=reporte.crearTabla(17, tam, 100, Element.ALIGN_LEFT);
                this.cabeceraPre(reporte, bf, tabla);
                ren=-1;
                }
                ren++;*/
            }
        }
        PdfPTable tabla1 = reporte.crearTabla(5, tam, 100, Element.ALIGN_LEFT);
        tabla1.addCell(reporte.celda("Metodo de Pago: NO IDENTIFICADO", font, contenido, izquierda, 3, 1,
                Rectangle.TOP));
        tabla1.addCell(reporte.celda("SUB-TOTAL:", font, contenido, derecha, 0, 1,
                Rectangle.TOP + Rectangle.BOTTOM + 12));
        tabla1.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1,
                Rectangle.TOP + Rectangle.BOTTOM + 12));
        tabla1.addCell(
                reporte.celda("Lugar de Expedicin: ", font, contenido, izquierda, 3, 1, Rectangle.NO_BORDER));
        tabla1.addCell(reporte.celda("IVA:", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
        Configuracion con = (Configuracion) session.get(Configuracion.class, 1);
        double iva = total * (con.getIva() * 0.01);
        tabla1.addCell(reporte.celda(formatoPorcentaje.format(iva), font, contenido, derecha, 0, 1,
                Rectangle.RECTANGLE));
        tabla1.addCell(
                reporte.celda("(CANTIDAD CON LETRA)", font, contenido, izquierda, 3, 2, Rectangle.NO_BORDER));
        tabla1.addCell(reporte.celda("DEDUCIBLE:", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
        tabla1.addCell(reporte.celda("$0.00", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
        tabla1.addCell(reporte.celda("TOTAL:", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
        total += iva;
        tabla1.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1,
                Rectangle.RECTANGLE));
        tabla1.addCell(reporte.celda("PAGO EN UNA SOLA EXHIBICIN", font, contenido, izquierda, 3, 1,
                Rectangle.NO_BORDER));
        tabla1.addCell(
                reporte.celda("EFECTOS FISCALES AL PAGO", font, contenido, centro, 2, 1, Rectangle.NO_BORDER));
        session.beginTransaction().rollback();

        tabla.setHeaderRows(2);
        reporte.agregaObjeto(tabla);
        float tam1[] = new float[] { 180, 180, 180, 180 };
        PdfPTable tabla2 = reporte.crearTabla(4, tam1, 100, Element.ALIGN_LEFT);
        tabla2.addCell(
                reporte.celda(reporte.Imagen("imagenes/rq.png"), contenido, centro, 0, 8, Rectangle.NO_BORDER));
        tabla2.addCell(reporte.celda("Regimen Fiscal:REGIMEN GENERAL DE LEY DE PERSONAS MORALES", font,
                contenido, centro, 3, 1, Rectangle.BOTTOM));
        tabla2.addCell(reporte.celda("Sello Digital del SAT:", font, contenido, izquierda, 3, 1, 12));
        tabla2.addCell(reporte.celda(" ", font, contenido, izquierda, 3, 1, 12));
        tabla2.addCell(reporte.celda("Sello Digital del Emisor:", font, contenido, izquierda, 3, 1, 12));
        tabla2.addCell(reporte.celda(" ", font, contenido, izquierda, 3, 1, 12));
        tabla2.addCell(reporte.celda("Cadena original del complemento de certificacin digital del SAT:", font,
                contenido, izquierda, 3, 1, 12));
        tabla2.addCell(reporte.celda(" ", font, contenido, izquierda, 3, 1, 12));
        tabla2.addCell(reporte.celda("Este documento es una representacin impresa de un CFDI", font,
                contenido, izquierda, 3, 1, Rectangle.TOP));

        reporte.agregaObjeto(tabla1);
        reporte.agregaObjeto(tabla2);
        reporte.cerrar();
        reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-preFac.pdf");

    } catch (Exception e) {
        System.out.println(e);
        e.printStackTrace();
        JOptionPane.showMessageDialog(null, "No se pudo realizar el reporte si el archivo esta abierto.");
    }
}

From source file:Compras.Formatos.java

void pedidos() {
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);//from   w  w  w.  java 2s  .  c om
    session = HibernateUtil.getSessionFactory().openSession();
    ord = (Orden) session.get(Orden.class, ord.getIdOrden());
    try {
        DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.000");
        formatoPorcentaje.setMinimumFractionDigits(2);

        session.beginTransaction().begin();
        BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);

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

        Font font = new Font(Font.FontFamily.TIMES_ROMAN, 8, Font.BOLD);
        BaseColor contenido = BaseColor.WHITE;
        int centro = Element.ALIGN_CENTER;
        int izquierda = Element.ALIGN_LEFT;
        int derecha = Element.ALIGN_RIGHT;
        float tam[] = new float[] { 20, 30, 25, 60, 190, 25, 30, 20, 40, 40 };
        PdfPTable tabla = reporte.crearTabla(10, tam, 100, Element.ALIGN_LEFT);

        Pedido ped = (Pedido) session.get(Pedido.class, Integer.parseInt(this.no_ped));
        if (ped.getUsuarioByAutorizo() != null && ped.getUsuarioByAutorizo2() != null) {
            reporte.estatusAutoriza(ped.getUsuarioByAutorizo().getEmpleado().getNombre(),
                    ped.getUsuarioByAutorizo2().getEmpleado().getNombre());
        } else
            reporte.estatusAutoriza("", "       NO AUTORIZADO");
        cabecera(reporte, bf, tabla, ped);

        Partida[] cuentas = (Partida[]) session.createCriteria(Partida.class)
                .add(Restrictions.eq("ordenByIdOrden.idOrden", ord.getIdOrden()))
                .add(Restrictions.eq("pedido.idPedido", Integer.parseInt(no_ped)))
                .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                .toArray(new Partida[0]);

        int ren = 0;
        double total = 0d;
        if (cuentas.length > 0) {
            for (int i = 0; i < cuentas.length; i++) {
                int r = i + 1;
                //consecutivo
                tabla.addCell(reporte.celda("" + r, font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));

                //Partida y subpartida
                tabla.addCell(
                        reporte.celda("" + cuentas[i].getIdEvaluacion() + " " + cuentas[i].getSubPartida(),
                                font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                //folio del articulo de articulo
                tabla.addCell(reporte.celda("" + cuentas[i].getCatalogo().getIdCatalogo(), font, contenido,
                        derecha, 0, 1, Rectangle.RECTANGLE));
                if (cuentas[i].getEjemplar() != null) {
                    //No de parte
                    tabla.addCell(reporte.celda("" + cuentas[i].getEjemplar().getIdParte(), font, contenido,
                            derecha, 0, 1, Rectangle.RECTANGLE));
                } else
                    tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                //Descripcion
                tabla.addCell(reporte.celda(cuentas[i].getCatalogo().getNombre(), font, contenido, izquierda, 0,
                        1, Rectangle.RECTANGLE));

                //Medida
                tabla.addCell(reporte.celda(cuentas[i].getMed(), font, contenido, derecha, 0, 1,
                        Rectangle.RECTANGLE));

                if (cuentas[i].getPlazo() != null)//plazo de entrega
                    tabla.addCell(reporte.celda("" + cuentas[i].getPlazo(), font, contenido, derecha, 0, 1,
                            Rectangle.RECTANGLE));
                else
                    tabla.addCell(reporte.celda("0", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                if (cuentas[i].getCantPcp() > 0)//cantidad a comprar
                    tabla.addCell(reporte.celda("" + cuentas[i].getCantPcp(), font, contenido, derecha, 0, 1,
                            Rectangle.RECTANGLE));
                else
                    tabla.addCell(reporte.celda("0", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                if (cuentas[i].getPcp() != null)//costo unit
                    tabla.addCell(reporte.celda(formatoPorcentaje.format(cuentas[i].getPcp()), font, contenido,
                            derecha, 0, 1, Rectangle.RECTANGLE));
                else
                    tabla.addCell(reporte.celda("0.00", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                if (cuentas[i].getCantPcp() > 0 && cuentas[i].getPcp() != null)//costo total
                {
                    double sum = cuentas[i].getCantPcp() * cuentas[i].getPcp();
                    total += sum;
                    tabla.addCell(reporte.celda(formatoPorcentaje.format(sum), font, contenido, derecha, 0, 1,
                            Rectangle.RECTANGLE));
                } else
                    tabla.addCell(reporte.celda("0.00", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                /*if(ren==38)
                {
                reporte.agregaObjeto(tabla);
                reporte.writer.newPage();
                tabla=reporte.crearTabla(17, tam, 100, Element.ALIGN_LEFT);
                cabecera(reporte, bf, tabla, ped);
                ren=-1;
                }*/
                ren++;
            }
        }
        tabla.addCell(reporte.celda("[Los montos estan en Pesos]", font, contenido, izquierda, 4, 1,
                Rectangle.NO_BORDER));
        tabla.addCell(reporte.celda("Sub-total:", font, contenido, derecha, 5, 1, Rectangle.NO_BORDER));
        tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1,
                Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("IVA:", font, contenido, derecha, 9, 1, Rectangle.NO_BORDER));
        double iva = total * 0.16d;
        tabla.addCell(reporte.celda(formatoPorcentaje.format(iva), font, contenido, derecha, 0, 1,
                Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("Total:", font, contenido, derecha, 9, 1, Rectangle.NO_BORDER));
        total += iva;
        tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1,
                Rectangle.RECTANGLE));
        if (ped.getNotas() != null)
            tabla.addCell(reporte.celda("Notas: " + ped.getNotas(), font, contenido, izquierda, 10, 1,
                    Rectangle.NO_BORDER));
        tabla.setHeaderRows(1);
        session.beginTransaction().rollback();

        reporte.agregaObjeto(tabla);
        reporte.cerrar();
        reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-pedido.pdf");

    } catch (Exception e) {
        System.out.println(e);
        e.printStackTrace();
        JOptionPane.showMessageDialog(null, "No se pudo realizar el reporte si el archivo esta abierto.");
    }
}