List of usage examples for com.itextpdf.text Image getInstance
public static Image getInstance(final Image image)
From source file:be.roots.taconic.pricingguide.util.iTextUtil.java
License:Open Source License
public static Image getImageFromPdf(byte[] pdf) throws IOException, BadElementException { try (final ByteArrayOutputStream bos = new ByteArrayOutputStream()) { final PdfReader reader = new PdfReader(pdf); final PdfReaderContentParser parser = new PdfReaderContentParser(reader); final ImageRenderListener listener = new ImageRenderListener(bos); parser.processContent(1, listener); reader.close();//from www .jav a 2 s.c o m return Image.getInstance(bos.toByteArray()); } }
From source file:be.roots.taconic.pricingguide.util.iTextUtil.java
License:Open Source License
public static Image getImageFromByteArray(byte[] pdf) { try {// w w w . java 2 s . c o m return Image.getInstance(pdf); } catch (BadElementException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; }
From source file:beans.CronogramaPDF.java
private void createPdf(String dest) throws IOException, DocumentException, SQLException { Parametrizacion p = new Parametrizacion(); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream(dest)); document.open();//from w w w.j av a 2 s . c o m PdfPTable table = new PdfPTable(12); BaseColor color = new BaseColor(142, 170, 219); PdfPCell celda; Phrase texto; Font font = new Font(Font.FontFamily.TIMES_ROMAN, 7); Font font1 = new Font(Font.FontFamily.TIMES_ROMAN, 10); table.setWidthPercentage(100); Image img = Image.getInstance(p.getParametro("rutaImgServer") + "logo.png"); celda = new PdfPCell(img, true); celda.setPadding(5); celda.setColspan(4); table.addCell(celda); celda = new PdfPCell(new Phrase( "\n\n\nFecha de creacin: " + dateFormat.format(Calendar.getInstance().getTime()), font1)); celda.setColspan(8); // head.setBackgroundColor(BaseColor.CYAN); table.addCell(celda); celda = new PdfPCell(new Phrase("CRONOGRAMA DE MANTENIMIENTOS", font)); celda.setColspan(112); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("N", font)); celda.setColspan(1); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("CODIGO", font)); celda.setColspan(1); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("FECHA SOLICITUD", font)); celda.setColspan(1); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("EQUIPO", font)); celda.setColspan(3); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("SERVICIO SOLICITADO", font)); celda.setColspan(3); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("ACCIONES A REALIZAR", font)); celda.setColspan(3); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); int i = 1; for (SolicitudDeMantenimiento sM : this.solicitudes) { if (!sM.getEstado().equals("Realizada")) { celda = new PdfPCell(new Phrase(i + "", font)); celda.setColspan(1); table.addCell(celda); celda = new PdfPCell(new Phrase(sM.getCodigo(), font)); celda.setColspan(1); table.addCell(celda); celda = new PdfPCell(new Phrase(sM.getFecha(), font)); celda.setColspan(1); table.addCell(celda); celda = new PdfPCell(new Phrase(sM.getEquipo().getNombre(), font)); celda.setColspan(3); table.addCell(celda); celda = new PdfPCell(new Phrase(sM.getDescripcionServicio(), font)); celda.setColspan(3); table.addCell(celda); celda = new PdfPCell(new Phrase(sM.getDescripcionAcciones(), font)); celda.setColspan(3); table.addCell(celda); i++; } } document.add(table); document.close(); }
From source file:beans.OrdenDeTrabajoPDF.java
private void createPdf(String dest) throws IOException, DocumentException { Parametrizacion p = new Parametrizacion(); this.listaPartes = new JsonParser().parse(ot.getPartes()).getAsJsonArray(); this.listaDescripcionesTrabajos = new JsonParser().parse(ot.getDescripcionesTrabajos()).getAsJsonArray(); this.listaMateriales = new JsonParser().parse(ot.getMateriales()).getAsJsonArray(); Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream(dest)); document.open();/*w ww . j a va 2s . com*/ PdfPTable table = new PdfPTable(12); BaseColor color = new BaseColor(142, 170, 219); PdfPCell celda; Phrase texto; Font font = new Font(Font.FontFamily.TIMES_ROMAN, 10); table.setWidthPercentage(100); Image img = Image.getInstance(p.getParametro("rutaImgServer") + "logo.png"); celda = new PdfPCell(img, true); celda.setPadding(5); celda.setColspan(4); table.addCell(celda); celda = new PdfPCell(new Phrase("ORDEN DE TRABAJO N:" + this.ot.getNumeroOrdenDeTrabajo() + "\nFECHA INICIO:" + this.ot.getFechaInicio() + "\nFECHA FIN:" + this.ot.getFechaFin() + "\nSOLICITUD N:" + this.ot.getSolicitudDeMantenimiento().getCodigo() + "", font)); celda.setColspan(8); // head.setBackgroundColor(BaseColor.CYAN); table.addCell(celda); String tipoSolicitud = ot.getTipoSolicitud(); if (tipoSolicitud.equals("Urgente")) { celda = new PdfPCell(new Phrase("TIPO DE SOLICITUD NORMAL: URGENTE: X", font)); celda.setColspan(12); table.addCell(celda); } else { celda = new PdfPCell(new Phrase("TIPO DE SOLICITUD NORMAL: X URGENTE:", font)); celda.setColspan(12); table.addCell(celda); } if (ot.isDptAdmyControl()) { celda = new PdfPCell(new Phrase( "DTO.ADMS. Y CONTROL DE LA PRODUCCION" + " GENERA ORDEN DE TRABAJO DE MTTO SI:X NO:", font)); celda.setColspan(12); table.addCell(celda); } else { celda = new PdfPCell(new Phrase( "DTO.ADMS. Y CONTROL DE LA PRODUCCION" + " GENERA ORDEN DE TRABAJO DE MTTO SI: NO:X", font)); celda.setColspan(12); table.addCell(celda); } celda = new PdfPCell( new Phrase("CODIGO EQUIPO: " + ot.getSolicitudDeMantenimiento().getEquipo().getCodigo(), font)); celda.setColspan(3); table.addCell(celda); celda = new PdfPCell( new Phrase("NOMBRE EQUIPO: " + ot.getSolicitudDeMantenimiento().getEquipo().getNombre(), font)); celda.setColspan(9); table.addCell(celda); String tipoMantenimiento = ""; for (String element : ot.getTiposDeMantenimiento()) { tipoMantenimiento += element + "\n"; } celda = new PdfPCell(new Phrase("TIPO DE MANTENIMIENTO\n", font)); celda.setColspan(12); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase(tipoMantenimiento, font)); celda.setColspan(12); table.addCell(celda); celda = new PdfPCell(new Phrase("PARTE", font)); celda.setColspan(3); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("ANOMALIA", font)); celda.setColspan(3); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("CAUSA", font)); celda.setColspan(3); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("POSIBLE SOLUCION", font)); celda.setColspan(3); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); for (int i = 0; i < listaPartes.size(); i++) { celda = new PdfPCell(new Phrase( listaPartes.get(i).getAsJsonObject().get("parte").toString().replace("\"", ""), font)); celda.setColspan(3); table.addCell(celda); celda = new PdfPCell(new Phrase( listaPartes.get(i).getAsJsonObject().get("anomalia").toString().replace("\"", ""), font)); celda.setColspan(3); table.addCell(celda); celda = new PdfPCell(new Phrase( listaPartes.get(i).getAsJsonObject().get("causa").toString().replace("\"", ""), font)); celda.setColspan(3); table.addCell(celda); celda = new PdfPCell(new Phrase( listaPartes.get(i).getAsJsonObject().get("solucion").toString().replace("\"", ""), font)); celda.setColspan(3); table.addCell(celda); } celda = new PdfPCell(new Phrase("SOLICTADA POR: " + ot.getSolicitadaPor() + "\n\nFIRMA", font)); celda.setColspan(4); table.addCell(celda); celda = new PdfPCell(new Phrase("REVISADA POR: " + ot.getRevisadaPor() + "\n\nFIRMA", font)); celda.setColspan(4); table.addCell(celda); celda = new PdfPCell(new Phrase("AUTORIZADA POR: " + ot.getAutorizadaPor() + "\n\nFIRMA", font)); celda.setColspan(4); table.addCell(celda); celda = new PdfPCell(new Phrase("N", font)); celda.setColspan(1); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("DESCRIPCIN DE LOS TRABAJOS A REALIZAR", font)); celda.setColspan(11); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); for (int i = 0; i < listaDescripcionesTrabajos.size(); i++) { celda = new PdfPCell(new Phrase((i + 1) + "", font)); celda.setColspan(1); table.addCell(celda); celda = new PdfPCell(new Phrase( listaDescripcionesTrabajos.get(i).getAsJsonObject().get("trabajo").toString().replace("\"", ""), font)); celda.setColspan(11); table.addCell(celda); } celda = new PdfPCell(new Phrase("MATERIALES", font)); celda.setColspan(12); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("N", font)); celda.setColspan(1); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("CANTIDAD", font)); celda.setColspan(2); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("DESCRIPCIN", font)); celda.setColspan(3); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("REFERENCIA", font)); celda.setColspan(2); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("VALOR UNI", font)); celda.setColspan(2); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("VALOR TOTAL", font)); celda.setColspan(2); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); for (int i = 0; i < listaMateriales.size(); i++) { celda = new PdfPCell(new Phrase("" + (1 + i), font)); celda.setColspan(1); table.addCell(celda); celda = new PdfPCell(new Phrase( listaMateriales.get(i).getAsJsonObject().get("cantidad").toString().replace("\"", ""), font)); celda.setColspan(2); table.addCell(celda); celda = new PdfPCell(new Phrase( listaMateriales.get(i).getAsJsonObject().get("descripcion").toString().replace("\"", ""), font)); celda.setColspan(3); table.addCell(celda); celda = new PdfPCell(new Phrase( listaMateriales.get(i).getAsJsonObject().get("referencia").toString().replace("\"", ""), font)); celda.setColspan(2); table.addCell(celda); celda = new PdfPCell(new Phrase( listaMateriales.get(i).getAsJsonObject().get("unitario").toString().replace("\"", ""), font)); celda.setColspan(2); table.addCell(celda); celda = new PdfPCell(new Phrase( listaMateriales.get(i).getAsJsonObject().get("total").toString().replace("\"", ""), font)); celda.setColspan(2); table.addCell(celda); } celda = new PdfPCell(new Phrase("COSTOS", font)); celda.setBackgroundColor(new BaseColor(142, 170, 219)); celda.setColspan(12); table.addCell(celda); celda = new PdfPCell(new Phrase("MANO DE OBRA: $" + ot.getCostoManoDeObra() + "", font)); celda.setColspan(4); table.addCell(celda); celda = new PdfPCell(new Phrase("MATERIALES: $" + ot.getCostoMateriales() + "", font)); celda.setColspan(4); table.addCell(celda); celda = new PdfPCell(new Phrase("TOTAL: $" + ot.getCostoTotal() + "", font)); celda.setColspan(4); table.addCell(celda); celda = new PdfPCell(new Phrase("TIEMPO EMPLEADO", font)); celda.setBackgroundColor(new BaseColor(142, 170, 219)); celda.setColspan(12); table.addCell(celda); celda = new PdfPCell(new Phrase("TOTAL HORAS MTO: " + ot.getTotalHorasMto() + "", font)); celda.setColspan(6); table.addCell(celda); celda = new PdfPCell(new Phrase("TOTAL HORAS PARADA: " + ot.getTotalHorasParada() + "", font)); celda.setColspan(6); table.addCell(celda); celda = new PdfPCell(new Phrase("DESCRIPCIN DE LOS DAOS ENCONTRADOS", font)); celda.setBackgroundColor(new BaseColor(142, 170, 219)); celda.setColspan(12); table.addCell(celda); celda = new PdfPCell(new Phrase("" + ot.getDescripcionDanos(), font)); celda.setColspan(12); table.addCell(celda); celda = new PdfPCell(new Phrase("DESCRIPCIN DE LOS TRABAJOS REALIZADOS", font)); celda.setBackgroundColor(new BaseColor(142, 170, 219)); celda.setColspan(12); table.addCell(celda); celda = new PdfPCell(new Phrase("" + ot.getDescripcionTrabajosRealizados(), font)); celda.setColspan(12); table.addCell(celda); celda = new PdfPCell(new Phrase("OBSERVACIONES Y RECOMENDACIONES", font)); celda.setBackgroundColor(new BaseColor(142, 170, 219)); celda.setColspan(12); table.addCell(celda); celda = new PdfPCell(new Phrase("" + ot.getObservaciones(), font)); celda.setColspan(12); table.addCell(celda); celda = new PdfPCell(new Phrase("EJECUTO: " + ot.getEjecutadoPor() + "\n\nFIRMA", font)); celda.setColspan(6); table.addCell(celda); celda = new PdfPCell(new Phrase("RECIBI Y APROB: " + ot.getRecibidoAprobadoPor() + "\n\nFIRMA", font)); celda.setColspan(6); table.addCell(celda); document.add(table); document.close(); }
From source file:beans.SolicitudDeMantenimientoPDF.java
public void createPdf(String dest) throws IOException, DocumentException { Parametrizacion p = new Parametrizacion(); Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream(dest)); document.open();// w w w. j ava 2 s . co m PdfPTable table = new PdfPTable(12); Font font = new Font(Font.FontFamily.TIMES_ROMAN, 10); PdfPCell celda; table.setWidthPercentage(100); Image img = Image.getInstance(p.getParametro("rutaImgServer") + "logo.png"); celda = new PdfPCell(img, true); celda.setPadding(5); celda.setColspan(4); table.addCell(celda); celda = new PdfPCell(new Phrase("CODIGO: " + sm.getCodigo() + "\nREVISION: " + sm.getRevision() + "\nSOLICITUD DE SERVICIO: " + sm.getSolicitudDeServicio() + "\nFECHA: " + sm.getFecha() + "", font)); celda.setColspan(8); // head.setBackgroundColor(BaseColor.CYAN); table.addCell(celda); celda = new PdfPCell(new Phrase("SECCION", font)); celda.setColspan(4); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("MAQUINA", font)); celda.setColspan(4); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("NOMBRE DEL OPERARIO", font)); celda.setColspan(4); celda.setBackgroundColor(new BaseColor(142, 170, 219)); table.addCell(celda); celda = new PdfPCell(new Phrase("" + sm.getEquipo().getUbicacion(), font)); celda.setColspan(4); table.addCell(celda); celda = new PdfPCell(new Phrase("" + sm.getEquipo().getNombre(), font)); celda.setColspan(4); table.addCell(celda); celda = new PdfPCell(new Phrase("" + sm.getEquipo().getOperario(), font)); celda.setColspan(4); table.addCell(celda); celda = new PdfPCell(new Phrase("SERVICIO SOLICITADO", font)); celda.setBackgroundColor(new BaseColor(142, 170, 219)); celda.setColspan(12); table.addCell(celda); String reparacion = " "; String mtoMecanico = " "; String mtoPreventivo = " "; String mtoElectrico = " "; String mtoCorrectivo = " "; String otros = " "; if (sm.isReparacion()) { reparacion += " X"; } if (sm.isMtoMecanico()) { mtoMecanico += " X"; } if (sm.isMtoPreventivo()) { mtoPreventivo += " X"; } if (sm.isMtoElectrico()) { mtoElectrico += " X"; } if (sm.isMtoCorrectivo()) { mtoCorrectivo += " X"; } if (sm.isOtros()) { otros += " X"; } celda = new PdfPCell(new Phrase("REPARACION", font)); celda.setColspan(3); table.addCell(celda); celda = new PdfPCell(new Phrase(reparacion, font)); celda.setColspan(1); table.addCell(celda); celda = new PdfPCell(new Phrase("MTO. MECANICO", font)); celda.setColspan(3); table.addCell(celda); celda = new PdfPCell(new Phrase(mtoMecanico, font)); celda.setColspan(1); table.addCell(celda); celda = new PdfPCell(new Phrase("MTO. PREVENTIVO", font)); celda.setColspan(3); table.addCell(celda); celda = new PdfPCell(new Phrase(mtoPreventivo, font)); celda.setColspan(1); table.addCell(celda); celda = new PdfPCell(new Phrase("MTO. ELECTRICO", font)); celda.setColspan(3); table.addCell(celda); celda = new PdfPCell(new Phrase(mtoElectrico, font)); celda.setColspan(1); table.addCell(celda); celda = new PdfPCell(new Phrase("MTO. CORRECTIVO", font)); celda.setColspan(3); table.addCell(celda); celda = new PdfPCell(new Phrase(mtoCorrectivo, font)); celda.setColspan(1); table.addCell(celda); celda = new PdfPCell(new Phrase("OTROS", font)); celda.setColspan(3); table.addCell(celda); celda = new PdfPCell(new Phrase(otros, font)); celda.setColspan(1); table.addCell(celda); celda = new PdfPCell(new Phrase("DESCRIPCIN DEL SERVICIO SOLICITADO", font)); celda.setBackgroundColor(new BaseColor(142, 170, 219)); celda.setColspan(12); table.addCell(celda); celda = new PdfPCell(new Phrase("" + sm.getDescripcionServicio(), font)); celda.setColspan(12); table.addCell(celda); celda = new PdfPCell(new Phrase("DESCRIPCIN DE ACCIONES A REALIZAR", font)); celda.setBackgroundColor(new BaseColor(142, 170, 219)); celda.setColspan(12); table.addCell(celda); celda = new PdfPCell(new Phrase("" + sm.getDescripcionAcciones(), font)); celda.setColspan(12); table.addCell(celda); celda = new PdfPCell(new Phrase("MATERIAL A EMPLEAR", font)); celda.setBackgroundColor(new BaseColor(142, 170, 219)); celda.setColspan(12); table.addCell(celda); celda = new PdfPCell(new Phrase("" + sm.getMaterial(), font)); celda.setColspan(12); table.addCell(celda); celda = new PdfPCell(new Phrase("GENERALIDADES", font)); celda.setBackgroundColor(new BaseColor(142, 170, 219)); celda.setColspan(12); table.addCell(celda); celda = new PdfPCell(new Phrase("TOTAL HORAS PARADA: " + sm.getHorasParada() + "", font)); celda.setColspan(6); table.addCell(celda); celda = new PdfPCell(new Phrase("HORA SOLICITUD: " + sm.getHoraSolicitud() + "", font)); celda.setColspan(6); table.addCell(celda); celda = new PdfPCell(new Phrase("TOTAL HORAS MTO: " + sm.getHorasMTO() + "", font)); celda.setColspan(6); table.addCell(celda); celda = new PdfPCell(new Phrase("HORA ENTREGA: " + sm.getHoraEntrega() + "", font)); celda.setColspan(6); table.addCell(celda); celda = new PdfPCell(new Phrase("SERVICIO SOLICITADO POR: " + sm.getSolicitadoPor() + "\n" + "SERVICIO REALIZADO POR: " + sm.getRealizadoPor() + "\n" + "RECIBO A CONFORMIDAD: " + sm.getRecibidoPor() + "\n\n\n FIRMA", font)); celda.setColspan(12); table.addCell(celda); document.add(table); document.close(); }
From source file:bencoding.pdf.ConvertersProxy.java
License:Open Source License
@Kroll.method public TiBlob convertImageToPDF(TiBlob blob, @Kroll.argument(optional = true) Object resolution) throws Exception { TiBlob result = null;//from w w w .ja v a 2 s .co m Bitmap bitmap = null; ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); TiDrawableReference ref = TiDrawableReference.fromBlob(getActivity(), blob); Document document = new Document(); try { PdfWriter.getInstance(document, outputStream); document.open(); bitmap = ref.getBitmap(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); byte[] bitmapdata = stream.toByteArray(); Image image1 = Image.getInstance(bitmapdata); document.add(image1); document.close(); byte[] bytes = outputStream.toByteArray(); result = TiBlob.blobFromData(bytes); return result; } catch (FileNotFoundException e) { e.printStackTrace(); Log.i(PdfModule.MODULE_FULL_NAME, e.toString()); } catch (DocumentException e) { Log.i(PdfModule.MODULE_FULL_NAME, e.toString()); e.printStackTrace(); } finally { if (bitmap != null) { bitmap.recycle(); bitmap = null; } outputStream = null; ref = null; document = null; } return result; }
From source file:biblioteca.database2.controladores.ControladorEstadisticas.java
License:Open Source License
public ArrayList<Element> estadisticasDocumentosDescargados(String dow, String dom, String month, String year, String tipo_usuario, String[] franja, String[] desde, String[] hasta, String area, String autor, String doc_tipo, String usuario, boolean todos, int salida) throws BadElementException, MalformedURLException, IOException { ArrayList<Element> Salida = new ArrayList<Element>(6); BufferedImage bufferedImage;/*from w w w. j a va2 s . c om*/ Image image; ResultSet rs = new DaoEstadisticas().documentosMasDescargados(dow, dom, month, year, tipo_usuario, franja, desde, hasta, area, autor, doc_tipo, usuario, todos); int total = 0; ArrayList<ArrayList<String>> resultadosTabla = biblioteca.reportes.PdfCreator.resultSetToArrayList(rs); ArrayList<String> Array2DtoArrayPlane = biblioteca.reportes.PdfCreator.Array2DtoArrayPlane(resultadosTabla, 1, 2); for (int i = 1; i < resultadosTabla.size(); i++) { total += Integer.parseInt(resultadosTabla.get(i).get(resultadosTabla.get(i).size() - 1)); } PdfPTable tabla = biblioteca.reportes.PdfCreator.arrayListToStatisticTable(resultadosTabla, total, salida); Salida.add(tabla); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph("* Diagrama de Pastel y Diagrama de Barras: Documentos Descargados")); JFreeChart chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(Array2DtoArrayPlane), "Documentos Descargados"); bufferedImage = chart.createBufferedImage(500, 600); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(250, 300); image.setAlignment(Image.MIDDLE); Salida.add(image); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(Array2DtoArrayPlane), "Documentos Descargados", "Identificador Documento", "Numero de Descargados"); bufferedImage = chart.createBufferedImage(1000, 500); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(500, 250); image.setAlignment(Image.MIDDLE); Salida.add(image); return Salida; }
From source file:biblioteca.database2.controladores.ControladorEstadisticas.java
License:Open Source License
public ArrayList<Element> estadisticasDocumentosConsultados(String dow, String dom, String month, String year, String tipo_usuario, String[] franja, String[] desde, String[] hasta, String area, String autor, String doc_tipo, String usuario, boolean todos, int salida) throws BadElementException, MalformedURLException, IOException { ArrayList<Element> Salida = new ArrayList<Element>(6); BufferedImage bufferedImage;/*from w ww .j a va2 s . co m*/ Image image; ResultSet rs = new DaoEstadisticas().documentosMasConsultados(dow, dom, month, year, tipo_usuario, franja, desde, hasta, area, autor, doc_tipo, usuario, todos); int total = 0; ArrayList<ArrayList<String>> resultadosTabla = biblioteca.reportes.PdfCreator.resultSetToArrayList(rs); ArrayList<String> Array2DtoArrayPlane = biblioteca.reportes.PdfCreator.Array2DtoArrayPlane(resultadosTabla, 0, 2); for (int i = 1; i < resultadosTabla.size(); i++) { total += Integer.parseInt(resultadosTabla.get(i).get(resultadosTabla.get(i).size() - 1)); } PdfPTable tabla = biblioteca.reportes.PdfCreator.arrayListToStatisticTable(resultadosTabla, total, salida); Salida.add(tabla); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph("* Diagrama de Pastel y Diagrama de Barras: Documentos Consultados")); JFreeChart chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(Array2DtoArrayPlane), "Documentos Consultados"); bufferedImage = chart.createBufferedImage(500, 600); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(250, 300); image.setAlignment(Image.MIDDLE); Salida.add(image); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(Array2DtoArrayPlane), "Documentos Consultados", "Identificador Documento", "Numero de Consultas"); bufferedImage = chart.createBufferedImage(1000, 500); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(500, 250); image.setAlignment(Image.MIDDLE); Salida.add(image); return Salida; }
From source file:biblioteca.database2.controladores.ControladorEstadisticas.java
License:Open Source License
public ArrayList<Element> estadisticasUsuariosRegistradosMultiplesTablas(boolean dow, boolean dom, boolean mes, String Year, String[] franja, String desde[], String[] hasta, boolean genero, boolean vinculo, boolean tipo, boolean estado, boolean area, int salida) throws BadElementException, MalformedURLException, IOException { BufferedImage bufferedImage;//from w w w . j ava2 s. co m Image image; ResultSet rs; ArrayList<Element> Salida = new ArrayList<Element>(100); ArrayList<Element> images = new ArrayList<Element>(100); DaoEstadisticas controlador = new DaoEstadisticas(); JFreeChart chart; ArrayList<ArrayList<String>> resultadosTabla; ArrayList<String> Array2DtoArrayPlane; PdfPTable tabla = null; int total = 0; if (dow) { ArrayList<String> tmp = controlador.consultarUsuariosRegistradosPorDoW(); float promedio = promedio(tmp, 2); Salida.add(new Paragraph("Resultados para los das de la semana")); Salida.add(new Paragraph("\r\n")); Salida.add( biblioteca.reportes.PdfCreator.plainArrayListToPdfPTable(agregarPorcentajesALista(tmp, 2), 3)); Salida.add(new Paragraph("Promedio " + promedio)); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph( "* Ver Anexo: Diagrama de Pastel: Usuarios Registrados para los dias de la Semana")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(tmp), "Usuarios Registrados para los das de la semana"); bufferedImage = chart.createBufferedImage(400, 300); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(300, 200); image.setAlignment(Image.MIDDLE); images.add(image); images.add(new Paragraph("\r\n")); Salida.add(new Paragraph( "* Ver Anexo: Diagrama de Barras: Usuarios Registrados para los dias de la Semana")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(tmp), "Usuarios Registrados para los das de la semana", "Das de la Semana", "Cantidad de usuarios"); bufferedImage = chart.createBufferedImage(700, 300); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(400, 200); image.setAlignment(Image.MIDDLE); images.add(image); images.add(new Paragraph("\r\n")); } if (dom) { rs = controlador.consultarUsuariosRegistradosPorDoM(); resultadosTabla = biblioteca.reportes.PdfCreator.resultSetToArrayList(rs); Array2DtoArrayPlane = biblioteca.reportes.PdfCreator.Array2DtoArrayPlane(resultadosTabla, 0, 1); for (int i = 1; i < resultadosTabla.size(); i++) total += Integer.parseInt(resultadosTabla.get(i).get(resultadosTabla.get(i).size() - 1)); tabla = biblioteca.reportes.PdfCreator.arrayListToStatisticTable(resultadosTabla, total, salida); Salida.add(new Paragraph("Resultados para los das del mes")); Salida.add(new Paragraph("\r\n")); Salida.add(tabla); Salida.add(new Paragraph("\r\n")); Salida.add( new Paragraph("* Ver Anexo: Diagrama de Pastel: Usuarios Registrados para los dias del mes")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(Array2DtoArrayPlane), "Usuarios Registrados para los das del mes"); bufferedImage = chart.createBufferedImage(500, 600); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(250, 300); image.setAlignment(Image.MIDDLE); images.add(image); images.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(Array2DtoArrayPlane), "Usuarios Registrados para los das del Mes", "Das del mes", "Cantidad de usuarios"); bufferedImage = chart.createBufferedImage(1000, 500); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(500, 250); image.setAlignment(Image.MIDDLE); Salida.add( new Paragraph("* Ver Anexo: Diagrama de Barras: Usuarios Registrados para los dias del mes")); Salida.add(new Paragraph("\r\n")); images.add(image); images.add(new Paragraph("\r\n")); } if (mes) { ArrayList<String> tmp = controlador.consultarUsuariosRegistradosPorMes(); Salida.add(new Paragraph("Resultados para los meses")); Salida.add(new Paragraph("\r\n")); float promedio = promedio(tmp, 2); Salida.add( biblioteca.reportes.PdfCreator.plainArrayListToPdfPTable(agregarPorcentajesALista(tmp, 2), 3)); Salida.add(new Paragraph("Promedio " + promedio)); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph("* Ver Anexo: Diagrama de Pastel: Usuarios Registrados para los meses")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(tmp), "Usuarios Registrados para los meses"); bufferedImage = chart.createBufferedImage(500, 300); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(350, 200); image.setAlignment(Image.MIDDLE); images.add(image); images.add(new Paragraph("\r\n")); Salida.add(new Paragraph("* Ver Anexo: Diagrama de Barras: Usuarios Registrados para los meses")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(tmp), "Usuarios Registrados para los Meses", "Meses", "Cantidad de usuarios"); bufferedImage = chart.createBufferedImage(1000, 600); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(500, 300); image.setAlignment(Image.MIDDLE); images.add(image); images.add(new Paragraph("\r\n")); } if (Year != null) { ArrayList<String> tmp = controlador.consultarUsuariosRegistradosPorYear(Year); Salida.add(new Paragraph("Resultados para el ao seleccionado")); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph("Ao:" + tmp.get(0) + ", Resultados:" + tmp.get(1))); Salida.add(new Paragraph("\r\n")); } if (franja != null) { ArrayList<String> tmp = controlador.consultarUsuariosRegistradosPorFranja(franja[0], franja[1]); Salida.add(new Paragraph("Resultados para la franja seleccionada")); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph("Franja:" + tmp.get(0) + ", Resultados:" + tmp.get(1))); Salida.add(new Paragraph("\r\n")); } if (desde != null && hasta != null) { ArrayList<String> tmp = controlador.consultarUsuariosRegistradosPorIntervalo( desde[0] + "-" + desde[1] + "-" + desde[2], hasta[0] + "-" + hasta[1] + "-" + hasta[2]); Salida.add(new Paragraph("Resultados para el intervalo de tiempo seleccionado")); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph("Intervalo de Tiempo: " + tmp.get(0) + ", Resultados:" + tmp.get(1))); Salida.add(new Paragraph("\r\n")); } if (genero) { rs = controlador.consultarUsuariosRegistradosPorGenero(); resultadosTabla = biblioteca.reportes.PdfCreator.resultSetToArrayList(rs); for (int i = 0; i < resultadosTabla.size(); i++) { if (resultadosTabla.get(i).get(0).equals("F") || resultadosTabla.get(i).get(0).equals("f")) resultadosTabla.get(i).set(0, "Femenino"); if (resultadosTabla.get(i).get(0).equals("M") || resultadosTabla.get(i).get(0).equals("m")) resultadosTabla.get(i).set(0, "Masculino"); if (resultadosTabla.get(i).get(0).equals("N") || resultadosTabla.get(i).get(0).equals("n")) { resultadosTabla.remove(i); } } Array2DtoArrayPlane = biblioteca.reportes.PdfCreator.Array2DtoArrayPlane(resultadosTabla, 0, 1); for (int i = 1; i < resultadosTabla.size(); i++) total += Integer.parseInt(resultadosTabla.get(i).get(resultadosTabla.get(i).size() - 1)); tabla = biblioteca.reportes.PdfCreator.arrayListToStatisticTable(resultadosTabla, total, salida); Salida.add(new Paragraph("Estadisticas de Usuarios Registrados por Genero")); Salida.add(new Paragraph("\r\n")); Salida.add(tabla); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph( "* Ver Anexo: Diagrama de Pastel: Estadisticas de Usuarios Registrados por Genero")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(Array2DtoArrayPlane), "Estadisticas de Usuarios Registrados por Genero"); bufferedImage = chart.createBufferedImage(450, 400); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(250, 200); image.setAlignment(Image.MIDDLE); images.add(image); images.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(Array2DtoArrayPlane), "Estadisticas de Usuarios Registrados por Genero", "Genero", "Cantidad de Usuarios"); bufferedImage = chart.createBufferedImage(400, 400); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(200, 200); image.setAlignment(Image.MIDDLE); Salida.add(new Paragraph( "* Ver Anexo: Diagrama de Barras: Estadisticas de Usuarios Registrados por Genero")); Salida.add(new Paragraph("\r\n")); images.add(image); images.add(new Paragraph("\r\n")); } if (vinculo) { rs = controlador.consultarUsuariosRegistradosPorVinculo(); resultadosTabla = biblioteca.reportes.PdfCreator.resultSetToArrayList(rs); Array2DtoArrayPlane = biblioteca.reportes.PdfCreator.Array2DtoArrayPlane(resultadosTabla, 0, 1); for (int i = 1; i < resultadosTabla.size(); i++) total += Integer.parseInt(resultadosTabla.get(i).get(resultadosTabla.get(i).size() - 1)); tabla = biblioteca.reportes.PdfCreator.arrayListToStatisticTable(resultadosTabla, total, salida); Salida.add(new Paragraph("Estadisticas de Usuarios Registrados por Vinculo")); Salida.add(new Paragraph("\r\n")); Salida.add(tabla); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph( "* Ver Anexo: Diagrama de Pastel: Estadisticas de Usuarios Registrados por Vinculo")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(Array2DtoArrayPlane), "Estadisticas de Usuarios Registrados por Vinculo"); bufferedImage = chart.createBufferedImage(500, 500); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(300, 200); image.setAlignment(Image.MIDDLE); images.add(image); images.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(Array2DtoArrayPlane), "Estadisticas de Usuarios Registrados por Vinculo", "Vinculo", "Cantidad de Usuarios"); bufferedImage = chart.createBufferedImage(500, 400); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(200, 200); image.setAlignment(Image.MIDDLE); Salida.add(new Paragraph( "* Ver Anexo: Diagrama de Barras: Estadisticas de Usuarios Registrados por Vinculo")); Salida.add(new Paragraph("\r\n")); images.add(image); images.add(new Paragraph("\r\n")); } if (tipo) { rs = controlador.consultarUsuariosRegistradosPorTipoUsuario(); resultadosTabla = biblioteca.reportes.PdfCreator.resultSetToArrayList(rs); for (int i = 0; i < resultadosTabla.size(); i++) { if (resultadosTabla.get(i).get(0).equals("3")) resultadosTabla.get(i).set(0, "Normal"); else if (resultadosTabla.get(i).get(0).equals("2")) resultadosTabla.get(i).set(0, "Catalogador"); else if (resultadosTabla.get(i).get(0).equals("1")) resultadosTabla.get(i).set(0, "Administrador"); else if (resultadosTabla.get(i).get(0).equals("0")) resultadosTabla.remove(i); } Array2DtoArrayPlane = biblioteca.reportes.PdfCreator.Array2DtoArrayPlane(resultadosTabla, 0, 1); for (int i = 1; i < resultadosTabla.size(); i++) total += Integer.parseInt(resultadosTabla.get(i).get(resultadosTabla.get(i).size() - 1)); tabla = biblioteca.reportes.PdfCreator.arrayListToStatisticTable(resultadosTabla, total, salida); Salida.add(new Paragraph("Estadisticas de Usuarios Registrados por Tipo de Usuario")); Salida.add(new Paragraph("\r\n")); Salida.add(tabla); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph("* Ver Anexo: Diagrama de Pastel: Estadisticas de Usuarios Tipo de Usuario")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(Array2DtoArrayPlane), "Estadisticas de Usuarios Tipo de Usuario"); bufferedImage = chart.createBufferedImage(450, 400); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(250, 200); image.setAlignment(Image.MIDDLE); images.add(image); images.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(Array2DtoArrayPlane), "Estadisticas de Usuarios Registrados por Tipo de Usuario", "Tipo de Usuario", "Cantidad de Usuarios"); bufferedImage = chart.createBufferedImage(600, 400); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(300, 200); image.setAlignment(Image.MIDDLE); Salida.add(new Paragraph( "* Ver Anexo: Diagrama de Barras: Estadisticas de Usuarios Registrados por Genero")); Salida.add(new Paragraph("\r\n")); images.add(image); images.add(new Paragraph("\r\n")); } if (estado) { rs = controlador.consultarUsuariosRegistradosPorEstado(); resultadosTabla = biblioteca.reportes.PdfCreator.resultSetToArrayList(rs); for (int i = 0; i < resultadosTabla.size(); i++) { if (resultadosTabla.get(i).get(0).equals("t") || resultadosTabla.get(i).get(0).equals("T")) resultadosTabla.get(i).set(0, "Activo"); if (resultadosTabla.get(i).get(0).equals("f") || resultadosTabla.get(i).get(0).equals("F")) resultadosTabla.get(i).set(0, "Inactivo"); } Array2DtoArrayPlane = biblioteca.reportes.PdfCreator.Array2DtoArrayPlane(resultadosTabla, 0, 1); for (int i = 1; i < resultadosTabla.size(); i++) total += Integer.parseInt(resultadosTabla.get(i).get(resultadosTabla.get(i).size() - 1)); tabla = biblioteca.reportes.PdfCreator.arrayListToStatisticTable(resultadosTabla, total, salida); Salida.add(new Paragraph("Estadisticas de Usuarios Registrados por Estado de Cuenta")); Salida.add(new Paragraph("\r\n")); Salida.add(tabla); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph( "* Ver Anexo: Diagrama de Pastel: Estadisticas de Usuarios por Estado de Cuenta")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(Array2DtoArrayPlane), "Estadisticas de Usuarios por Estado de Cuenta"); bufferedImage = chart.createBufferedImage(450, 400); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(250, 200); image.setAlignment(Image.MIDDLE); images.add(image); images.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(Array2DtoArrayPlane), "Estadisticas de Usuarios Registrados por Estado de Cuenta", "Estado de Cuenta", "Cantidad de Usuarios"); bufferedImage = chart.createBufferedImage(600, 400); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(300, 200); image.setAlignment(Image.MIDDLE); Salida.add(new Paragraph( "* Ver Anexo: Diagrama de Barras: Estadisticas de Usuarios Registrados por Estado de Cuenta")); Salida.add(new Paragraph("\r\n")); images.add(image); images.add(new Paragraph("\r\n")); } if (area) { total = 0; rs = controlador.consultarUsuariosRegistradosPorArea(); resultadosTabla = biblioteca.reportes.PdfCreator.resultSetToArrayList(rs); Array2DtoArrayPlane = biblioteca.reportes.PdfCreator.Array2DtoArrayPlane(resultadosTabla, 0, 2); for (int i = 1; i < resultadosTabla.size(); i++) total += Integer.parseInt(resultadosTabla.get(i).get(resultadosTabla.get(i).size() - 1)); tabla = biblioteca.reportes.PdfCreator.arrayListToStatisticTable(resultadosTabla, total, salida); Salida.add(new Paragraph("Areas con ms Documentos Catalogados")); Salida.add(new Paragraph("\r\n")); Salida.add(tabla); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph( "* Ver Anexo Diagrama de Pastel y Diagrama de Barras para Areas con ms Documentos Catalogados")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(Array2DtoArrayPlane), "Areas con ms Documentos Catalogados"); bufferedImage = chart.createBufferedImage(600, 600); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(300, 300); image.setAlignment(Image.MIDDLE); images.add(image); images.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(Array2DtoArrayPlane), "Areas con ms Documentos Catalogados", "Area_ID", "Numero de Documentos Catalogados"); bufferedImage = chart.createBufferedImage(900, 500); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(450, 250); image.setAlignment(Image.MIDDLE); images.add(image); images.add(new Paragraph("\r\n")); } if (!images.isEmpty()) { Salida.add(new Paragraph("Anexos:")); Salida.add(new Paragraph("\r\n")); } for (int i = 0; i < images.size(); i++) { Salida.add(images.get(i)); } return Salida; }
From source file:biblioteca.database2.controladores.ControladorEstadisticas.java
License:Open Source License
public ArrayList<Element> ConsultarDocumentosCatalogados(boolean dow, boolean dom, boolean month, String year, String[] franja, String[] desde, String[] Hasta, boolean area, boolean autor, boolean doc_tipo, boolean pc, boolean usuario, int salida) throws BadElementException, MalformedURLException, IOException { ArrayList<Element> Salida = new ArrayList<Element>(100); ArrayList<Element> Images = new ArrayList<Element>(100); DaoEstadisticas controlador = new DaoEstadisticas(); ResultSet rs;// w ww. ja va 2 s. c om JFreeChart chart; BufferedImage bufferedImage; Image image; ArrayList<ArrayList<String>> resultadosTabla; ArrayList<String> Array2DtoArrayPlane; PdfPTable tabla = null; int total = 0; if (dow) { ArrayList<String> tmp = controlador.consultarDocumentosCatalogadosPorDoW(); float promedio = promedio(tmp, 2); Salida.add(new Paragraph("Resultados de Documentos Catalogados para los das de la semana")); Salida.add(new Paragraph("\r\n")); Salida.add( biblioteca.reportes.PdfCreator.plainArrayListToPdfPTable(agregarPorcentajesALista(tmp, 2), 3)); Salida.add(new Paragraph("Promedio " + promedio)); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph( "* Ver Anexo: Diagrama de Pastel: Documentos Catalogados para los dias de la Semana")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(tmp), "Documentos Catalogados para los Das de la Semana"); bufferedImage = chart.createBufferedImage(400, 300); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(300, 200); image.setAlignment(Image.MIDDLE); Images.add(image); Images.add(new Paragraph("\r\n")); Salida.add(new Paragraph( "* Ver Anexo: Diagrama de Barras: Documentos Catalogados para los Das de la Semana")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(tmp), "Documentos Catalogados para los Das de la Semana", "Das de la Semana", "Cantidad de Documentos Catalogados"); bufferedImage = chart.createBufferedImage(700, 300); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(400, 200); image.setAlignment(Image.MIDDLE); Images.add(image); Images.add(new Paragraph("\r\n")); } if (dom) { rs = controlador.consultarDocumentosCatalogadosPorDoM(); resultadosTabla = biblioteca.reportes.PdfCreator.resultSetToArrayList(rs); Array2DtoArrayPlane = biblioteca.reportes.PdfCreator.Array2DtoArrayPlane(resultadosTabla, 0, 1); for (int i = 1; i < resultadosTabla.size(); i++) total += Integer.parseInt(resultadosTabla.get(i).get(resultadosTabla.get(i).size() - 1)); tabla = biblioteca.reportes.PdfCreator.arrayListToStatisticTable(resultadosTabla, total, salida); Salida.add(new Paragraph("Resultados de Documentos Catalogados para los das del mes")); Salida.add(new Paragraph("\r\n")); Salida.add(tabla); Salida.add(new Paragraph("\r\n")); Salida.add( new Paragraph("* Ver Anexo: Diagrama de Pastel: Documentos Catalogados para los dias del mes")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(Array2DtoArrayPlane), "Documentos Catalogados para los das del mes"); bufferedImage = chart.createBufferedImage(500, 600); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(250, 300); image.setAlignment(Image.MIDDLE); Images.add(image); Images.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(Array2DtoArrayPlane), "Documentos Catalogados para los das del Mes", "Das del mes", "Documentos Catalogados"); bufferedImage = chart.createBufferedImage(1000, 500); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(500, 250); image.setAlignment(Image.MIDDLE); Salida.add( new Paragraph("* Ver Anexo: Diagrama de Barras: Documentos Catalogados para los dias del mes")); Salida.add(new Paragraph("\r\n")); Images.add(image); Images.add(new Paragraph("\r\n")); } if (month) { ArrayList<String> tmp = controlador.consultarDocumentosCatalogadosPorMes(); Salida.add(new Paragraph("Resultados de Documentos Catalogados para los meses")); Salida.add(new Paragraph("\r\n")); float promedio = promedio(tmp, 2); Salida.add( biblioteca.reportes.PdfCreator.plainArrayListToPdfPTable(agregarPorcentajesALista(tmp, 2), 3)); Salida.add(new Paragraph("Promedio " + promedio)); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph("* Ver Anexo: Diagrama de Pastel: Documentos Catalogados para los meses")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(tmp), "Documentos Catalogados para los meses"); bufferedImage = chart.createBufferedImage(500, 300); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(350, 200); image.setAlignment(Image.MIDDLE); Images.add(image); Images.add(new Paragraph("\r\n")); Salida.add(new Paragraph("* Ver Anexo: Diagrama de Barras: Documentos Catalogados para los meses")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(tmp), "Documentos Catalogados para los Meses", "Meses", "Documentos Catalogados"); bufferedImage = chart.createBufferedImage(1000, 600); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(500, 300); image.setAlignment(Image.MIDDLE); Images.add(image); Images.add(new Paragraph("\r\n")); } if (year != null) { ArrayList<String> tmp = controlador.consultarDocumentosCatalogadosPorYear(year); Salida.add(new Paragraph("Resultados para el ao seleccionado")); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph("Ao: " + tmp.get(0) + ", Resultados:" + tmp.get(1))); Salida.add(new Paragraph("\r\n")); } if (franja != null) { ArrayList<String> tmp = controlador.consultarDocumentosCatalogadosPorFranja(franja[0], franja[1]); Salida.add(new Paragraph("Resultados para la franja seleccionada")); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph("Franja:" + tmp.get(0) + ", Resultados:" + tmp.get(1))); Salida.add(new Paragraph("\r\n")); } if (desde != null && Hasta != null) { ArrayList<String> tmp = controlador.consultarDocumentosCatalogadosPorIntervalo( desde[0] + "-" + desde[1] + "-" + desde[2], Hasta[0] + "-" + Hasta[1] + "-" + Hasta[2]); Salida.add(new Paragraph("Resultados para el intervalo de tiempo seleccionado")); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph("Intervalo de Tiempo: " + tmp.get(0) + ", Resultados:" + tmp.get(1))); Salida.add(new Paragraph("\r\n")); } if (area) { total = 0; rs = controlador.consultarDocumentosCatalogadosPorArea(); resultadosTabla = biblioteca.reportes.PdfCreator.resultSetToArrayList(rs); Array2DtoArrayPlane = biblioteca.reportes.PdfCreator.Array2DtoArrayPlane(resultadosTabla, 0, 2); for (int i = 1; i < resultadosTabla.size(); i++) total += Integer.parseInt(resultadosTabla.get(i).get(resultadosTabla.get(i).size() - 1)); tabla = biblioteca.reportes.PdfCreator.arrayListToStatisticTable(resultadosTabla, total, salida); Salida.add(new Paragraph("Areas con ms Documentos Catalogados")); Salida.add(new Paragraph("\r\n")); Salida.add(tabla); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph( "* Ver Anexo Diagrama de Pastel y Diagrama de Barras para Areas con ms Documentos Catalogados")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(Array2DtoArrayPlane), "Areas con ms Documentos Catalogados"); bufferedImage = chart.createBufferedImage(600, 600); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(300, 300); image.setAlignment(Image.MIDDLE); Images.add(image); Images.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(Array2DtoArrayPlane), "Areas con ms Documentos Catalogados", "Area_ID", "Numero de Documentos Catalogados"); bufferedImage = chart.createBufferedImage(900, 500); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(450, 250); image.setAlignment(Image.MIDDLE); Images.add(image); Images.add(new Paragraph("\r\n")); } if (autor) { total = 0; rs = controlador.consultarDocumentosCatalogadosPorAutor(); resultadosTabla = biblioteca.reportes.PdfCreator.resultSetToArrayList(rs); Array2DtoArrayPlane = biblioteca.reportes.PdfCreator.Array2DtoArrayPlane(resultadosTabla, 1, 3); for (int i = 1; i < resultadosTabla.size(); i++) total += Integer.parseInt(resultadosTabla.get(i).get(resultadosTabla.get(i).size() - 1)); tabla = biblioteca.reportes.PdfCreator.arrayListToStatisticTable(resultadosTabla, total, salida); Salida.add(new Paragraph("Autores con ms Documentos Catalogados")); Salida.add(new Paragraph("\r\n")); Salida.add(tabla); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph( "* Ver Anexo Diagrama de Pastel y Diagrama de Barras para Autores con ms Documentos Catalogados")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(Array2DtoArrayPlane), "Autores con ms Documentos Catalogados"); bufferedImage = chart.createBufferedImage(600, 600); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(300, 300); image.setAlignment(Image.MIDDLE); Images.add(image); Images.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(Array2DtoArrayPlane), "Autores con ms Documentos Catalogados", "Nombre Autor", "Numero de Documentos Catalogados"); bufferedImage = chart.createBufferedImage(1000, 600); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(400, 300); image.setAlignment(Image.MIDDLE); Images.add(image); Images.add(new Paragraph("\r\n")); } if (doc_tipo) { total = 0; rs = controlador.consultarDocumentosCatalogadosPorTipoMaterial(); resultadosTabla = biblioteca.reportes.PdfCreator.resultSetToArrayList(rs); Array2DtoArrayPlane = biblioteca.reportes.PdfCreator.Array2DtoArrayPlane(resultadosTabla, 0, 1); for (int i = 1; i < resultadosTabla.size(); i++) total += Integer.parseInt(resultadosTabla.get(i).get(resultadosTabla.get(i).size() - 1)); tabla = biblioteca.reportes.PdfCreator.arrayListToStatisticTable(resultadosTabla, total, salida); Salida.add(new Paragraph("Tipos de Material con ms Documentos Catalogados")); Salida.add(new Paragraph("\r\n")); Salida.add(tabla); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph( "* Ver Anexo Diagrama de Pastel y Diagrama de Barras para Tipos de Material con ms Documentos Catalogados")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(Array2DtoArrayPlane), "Tipos de Material con ms Documentos Catalogados"); bufferedImage = chart.createBufferedImage(600, 600); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); bufferedImage = chart.createBufferedImage(300, 300); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.setAlignment(Image.MIDDLE); Images.add(image); Images.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(Array2DtoArrayPlane), "Tipos de Material con ms Documentos Catalogados", "Tipo de Material", "Numero de Documentos Catalogados"); bufferedImage = chart.createBufferedImage(900, 500); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(450, 250); image.setAlignment(Image.MIDDLE); Images.add(image); Images.add(new Paragraph("\r\n")); } if (pc) { total = 0; rs = controlador.consultarDocumentosCatalogadosPorPalabraClave(); resultadosTabla = biblioteca.reportes.PdfCreator.resultSetToArrayList(rs); Array2DtoArrayPlane = biblioteca.reportes.PdfCreator.Array2DtoArrayPlane(resultadosTabla, 0, 1); for (int i = 1; i < resultadosTabla.size(); i++) total += Integer.parseInt(resultadosTabla.get(i).get(resultadosTabla.get(i).size() - 1)); tabla = biblioteca.reportes.PdfCreator.arrayListToStatisticTable(resultadosTabla, total, salida); Salida.add(new Paragraph("Palabras Clave con ms Documentos Catalogados")); Salida.add(new Paragraph("\r\n")); Salida.add(tabla); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph( "* Ver Anexo Diagrama de Pastel y Diagrama de Barras para Palabras Clave con ms Documentos Catalogados")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(Array2DtoArrayPlane), "Palabras Clave con ms Documentos Catalogados"); bufferedImage = chart.createBufferedImage(500, 500); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(250, 250); image.setAlignment(Image.MIDDLE); Images.add(image); Images.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(Array2DtoArrayPlane), "Palabras Clave con ms Documentos Catalogados", "Palabras Clave", "Numero de Documentos Catalogados"); bufferedImage = chart.createBufferedImage(900, 500); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(450, 250); Images.add(image); Images.add(new Paragraph("\r\n")); } if (usuario) { total = 0; rs = controlador.consultarDocumentosCatalogadosPorUsuarios(); resultadosTabla = biblioteca.reportes.PdfCreator.resultSetToArrayList(rs); Array2DtoArrayPlane = biblioteca.reportes.PdfCreator.Array2DtoArrayPlane(resultadosTabla, 0, 2); for (int i = 1; i < resultadosTabla.size(); i++) total += Integer.parseInt(resultadosTabla.get(i).get(resultadosTabla.get(i).size() - 1)); tabla = biblioteca.reportes.PdfCreator.arrayListToStatisticTable(resultadosTabla, total, salida); Salida.add(new Paragraph("Usuarios que mas Catalogan Documentos")); Salida.add(new Paragraph("\r\n")); Salida.add(tabla); Salida.add(new Paragraph("\r\n")); Salida.add(new Paragraph( "* Ver Anexo Diagrama de Pastel y Diagrama de Barras para Usuarios que mas Catalogan")); Salida.add(new Paragraph("\r\n")); chart = ChartCreator.generatePieChart(ChartCreator.asignarPieDataset(Array2DtoArrayPlane), "Usuarios que mas Catalogan"); bufferedImage = chart.createBufferedImage(500, 500); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(250, 250); image.setAlignment(Image.MIDDLE); Images.add(image); Images.add(new Paragraph("\r\n")); chart = ChartCreator.generateBarChart(ChartCreator.asignarBarDataset(Array2DtoArrayPlane), "Usuarios que mas Catalogan", "Username", "Numero de Documentos Catalogados"); bufferedImage = chart.createBufferedImage(900, 500); image = Image.getInstance(EncoderUtil.encode(bufferedImage, "png")); image.scaleAbsolute(450, 250); image.setAlignment(Image.MIDDLE); Images.add(image); Images.add(new Paragraph("\r\n")); } if (!Images.isEmpty()) { Salida.add(new Paragraph("Anexos:")); Salida.add(new Paragraph("\r\n")); } for (int i = 0; i < Images.size(); i++) { Salida.add(Images.get(i)); } return Salida; }