List of usage examples for com.itextpdf.text.pdf BaseFont WINANSI
String WINANSI
To view the source code for com.itextpdf.text.pdf BaseFont WINANSI.
Click Source Link
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 ""; }