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

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

Introduction

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

Prototype

String WINANSI

To view the source code for com.itextpdf.text.pdf BaseFont WINANSI.

Click Source Link

Document

A possible encoding.

Usage

From source file:Compras.Formatos.java

void ordenCompraDCG(String tipo) {
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);/*from w w  w  . j a va2s . co  m*/
    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 + "-ordenDCG.pdf");
        //Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD);
        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, 20, 40, 220, 90, 50, 50 };
        PdfPTable tabla = reporte.crearTabla(7, tam, 100, Element.ALIGN_LEFT);

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

        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));

                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].getMed() != null)//Unidad
                    tabla.addCell(reporte.celda(cuentas[i].getMed(), 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));

                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));

                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));

                ren++;
            }
        }
        if (ped.getNotas() != null)
            tabla.addCell(reporte.celda("Notas:" + ped.getNotas(), font, contenido, izquierda, 7, 1,
                    Rectangle.BOTTOM));
        else
            tabla.addCell(reporte.celda("Notas:", font, contenido, izquierda, 7, 1, Rectangle.BOTTOM));
        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, 2, 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, 6, 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, 6, 1, Rectangle.NO_BORDER));
        total += iva;
        tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1,
                Rectangle.RECTANGLE));
        tabla.setHeaderRows(1);
        session.beginTransaction().rollback();

        reporte.agregaObjeto(tabla);

        reporte.cerrar();
        reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-ordenDCG.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 ordenCompraExternosDCG(int pedido, String tipo) {
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);//from  w w  w.  ja  va 2 s .  c o m
    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/externos");
        folder.mkdirs();
        reporte.Abrir(PageSize.LETTER, "cabecera", "reportes/externos/" + valor + "-ordenDCG.pdf");
        //Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD);
        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, 20, 40, 220, 90, 50, 50 };
        PdfPTable tabla = reporte.crearTabla(7, tam, 100, Element.ALIGN_LEFT);

        Pedido ped = (Pedido) session.get(Pedido.class, pedido);
        if (ped.getUsuarioByAutorizo() != null && ped.getUsuarioByAutorizo2() != null) {
            reporte.estatusAutoriza(ped.getUsuarioByAutorizo().getEmpleado().getNombre(),
                    ped.getUsuarioByAutorizo2().getEmpleado().getNombre());
        } else
            reporte.estatusAutoriza("", "       NO AUTORIZADO");
        if (ped.getTipoPedido().compareToIgnoreCase("Externo") == 0)
            cabeceraCompraExDCG(reporte, bf, tabla, ped, tipo);
        if (ped.getTipoPedido().compareToIgnoreCase("Adicional") == 0)
            cabeceraCompraDCG(reporte, bf, tabla, ped, tipo);

        PartidaExterna[] cuentas = (PartidaExterna[]) session.createCriteria(PartidaExterna.class).
        //add(Restrictions.eq("ordenByIdOrden.idOrden", ord.getIdOrden())).
                add(Restrictions.eq("pedido.idPedido", pedido)).addOrder(Order.asc("idPartidaExterna")).list()
                .toArray(new PartidaExterna[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));

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

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

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

                tabla.addCell(reporte.celda("" + cuentas[i].getNoParte(), font, contenido, derecha, 0, 1,
                        Rectangle.RECTANGLE));

                //costo unit
                tabla.addCell(reporte.celda(formatoPorcentaje.format(cuentas[i].getCosto()), font, contenido,
                        derecha, 0, 1, Rectangle.RECTANGLE));

                double sum = cuentas[i].getCantidad() * cuentas[i].getCosto();
                total += sum;
                tabla.addCell(reporte.celda(formatoPorcentaje.format(sum), font, contenido, derecha, 0, 1,
                        Rectangle.RECTANGLE));

                /*if(ren==38)
                {
                    reporte.agregaObjeto(tabla);
                    reporte.writer.newPage();
                    tabla=reporte.crearTabla(7, tam, 100, Element.ALIGN_LEFT);
                    cabeceraCompraEx(reporte, bf, tabla, ped);
                    ren=-1;
                }*/
                ren++;
            }
        }
        if (ped.getNotas() != null)
            tabla.addCell(reporte.celda("Notas:" + ped.getNotas(), font, contenido, izquierda, 7, 1,
                    Rectangle.BOTTOM));
        else
            tabla.addCell(reporte.celda("Notas:", font, contenido, izquierda, 7, 1, Rectangle.BOTTOM));
        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, 2, 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, 6, 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, 6, 1, Rectangle.NO_BORDER));
        total += iva;
        tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1,
                Rectangle.RECTANGLE));
        tabla.setHeaderRows(1);
        session.beginTransaction().rollback();

        reporte.agregaObjeto(tabla);

        reporte.cerrar();
        reporte.visualizar("reportes/externos/" + valor + "-ordenDCG.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 ordenCompraExternos(int pedido) {
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);//from   w ww  . jav a  2 s. c o  m
    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/externos");
        folder.mkdirs();
        reporte.Abrir(PageSize.LETTER, "cabecera", "reportes/externos/" + valor + "-orden.pdf");
        //Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD);
        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, 20, 220, 40, 90, 50, 50 };
        PdfPTable tabla = reporte.crearTabla(7, tam, 100, Element.ALIGN_LEFT);

        Pedido ped = (Pedido) session.get(Pedido.class, pedido);

        //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");
        if (ped.getTipoPedido().compareToIgnoreCase("Externo") == 0)
            cabeceraCompraEx(reporte, bf, tabla, ped);
        if (ped.getTipoPedido().compareToIgnoreCase("Adicional") == 0)
            cabeceraCompra(reporte, bf, tabla, ped);

        PartidaExterna[] cuentas = (PartidaExterna[]) session.createCriteria(PartidaExterna.class).
        //add(Restrictions.eq("ordenByIdOrden.idOrden", ord.getIdOrden())).
                add(Restrictions.eq("pedido.idPedido", pedido)).addOrder(Order.asc("idPartidaExterna")).list()
                .toArray(new PartidaExterna[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));

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

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

                //folio del articulo-partida-subpartida
                if (cuentas[i].getPartida() != null)
                    tabla.addCell(reporte.celda(cuentas[i].getPartida() + "-" + cuentas[i].getIdValuacion(),
                            font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                else
                    tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                tabla.addCell(reporte.celda("" + cuentas[i].getNoParte(), font, contenido, derecha, 0, 1,
                        Rectangle.RECTANGLE));

                //costo unit
                tabla.addCell(reporte.celda(formatoPorcentaje.format(cuentas[i].getCosto()), font, contenido,
                        derecha, 0, 1, Rectangle.RECTANGLE));

                double sum = cuentas[i].getCantidad() * cuentas[i].getCosto();
                total += sum;
                tabla.addCell(reporte.celda(formatoPorcentaje.format(sum), font, contenido, derecha, 0, 1,
                        Rectangle.RECTANGLE));

                /*if(ren==38)
                {
                    reporte.agregaObjeto(tabla);
                    reporte.writer.newPage();
                    tabla=reporte.crearTabla(7, tam, 100, Element.ALIGN_LEFT);
                    cabeceraCompraEx(reporte, bf, tabla, ped);
                    ren=-1;
                }*/
                ren++;
            }
        }
        if (ped.getNotas() != null)
            tabla.addCell(reporte.celda("Notas:" + ped.getNotas(), font, contenido, izquierda, 7, 1,
                    Rectangle.BOTTOM));
        else
            tabla.addCell(reporte.celda("Notas:", font, contenido, izquierda, 7, 1, Rectangle.BOTTOM));
        tabla.addCell(reporte.celda("[Los montos estan en Pesos]", font, contenido, izquierda, 3, 1,
                Rectangle.NO_BORDER));
        tabla.addCell(reporte.celda("Sub-total:", font, contenido, derecha, 3, 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, 6, 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, 6, 1, Rectangle.NO_BORDER));
        total += iva;
        tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1,
                Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda(
                "[NO SE RECIBIR? MATERIAL EN ALMACN SIN ESTA ORDEN DE COMPRA Y REMISIN O FACTURA CORRESPONDIENTE]",
                font, contenido, centro, 7, 1, Rectangle.NO_BORDER));
        tabla.setHeaderRows(1);
        session.beginTransaction().rollback();

        reporte.agregaObjeto(tabla);

        reporte.cerrar();
        reporte.visualizar("reportes/externos/" + valor + "-orden.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

public void factura() {
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);/*w  ww . j  av  a 2 s. c o m*/
    session = HibernateUtil.getSessionFactory().openSession();
    factura = (Factura) session.get(Factura.class, factura.getIdFactura());

    String ruta = "";
    try {
        ruta = "";
        FileReader f = new FileReader("config.txt");
        BufferedReader b = new BufferedReader(f);
        if ((ruta = b.readLine()) == null)
            ruta = "";
        b.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
    try {
        DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.000");
        formatoPorcentaje.setMinimumFractionDigits(2);
        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(ruta + "xml-timbrados/");
        folder.mkdirs();
        String fi = "xml-timbrados/" + factura.getRfcEmisor() + "_" + factura.getSerie() + "_"
                + factura.getFolio() + "_" + factura.getRfcReceptor() + ".pdf";
        reporte.Abrir(PageSize.LETTER, "Pedido", "xml-timbrados/" + factura.getRfcEmisor() + "_"
                + factura.getSerie() + "_" + factura.getFolio() + "_" + factura.getRfcReceptor() + ".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);

        this.cabeceraFac(reporte, bf, tabla, factura);

        Concepto[] concepto = (Concepto[]) session.createCriteria(Concepto.class)
                .add(Restrictions.eq("factura.idFactura", factura.getIdFactura()))
                .addOrder(Order.asc("idConcepto")).list().toArray(new Concepto[0]);

        int ren = 0;
        double total = 0.0;
        if (concepto.length > 0) {
            for (int i = 0; i < concepto.length; i++) {
                tabla.addCell(
                        reporte.celda("" + concepto[i].getCantidad(), font, contenido, derecha, 0, 1, 12));
                tabla.addCell(reporte.celda(concepto[i].getMedida(), font, contenido, izquierda, 0, 1, 12));
                tabla.addCell(reporte.celda(concepto[i].getDescripcion().toUpperCase(), font, contenido,
                        izquierda, 0, 1, 12));
                tabla.addCell(reporte.celda("" + formatoPorcentaje.format(concepto[i].getPrecio()), font,
                        contenido, derecha, 0, 1, 12));
                double tot = concepto[i].getPrecio() * concepto[i].getCantidad();
                total += tot;
                tabla.addCell(
                        reporte.celda("" + formatoPorcentaje.format(tot), font, contenido, derecha, 0, 1, 12));
            }
        }
        PdfPTable tabla1 = reporte.crearTabla(5, tam, 100, Element.ALIGN_LEFT);
        tabla1.addCell(reporte.celda("Metodo de Pago:" + factura.getMetodoPago(), 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: " + factura.getMunicipioEmisor() + ", " + factura.getEstadoEmisor(),
                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("" + factura.getDeducible(), 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(fi);

    } 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.reportePedidos.java

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
    // TODO add your handling code here:
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);// w  ww .  ja v a2 s .  c  o m
    if (t_datos.getRowCount() > 0) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        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) {
                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(), "Reporte", 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_pdf = new float[] { 10, 25, 13, 18, 10, 50, 50, 60, 18, 18, 15 };

                    PdfPTable tabla = reporte.crearTabla(tam_pdf.length, tam_pdf, 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++) {
                        for (int j = 0; j < t_datos.getColumnCount(); j++) {
                            if (t_datos.getColumnName(j).compareTo("Monto tot.") == 0) {
                                if (t_datos.getValueAt(i, j) != null)
                                    tabla.addCell(
                                            reporte.celda(formatoPorcentaje.format(t_datos.getValueAt(i, j)),
                                                    font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                                else
                                    tabla.addCell(reporte.celda("0.00", font, contenido, derecha, 0, 1,
                                            Rectangle.RECTANGLE));
                            } else {
                                if (t_datos.getValueAt(i, j) != null)
                                    tabla.addCell(reporte.celda("" + t_datos.getValueAt(i, j), font, contenido,
                                            izquierda, 0, 1, Rectangle.RECTANGLE));
                                else
                                    tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1,
                                            Rectangle.RECTANGLE));
                            }
                        }
                        /*if(ren==38)
                        {
                        reporte.agregaObjeto(tabla);
                        reporte.writer.newPage();
                        tabla=reporte.crearTabla(tam_pdf.length, tam_pdf, 100, Element.ALIGN_LEFT);
                        cabecera(reporte, bf, tabla);
                        ren=-1;
                        }
                        ren++;*/
                    }
                    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.");
                } finally {
                    if (session != null)
                        if (session.isOpen())
                            session.close();
                }
            }
        }
    }
}

From source file:Compras.reportePedidos.java

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
    // TODO add your handling code here:
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);// w  ww .j a v a2 s .c  o m
    if (t_datos.getRowCount() > 0) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        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) {
                try {
                    DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.00");
                    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);

                    reporte.Abrir2(PageSize.LETTER.rotate(), "Reporte", ruta + ".pdf");
                    Font font = new Font(Font.FontFamily.HELVETICA, 8, Font.NORMAL);
                    BaseColor contenido = BaseColor.WHITE;
                    int centro = Element.ALIGN_CENTER;
                    int izquierda = Element.ALIGN_LEFT;
                    int derecha = Element.ALIGN_RIGHT;
                    float[] tam_pdf = new float[] { 15, 40, 130, 20, 15, 30, 20, 15 };

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

                    cabeceraReporte(reporte, bf, tabla);
                    Object no[];
                    int ren[];
                    if (t_datos.getSelectedRows().length > 0) {
                        no = new Object[t_datos.getSelectedRows().length];
                        ren = t_datos.getSelectedRows();
                        for (int x = 0; x < t_datos.getSelectedRows().length; x++) {
                            no[x] = (int) t_datos.getValueAt(ren[x], 0);
                        }
                    } else {
                        no = new Object[t_datos.getRowCount()];
                        //ren =new int[t_datos.getRowCount()];
                        for (int x = 0; x < t_datos.getRowCount(); x++) {
                            no[x] = (int) t_datos.getValueAt(x, 0);
                        }
                    }
                    Pedido[] pedidos;
                    if (autorizado.isSelected() == true) {
                        pedidos = (Pedido[]) session.createCriteria(Pedido.class)
                                .add(Restrictions.and(
                                        Restrictions.and(Restrictions.isNotNull("usuarioByAutorizo"),
                                                Restrictions.isNotNull("usuarioByAutorizo2")),
                                        Restrictions.in("idPedido", no)))
                                .list().toArray(new Pedido[0]);
                    } else {
                        pedidos = (Pedido[]) session.createCriteria(Pedido.class)
                                .add(Restrictions.in("idPedido", no)).list().toArray(new Pedido[0]);
                    }
                    if (pedidos.length > 0) {
                        ArrayList ordena = new ArrayList();
                        for (int a = 0; a < pedidos.length; a++) {
                            Pedido aux = pedidos[a];
                            if (aux.getTipoPedido().compareTo("Interno") == 0) {
                                Partida[] par = (Partida[]) aux.getPartidas().toArray(new Partida[0]);
                                for (int b = 0; b < par.length; b++) {
                                    Partida ren1 = par[b];
                                    Renglon nuevo;
                                    if (ren1.getEjemplar() != null)
                                        nuevo = new Renglon("" + aux.getIdPedido(),
                                                ren1.getEjemplar().getIdParte(), ren1.getCatalogo().getNombre(),
                                                ren1.getCantPcp(), ren1.getMed(), ren1.getPcp(),
                                                "" + ren1.getOrdenByIdOrden().getIdOrden(),
                                                "" + ren1.getIdEvaluacion() + "-" + ren1.getSubPartida());
                                    else
                                        nuevo = new Renglon("" + aux.getIdPedido(), "",
                                                ren1.getCatalogo().getNombre(), ren1.getCantPcp(),
                                                ren1.getMed(), ren1.getPcp(),
                                                "" + ren1.getOrdenByIdOrden().getIdOrden(),
                                                "" + ren1.getIdEvaluacion() + "-" + ren1.getSubPartida());
                                    ordena.add(nuevo);
                                }
                            }

                            if (aux.getTipoPedido().compareTo("Externo") == 0) {
                                PartidaExterna[] par = (PartidaExterna[]) aux.getPartidaExternas()
                                        .toArray(new PartidaExterna[0]);
                                for (int b = 0; b < par.length; b++) {
                                    PartidaExterna ren2 = par[b];
                                    Renglon nuevo;
                                    nuevo = new Renglon("" + aux.getIdPedido(), ren2.getNoParte(),
                                            ren2.getDescripcion(), ren2.getCantidad(), ren2.getUnidad(),
                                            ren2.getCosto(), "", "" + "Ext");
                                    ordena.add(nuevo);
                                }
                            }

                            if (aux.getTipoPedido().compareTo("Adicional") == 0) {
                                PartidaExterna[] par = (PartidaExterna[]) aux.getPartidaExternas()
                                        .toArray(new PartidaExterna[0]);
                                for (int b = 0; b < par.length; b++) {
                                    PartidaExterna ren2 = par[b];
                                    Renglon nuevo;
                                    nuevo = new Renglon("" + aux.getIdPedido(), ren2.getNoParte(),
                                            ren2.getDescripcion(), ren2.getCantidad(), ren2.getUnidad(),
                                            ren2.getCosto(), "" + aux.getOrden().getIdOrden(), "ADI");
                                    ordena.add(nuevo);
                                }
                            }
                        }

                        Collections.sort(ordena, new Comparator() {
                            @Override
                            public int compare(Object o1, Object o2) {
                                Renglon p1 = (Renglon) o1;
                                Renglon p2 = (Renglon) o2;
                                return new String(p1.np + p1.descripcion)
                                        .compareTo(new String(p2.np + p2.descripcion));
                            }
                        });

                        for (int c = 0; c < ordena.size(); c++) {
                            Renglon r1 = (Renglon) ordena.get(c);
                            tabla.addCell(reporte.celda(r1.pedido, font, contenido, derecha, 0, 1,
                                    Rectangle.RECTANGLE));
                            tabla.addCell(
                                    reporte.celda(r1.np, font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                            tabla.addCell(reporte.celda(r1.descripcion, font, contenido, izquierda, 0, 1,
                                    Rectangle.RECTANGLE));
                            tabla.addCell(reporte.celda(formatoPorcentaje.format(r1.cant), font, contenido,
                                    derecha, 0, 1, Rectangle.RECTANGLE));
                            tabla.addCell(
                                    reporte.celda(r1.med, font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                            tabla.addCell(reporte.celda(formatoPorcentaje.format(r1.precio), font, contenido,
                                    derecha, 0, 1, Rectangle.RECTANGLE));
                            tabla.addCell(reporte.celda("" + r1.orden, font, contenido, centro, 0, 1,
                                    Rectangle.RECTANGLE));
                            tabla.addCell(reporte.celda(r1.partida, font, contenido, derecha, 0, 1,
                                    Rectangle.RECTANGLE));
                        }
                    }

                    tabla.setHeaderRows(2);
                    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.");
                } finally {
                    if (session != null)
                        if (session.isOpen())
                            session.close();
                }
            }
        }
    }
}

From source file:Contabilidad.RCuentas.java

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
    // TODO add your handling code here:
    if (t_datos.getRowCount() > 0) {
        javax.swing.JFileChooser jF1 = new javax.swing.JFileChooser();
        jF1.setFileFilter(new ExtensionFileFilter("Excel document (*.pdf)", new String[] { "pdf" }));
        String ruta = null;/*  w w  w . j a va  2s.c  o m*/
        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(), "Reporte Contabilidad", ruta + ".pdf");
                    Font font = new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL);
                    BaseColor contenido = BaseColor.WHITE;
                    int centro = Element.ALIGN_CENTER;
                    int izquierda = Element.ALIGN_LEFT;
                    int derecha = Element.ALIGN_RIGHT;
                    float[] nuevos = new float[] { 36, 75, 95, 250, 145, 36, 47, 65, 90, 70, 140 };

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

                    cabecera(reporte, bf, tabla, "Reporte de Cuentas por Cobrar", 1);
                    for (int ren = 0; ren < t_datos.getRowCount(); ren++) {
                        for (int col = 0; col < t_datos.getColumnCount(); col++) {
                            try {
                                if (col == 1) {
                                    String[] vec = t_datos.getValueAt(ren, col).toString().split("T");
                                    if (vec.length > 0)
                                        tabla.addCell(reporte.celda(vec[0], font, contenido, derecha, 0, 1,
                                                Rectangle.RECTANGLE));
                                    else
                                        tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1,
                                                Rectangle.RECTANGLE));
                                } else {
                                    if (col == 7)
                                        tabla.addCell(reporte.celda(
                                                formatoPorcentaje.format(t_datos.getValueAt(ren, col)), 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));
                                }
                            } catch (Exception e) {
                                tabla.addCell(reporte.celda("", font, contenido, izquierda, 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:de.beimax.talenttree.PDFGenerator.java

License:Open Source License

/**
 * Load fonts//from ww  w. jav  a  2 s .co  m
 * @throws Exception
 */
protected void loadFonts() throws Exception {
    // try header font
    try {
        fontHeader = BaseFont.createFont(getClass().getResource("/fonts/LeagueGothic-Regular.otf").toString(),
                BaseFont.WINANSI, BaseFont.EMBEDDED);
    } catch (Exception e) {
        throw new Exception("Header font could not be loaded.");
    }

    // try regular font
    try {
        fontRegular = BaseFont.createFont(
                getClass().getResource("/fonts/LiberationSans-Regular.ttf").toString(), BaseFont.WINANSI,
                BaseFont.EMBEDDED);
    } catch (Exception e) {
        throw new Exception("Regular font could not be loaded.");
    }

    // try bold font
    try {
        fontBold = BaseFont.createFont(getClass().getResource("/fonts/LiberationSans-Bold.ttf").toString(),
                BaseFont.WINANSI, BaseFont.EMBEDDED);
    } catch (Exception e) {
        throw new Exception("Bold font could not be loaded.");
    }

    // try regular condensed font
    try {
        fontCondensedRegular = BaseFont.createFont(
                getClass().getResource("/fonts/LiberationSansNarrow-Regular.ttf").toString(), BaseFont.WINANSI,
                BaseFont.EMBEDDED);
    } catch (Exception e) {
        throw new Exception("Regular font could not be loaded.");
    }

    // try bold condensed font
    try {
        fontCondensedBold = BaseFont.createFont(
                getClass().getResource("/fonts/LiberationSansNarrow-Bold.ttf").toString(), BaseFont.WINANSI,
                BaseFont.EMBEDDED);
    } catch (Exception e) {
        throw new Exception("Bold font could not be loaded.");
    }

    // try symbol font
    try {
        fontSymbol = BaseFont.createFont(getClass().getResource("/fonts/EotE_Symbol-Regular_v1.otf").toString(),
                BaseFont.WINANSI, BaseFont.EMBEDDED);
    } catch (Exception e) {
        throw new Exception("Symbol font could not be loaded.");
    }
}

From source file:dk.dma.epd.common.util.FALPDFGenerator.java

License:Apache License

public void generateFal1Form(FALForm1 fal1form, String filename) {

    try {//from   ww w  .j a  v a  2s. c o  m

        PdfReader pdfReader = new PdfReader("FALForm1.pdf");

        FileOutputStream fileWriteStream = new FileOutputStream(filename);

        PdfStamper pdfStamper = new PdfStamper(pdfReader, fileWriteStream);

        for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) {

            PdfContentByte content = pdfStamper.getUnderContent(i);

            // Text over the existing page
            BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED);
            content.beginText();
            content.setFontAndSize(bf, 8);

            int xFirstColum = 68;
            int xSecondColum = 314;

            int startYFirstColumn = 659;

            int startYSecondColumn = 659;

            // Arrival Depature
            if (fal1form.isArrival()) {
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 316, 690, 0);
            } else {
                // Departure
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 380, 690, 0);
            }

            // Name and Type of ship
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fal1form.getNameAndTypeOfShip(), xFirstColum,
                    startYFirstColumn, 0);

            // IMO Number
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fal1form.getImoNumber(), xSecondColum,
                    startYSecondColumn, 0);

            // Call Sign
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fal1form.getCallSign(), xFirstColum,
                    startYFirstColumn - 30, 0);

            // Voyage Number
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fal1form.getVoyageNumber(), xSecondColum,
                    startYSecondColumn - 30, 0);

            // Port of Arrival/depature
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fal1form.getPortOfArrivalDeapture(), xFirstColum,
                    startYFirstColumn - 60, 0);

            // Date and time of arrival/depature
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fal1form.getDateAndTimeOfArrivalDepature(),
                    xSecondColum, startYFirstColumn - 60, 0);

            // Flag State of ship
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fal1form.getFlagStateOfShip(), xFirstColum,
                    startYFirstColumn - 90, 0);

            // Name of Master
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fal1form.getNameOfMaster(), xFirstColum + 135,
                    startYFirstColumn - 90, 0);

            // Last port of call/next port of all
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fal1form.getLastPortOfCall(), xSecondColum,
                    startYFirstColumn - 90, 0);

            // Certificate of registry
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fal1form.getCertificateOfRegistry(), xFirstColum,
                    startYFirstColumn - 120, 0);

            String nameAndContact = fal1form.getNameAndContactDetalsOfShipsAgent();

            addMultiLine(nameAndContact, startYFirstColumn, xSecondColum, content, 54, 120);

            // Gross Tonnage
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fal1form.getGrossTonnage(), xFirstColum,
                    startYFirstColumn - 150, 0);

            // Net Tonnage
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fal1form.getNetTonnage(), xFirstColum + 135,
                    startYFirstColumn - 150, 0);

            // Position of the ship in the port
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fal1form.getPositionOfTheShip(), xFirstColum,
                    startYFirstColumn - 180, 0);

            // Brief particulars of voyage
            String briefVoyageParticulars = fal1form.getBriefParticulars();

            addMultiLine(briefVoyageParticulars, startYFirstColumn, xFirstColum, content, 140, 210);

            // Brief particulars of cargo
            String briefCargoParticulars = fal1form.getBriefDescriptionOfCargo();

            addMultiLine(briefCargoParticulars, startYFirstColumn, xFirstColum, content, 140, 257);

            // Number of Crew
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fal1form.getNumberOfCrew(), xFirstColum,
                    startYFirstColumn - 305, 0);

            // Number of Passengers
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fal1form.getNumberOfPassengers(),
                    xFirstColum + 130, startYFirstColumn - 305, 0);

            // Remarks
            String remarks = fal1form.getRemarks();
            addMultiLine(remarks, startYFirstColumn, xSecondColum, content, 54, 305);

            // Ship waste requirements
            String wasteRequirements = fal1form.getShipWasteRequirements();
            addMultiLine(wasteRequirements, startYFirstColumn, xSecondColum, content, 54, 405);

            content.endText();
        }

        pdfStamper.close();
        fileWriteStream.close();
        fileWriteStream.flush();

    } catch (IOException e) {
        e.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    }

}

From source file:EplanPrinter.PDFPrint.java

License:Open Source License

public String insertComment(String sx, String sy, String id, String deptValue, String userInit, String comment,
        int pageNum, int masterHeight, int masterWidth, int pinned, int customFontSize)
        throws DocumentException, IOException {
    float ratio = getRatio(masterHeight, masterWidth, pageNum);
    float x = Float.parseFloat(sx);
    float y = Float.parseFloat(sy);
    float[] f = commentTrans(x, y, masterHeight, masterWidth, pageNum);
    PdfGState gs1 = new PdfGState();
    gs1.setFillOpacity(1);//  w  w  w .j  ava 2s.c  om
    if (customFontSize > 0)
        fontSize = customFontSize;

    PdfContentByte fg = pds.getOverContent(pageNum);
    fg.setGState(gs1);
    BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
    float[] trans = translate(x, y, r[pageNum - 1].getHeight(), r[pageNum - 1].getWidth(), masterHeight,
            masterWidth, pageNum);
    // comment tag image (width=35pts, height=8pts)
    float[] scalar = scale(trans[0], trans[1], 35, 8, masterHeight, masterWidth, pageNum);

    /* Addition. ftorres - 7/21/2015 - Added to account for rotated pages 
     *   with the origin (0,0) not set to the bottom-left of the page. [1400] */
    float coords[] = translateRotation(trans[0], trans[1], pageNum);
    coords = checkBounds(coords[0], coords[1], pageNum);

    /* Addition. ftorres - 10/20/2015 - If the comment was pinned in EPC, then
     *   render the comment inside a comment box. */
    if (pinned == 1) {
        insertPinnedComment(coords[0], coords[1], id + " - " + deptValue + " (" + userInit + ")", comment,
                pageNum, masterHeight, masterWidth);

        // Add the pinned comment text to page annotation -Jon Changkachith 11/24/2015
        Rectangle rect = new Rectangle(0, 0, 0, 0);
        PdfAnnotation annotation = PdfAnnotation.createText(pds.getWriter(), rect,
                id + " - " + deptValue + " (" + userInit + ")", cleanupComment(comment), true, id);
        pds.addAnnotation(annotation, pds.getWriter().getCurrentPageNumber());
    } else {
        Image image = Image.getInstance(commentIMGPath);
        image.setAbsolutePosition(coords[0] + (scalar[0] * (id.length() / 5f)), coords[1]);

        /*
         * Commented out by Jon Changkachith 12/09/2015 because it was throwing
         * DocumentException with the message "The image must have absolute positioning."
        image.scaleAbsoluteHeight(1);
        image.scaleAbsoluteWidth(1);
        */
        image.scalePercent(ratio); //Added to fix DocumentException "The image must have absolute positioning." Jon Changkachith 12/09/2015
        image.setAnnotation(new Annotation(id + " - " + deptValue + " (" + userInit + ")",
                cleanupComment(comment), 0, 0, 0, 0));
        fg.addImage(image);
    }

    fg.setLineWidth(.5f * ratio);
    fg.setColorStroke(new BaseColor(Color.decode("0x6E2405").getRGB()));
    fg.setColorFill(new BaseColor(Color.decode("0x6E2405").getRGB()));

    float tHeight = scalar[1];
    float tWidth = 0;
    if (id.length() > 3) {
        tWidth = (scalar[0] * (id.length() / 5f));
    } else {
        tWidth = (scalar[0]);
    }

    fg.moveTo(coords[0], coords[1]);
    fg.lineTo(coords[0] + (10f * ratio), coords[1] - (tHeight / 2));
    fg.lineTo(coords[0] + tWidth, coords[1] - (tHeight / 2));
    fg.lineTo(coords[0] + tWidth, coords[1] + (tHeight / 2));
    fg.lineTo(coords[0] + (10f * ratio), coords[1] + (tHeight / 2));

    fg.lineTo(coords[0], coords[1]);
    fg.closePathFillStroke();
    fg.fill();

    // Comment number that goes on the comment tag image
    Phrase p = new Phrase(id);
    p.getFont().setColor(BaseColor.WHITE);
    p.getFont().setSize(8f * ratio); //comment number font size = 8f
    //p.getChunks().get(0).setAnnotation(PdfAnnotation.createText(pds.getWriter(), new Rectangle(trans[0],trans[1], trans[0]+5f, trans[1]+5f), id, comment, true, id));

    float fs[] = translateRotation(f[0], f[1], pageNum);
    fs = checkBounds(fs[0], fs[1], pageNum);
    ColumnText.showTextAligned(fg, Element.ALIGN_LEFT, p, (float) (fs[0] + (9 * ratio)),
            (float) (fs[1] - (3 * ratio)), 0);

    return "";
}