Example usage for com.itextpdf.text Image setAlignment

List of usage examples for com.itextpdf.text Image setAlignment

Introduction

In this page you can find the example usage for com.itextpdf.text Image setAlignment.

Prototype


public void setAlignment(final int alignment) 

Source Link

Document

Sets the alignment for the image.

Usage

From source file:imprimer.java

public void imagee(Document document) throws Exception {
    URL imageUrl = getClass().getProtectionDomain().getCodeSource().getLocation();
    System.out.println(imageUrl);
    Image image = Image.getInstance(imageUrl + "logo.png");
    image.scaleAbsolute(224, 70);/*  w w w .  j  av  a  2s .  c  o  m*/
    image.setAlignment(Image.MIDDLE);
    document.add(image);

}

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;// w w w  .java 2  s  .co m
    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  w  w  .  java  2  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  av  a 2 s  . c  o 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;/*from  w  w  w .j  a  v a 2 s  .  co m*/
    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;
}

From source file:biblioteca.reportes.PdfCreator.java

License:Open Source License

/**
 * createPdf es una funcin estatica que funciona como plantilla para generar
 * reportes dinamicos, segn la necesidad del usuario.
 * @param path La direccin del archivo donde se guardar el pdf
 * @param titulo El Ttulo que llevar el pdf
 * @param encabezado Un texto que se mostrar bajo el ttulo
 * @param tabla La tabla de resultados que mostrar el pdf
 *//*w w  w.jav a  2  s  .  c o m*/
static public void createPdf(String path, String titulo, String encabezado, PdfPTable tabla) {
    Document document = new Document();
    // step 2
    try {
        PdfWriter.getInstance(document, new FileOutputStream(path));
        Font myFontTitle = new Font();
        myFontTitle.setFamily("Arial");
        myFontTitle.setStyle(Font.BOLD);
        myFontTitle.setSize(14);
        Font Univallef = new Font();
        Univallef.setColor(BaseColor.RED);
        Univallef.setFamily("Arial");
        Univallef.setSize(18);
        Image header = Image
                .getInstance(PdfCreator.class.getResource("/biblioteca/gui/resources/minilogo.png"));
        header.setAlignment(Image.ALIGN_CENTER);
        header.scaleToFit(50, 75);
        Paragraph Univalle = new Paragraph("Universidad del Valle", Univallef);
        Univalle.setAlignment(Paragraph.ALIGN_CENTER);
        Paragraph pTitulo = new Paragraph(titulo, myFontTitle);
        pTitulo.setAlignment(Paragraph.ALIGN_CENTER);
        Paragraph biblioteca = new Paragraph("Biblioteca Digital EISC", myFontTitle);
        biblioteca.setAlignment(Paragraph.ALIGN_CENTER);
        Paragraph developers = new Paragraph(
                "Desarrollado por:\n Mara Cristina Bustos \n Alejandro Valds Villada", myFontTitle);
        developers.setAlignment(Paragraph.ALIGN_CENTER);
        Paragraph Fecha = new Paragraph("Fecha y Hora del Reporte: " + fecha, myFontTitle);
        document.open();
        // step 4
        document.add(header);
        document.add(new Paragraph("\r\n"));
        document.add(Univalle);
        document.add(new Paragraph("\r\n"));
        document.add(pTitulo);
        document.add(new Paragraph("\r\n"));
        document.add(biblioteca);
        document.add(new Paragraph("\r\n"));
        document.add(developers);
        document.add(new Paragraph("\r\n"));
        document.add(Fecha);
        document.add(new Paragraph("\r\n"));
        document.add(new Paragraph(encabezado + (tabla.getRows().size() - 1)));
        document.add(new Paragraph("\r\n"));
        document.add(tabla);
        // step 5
        document.close();
    } catch (DocumentException de) {
        System.err.println(de);
    } catch (IOException ioex) {
        System.err.println(ioex);
    }
}

From source file:biblioteca.reportes.PdfCreator.java

License:Open Source License

static public void createArrayListPdf(String path, String titulo, String encabezado,
        ArrayList<PdfPTable> tablas) {
    Document document = new Document();
    ArrayList<String> NombreTablas = new DaoReportesEstadisticas().getNombreTablas();
    //step 2/*from  ww  w. java2s.  co  m*/
    try {
        PdfWriter.getInstance(document, new FileOutputStream(path));
        Font myFontTitle = new Font();
        myFontTitle.setFamily("Arial");
        myFontTitle.setStyle(Font.BOLD);
        myFontTitle.setSize(12);
        Font Univallef = new Font();
        Univallef.setColor(BaseColor.RED);
        Univallef.setFamily("Arial");
        Univallef.setSize(18);
        Image header = Image
                .getInstance(PdfCreator.class.getResource("/biblioteca/gui/resources/minilogo.png"));
        header.setAlignment(Image.ALIGN_CENTER);
        header.scaleToFit(50, 75);
        Paragraph Univalle = new Paragraph("Universidad del Valle", Univallef);
        Univalle.setAlignment(Paragraph.ALIGN_CENTER);
        Paragraph pTitulo = new Paragraph(titulo, myFontTitle);
        pTitulo.setAlignment(Paragraph.ALIGN_CENTER);
        Paragraph biblioteca = new Paragraph("Biblioteca Digital EISC", myFontTitle);
        biblioteca.setAlignment(Paragraph.ALIGN_CENTER);
        Paragraph developers = new Paragraph(
                "Desarrollado por:\n Mara Cristina Bustos \n Alejandro Valds Villada", myFontTitle);
        developers.setAlignment(Paragraph.ALIGN_CENTER);
        Paragraph Fecha = new Paragraph("Fecha y Hora de Reporte: " + fecha, myFontTitle);
        document.open();
        // step 4
        document.add(header);
        document.add(new Paragraph("\r\n"));
        document.add(Univalle);
        document.add(new Paragraph("\r\n"));
        document.add(pTitulo);
        document.add(new Paragraph("\r\n"));
        document.add(biblioteca);
        document.add(new Paragraph("\r\n"));
        document.add(developers);
        document.add(new Paragraph("\r\n"));
        document.add(Fecha);
        document.add(new Paragraph("\r\n"));
        for (int i = 0; i < tablas.size(); i++) {
            document.add(new Paragraph(NombreTablas.get(i)));
            document.add(new Paragraph(encabezado + (tablas.get(i).getRows().size() - 1)));
            document.add(new Paragraph("\r\n"));
            document.add(tablas.get(i));
        }
        // step 5
        document.close();
    } catch (DocumentException de) {
        System.err.println(de);
    } catch (IOException ioex) {
        System.err.println(ioex);
    }
}

From source file:biblioteca.reportes.PdfCreator.java

License:Open Source License

static public void createDinamicPdf(String path, String titulo, String encabezado,
        ArrayList<Element> contenido) {
    Document document = new Document();
    //step 2/*from   w  ww  . j  a  v  a 2  s  . co m*/
    try {
        PdfWriter.getInstance(document, new FileOutputStream(path));
        Font myFontTitle = new Font();
        myFontTitle.setFamily("Arial");
        myFontTitle.setStyle(Font.BOLD);
        myFontTitle.setSize(12);
        Font Univallef = new Font();
        Univallef.setColor(BaseColor.RED);
        Univallef.setFamily("Arial");
        Univallef.setSize(18);
        Image header = Image
                .getInstance(PdfCreator.class.getResource("/biblioteca/gui/resources/minilogo.png"));
        header.setAlignment(Image.ALIGN_CENTER);
        header.scaleToFit(50, 75);
        Paragraph Univalle = new Paragraph("Universidad del Valle", Univallef);
        Univalle.setAlignment(Paragraph.ALIGN_CENTER);
        Paragraph pTitulo = new Paragraph(titulo, myFontTitle);
        pTitulo.setAlignment(Paragraph.ALIGN_CENTER);
        Paragraph biblioteca = new Paragraph("Biblioteca Digital EISC", myFontTitle);
        biblioteca.setAlignment(Paragraph.ALIGN_CENTER);
        Paragraph developers = new Paragraph(
                "Desarrollado por:\n Mara Cristina Bustos \n Alejandro Valds Villada", myFontTitle);
        developers.setAlignment(Paragraph.ALIGN_CENTER);
        Paragraph Fecha = new Paragraph("Fecha y Hora de Reporte: " + fecha, myFontTitle);
        //Paragraph Introduccion = new Paragraph("Reporte de usuarios registrados");
        document.open();
        // step 4
        document.add(header);
        document.add(new Paragraph("\r\n"));
        document.add(Univalle);
        document.add(new Paragraph("\r\n"));
        document.add(pTitulo);
        document.add(new Paragraph("\r\n"));
        document.add(biblioteca);
        document.add(new Paragraph("\r\n"));
        document.add(developers);
        document.add(new Paragraph("\r\n"));
        document.add(Fecha);
        document.add(new Paragraph("\r\n"));
        // document.add(Introduccion);
        document.add(new Paragraph("\r\n"));
        for (int i = 0; i < contenido.size(); i++) {
            document.add(contenido.get(i).getClass().equals(new PdfPTable(2).getClass())
                    ? (PdfPTable) contenido.get(i)
                    : contenido.get(i));
        }
        // step 5
        document.close();
    } catch (DocumentException de) {
        System.err.println(de);
    } catch (IOException ioex) {
        System.err.println(ioex);
    }
}

From source file:CadastroDeMusicas.Principal.java

public static void main(String[] args) throws Exception {
    ConecBanco c = new ConecBanco(con);
    Genero g;/*from w  w w . j a  v a  2  s .c om*/
    Artista a1;
    Album a2;
    Musica m;
    String nome, tipo;
    int nota, duracao, ano;
    int opc;
    try {
        new Principal();
    } catch (ClassNotFoundException | SQLException e) {
        System.out.println("No conectado.");
    }

    do {
        opc = Integer.parseInt(JOptionPane.showInputDialog(
                "Informe a OPO:\n1.Inserir\n2.Deletar\n3.Pesquisar\n4.Relatorio em Pdf\n5.Sair"));
        switch (opc) {
        case 1:
            nome = JOptionPane.showInputDialog("Genero: ");
            g = new Genero(nome);
            nome = JOptionPane.showInputDialog("Artista: ");
            a1 = new Artista(nome);
            nome = JOptionPane.showInputDialog("Album: ");
            ano = Integer.parseInt(JOptionPane.showInputDialog("Ano: "));
            a2 = new Album(nome, ano);
            nome = JOptionPane.showInputDialog("Musica: ");
            nota = Integer.parseInt(JOptionPane.showInputDialog("Nota (1/10): "));
            duracao = Integer.parseInt(JOptionPane.showInputDialog("Durao: "));
            m = new Musica(nome, nota, duracao);
            c.cadastrar(g, a1, a2, m);
            break;
        case 2:
            System.out.println("DELETAR MUSICA: ");
            nome = JOptionPane.showInputDialog("Musica: ");
            c.deletar(nome);
            break;
        case 3:
            System.out.println("PESQUISAR MUSICA: ");
            ResultSet rs = ConecBanco.pesquisar();
            if (rs != null) {
                try {
                    while (rs.next()) {
                        System.out.println("MUSICA:  " + rs.getString("nome"));
                        System.out.println("NOTA:  " + rs.getString("nota"));
                        System.out.println("DURAO:  " + rs.getString("duracao"));
                        System.out.println("ALBUM:  " + rs.getString("nomeAL"));
                        System.out.println("ANO:  " + rs.getString("ano"));
                        System.out.println("ARTISTA:  " + rs.getString("nomeAR"));
                        System.out.println("GENERO:  " + rs.getString("nomeGE"));

                    }
                } catch (SQLException e) {
                    System.out.println("Problema para exibir registros!");
                }
            } else {
                System.out.println("A pesquisa no retornou nenhum registro!");
            }
            break;
        case 4:
            Document doc = null;
            OutputStream os = null;
            String add;
            System.out.println("LISTA DE MUSICAS: ");
            try {
                doc = new Document(PageSize.A4, -1, -1, 25, 1) {
                };
                os = new FileOutputStream("Relatorio.pdf");
                PdfWriter.getInstance((com.itextpdf.text.Document) doc, os);
                doc.open();
                Image img = Image.getInstance("images.jpg");
                img.setAlignment(Element.ALIGN_CENTER);
                doc.add(img);
                PdfPTable TB1, TB2, TB3, TB4;
                TB1 = new PdfPTable(2);
                TB2 = new PdfPTable(3);
                TB3 = new PdfPTable(4);
                TB4 = new PdfPTable(5);
                PdfPCell T1, T2, T3, T4, T5;
                T1 = new PdfPCell(new Paragraph("\nCADASTRO DE MUSICAS\n"));
                T1.setColspan(2);
                TB1.addCell(T1);
                T2 = new PdfPCell(new Paragraph("\nGENEROS\n"));
                T2.setColspan(2);
                TB1.addCell(T2);
                ResultSet res, res1, res2, res3;
                res = ConecBanco.relatorioGenero();
                if (res != null) {
                    try {
                        while (res.next()) {
                            TB1.addCell("ID:  " + res.getString("id"));
                            TB1.addCell("NOME:  " + res.getString("nomeGE"));

                        }
                        doc.add(TB1);
                    } catch (SQLException e) {
                        System.out.println("Problema para exibir registros!");
                    }
                } else {
                    System.out.println("A pesquisa no retornou nenhum registro!");
                }
                T3 = new PdfPCell(new Paragraph("\nARTISTAS\n"));
                T3.setColspan(3);
                TB2.addCell(T3);
                res1 = ConecBanco.relatorioArtista();
                if (res1 != null) {
                    try {
                        while (res1.next()) {
                            TB2.addCell("ID:  " + res1.getString("id"));
                            TB2.addCell("NOME:  " + res1.getString("nomeAR"));
                            TB2.addCell("GENERO ID:  " + res1.getString("genero_id"));
                        }
                        doc.add(TB2);
                    } catch (SQLException e) {
                        System.out.println("Problema para exibir registros!");
                    }
                } else {
                    System.out.println("A pesquisa no retornou nenhum registro!");
                }
                T4 = new PdfPCell(new Paragraph("\nALBUM\n"));
                T4.setColspan(4);
                TB3.addCell(T4);
                res2 = ConecBanco.relatorioAlbum();
                if (res2 != null) {
                    try {
                        while (res2.next()) {
                            TB3.addCell("ID:  " + res2.getString("id"));
                            TB3.addCell("NOME:  " + res2.getString("nomeAL"));
                            TB3.addCell("ANO:  " + res2.getString("ano"));
                            TB3.addCell("ARTISTA ID:  " + res2.getString("artista_id"));
                        }
                        doc.add(TB3);
                    } catch (SQLException e) {
                        System.out.println("Problema para exibir registros!");
                    }
                } else {
                    System.out.println("A pesquisa no retornou nenhum registro!");
                }
                T5 = new PdfPCell(new Paragraph("\nMUSICA\n"));
                T5.setColspan(5);
                TB4.addCell(T5);
                res3 = ConecBanco.relatorioMusica();
                if (res3 != null) {
                    try {
                        while (res3.next()) {
                            TB4.addCell("ID:  " + res3.getString("id"));
                            TB4.addCell("NOME:  " + res3.getString("nome"));
                            TB4.addCell("NOTA:  " + res3.getString("nota"));
                            TB4.addCell("DURAO:  " + res3.getString("duracao"));
                            TB4.addCell("ALBUM ID:  " + res3.getString("album_id"));
                        }
                        doc.add(TB4);
                    } catch (SQLException e) {
                        System.out.println("Problema para exibir registros!");
                    }
                } else {
                    System.out.println("A pesquisa no retornou nenhum registro!");
                }
            } finally {
                if (doc != null) {
                    doc.close();
                }
                if (os != null) {
                    os.close();
                }
            }
            break;
        case 5:
            System.out.println("SAINDO...");
            break;
        default:
            System.out.println("OPO INVALIDA!");
        }
    } while (opc != 5);

}

From source file:classes.utils.crearPDF_Depreciacion.java

public String writePDF(String datos, Scene scene)
        throws FileNotFoundException, DocumentException, BadElementException, IOException {

    javafx.scene.control.TextField projectName = (TextField) scene.lookup(CNodeID.TEXTFIELD_PROJECT_NAME);
    String project = projectName.getText();

    StringTokenizer st = new StringTokenizer(datos, "_");

    principal = st.nextToken();/*  w  w w . j a va 2  s  .c om*/
    salvageV = st.nextToken();
    period = st.nextToken();
    tax = st.nextToken();
    periodSalvage = st.nextToken();
    category = st.nextToken();
    data = st.nextToken();

    Document document = new Document(PageSize.LETTER, 80, 80, 50, 50);
    FileOutputStream salida = new FileOutputStream(project + "_depreciation.pdf");
    PdfWriter writer = PdfWriter.getInstance(document, salida);
    writer.setInitialLeading(0);

    Paragraph paragraph = new Paragraph();
    paragraph.setFont(new Font(FontFactory.getFont("Courier", 20, Font.BOLDITALIC, BaseColor.RED)));
    paragraph.add("\n\n\nDEPRECIACION");
    paragraph.setAlignment(Paragraph.ALIGN_CENTER);

    //System.out.println(getClass().getResource("images/logo_report.png"));
    //Image image = Image.getInstance("/home/isaac/IdeaProjects/ProjectEvaluation/src/images/logo_report.png");

    //image.scaleToFit(150, 150);

    Image image1 = Image.getInstance(project + "/" + project + "_DEP_TY.png");

    image1.scaleToFit(300, 300);

    //image.setAlignment(Chunk.ALIGN_RIGHT);
    image1.setAlignment(Chunk.ALIGN_CENTER);

    Paragraph paragraph_2 = new Paragraph();
    paragraph_2.setFont(new Font(FontFactory.getFont("Courier", 12, Font.BOLD, BaseColor.BLUE)));
    paragraph_2.add(
            "\n\n\n\n\n\n\n\n\n\n\nADMINISTRACION Y EVALUACION DE PROYECTOS\n\n SERGIO VALDES TORRES A01365520\n ERIK MARTIN A01365096\nISAAC SECUNDINO A01361162\n IVAN CABRER A01184937");
    paragraph_2.setAlignment(Paragraph.ALIGN_RIGHT);

    Paragraph paragraph_3 = new Paragraph();
    paragraph_3.setFont(new Font(FontFactory.getFont("Courier", 11, Font.BOLD, BaseColor.BLACK)));
    paragraph_3.add("\n " + data);
    paragraph_3.setAlignment(Paragraph.ALIGN_LEFT);

    Paragraph paragraph_5 = new Paragraph();
    paragraph_5.setFont(new Font(FontFactory.getFont("Courier", 6, Font.BOLD, BaseColor.BLUE)));
    paragraph_5.add("\n\nP   DEPRECIATON RATE  ANNUAL DEPRECIATON  CUMMULATIVE DEPRECIATON  VALUE IN LEDGERS ");
    paragraph_5.setAlignment(Paragraph.ALIGN_LEFT);

    Paragraph paragraph_4 = new Paragraph();
    paragraph_4.setFont(new Font(FontFactory.getFont("Courier", 9, Font.BOLD, BaseColor.BLACK)));
    paragraph_4.add("Nombre del Evaluador: \n Principal: " + principal + " \n Salvag Value: " + salvageV
            + " \n Numero de Periodos: " + period + "\n Tax: " + tax + " \n Salvage Period: " + periodSalvage
            + "\n Categoria: " + category);
    paragraph_4.setAlignment(Paragraph.ALIGN_LEFT);

    Paragraph paragraph_6 = new Paragraph();
    paragraph_6.setFont(new Font(FontFactory.getFont("Courier", 15, Font.BOLD, BaseColor.GRAY)));
    paragraph_6.add("\n GRAFICAS\n");
    paragraph_6.setAlignment(Paragraph.ALIGN_CENTER);

    document.open();
    //document.add(image);

    document.add(paragraph);

    document.add(paragraph_4);
    document.add(paragraph_5);
    document.add(paragraph_3);
    document.add(paragraph_6);
    Image image2 = Image.getInstance(project + "/" + project + "_DEP_DR.png");
    Image image3 = Image.getInstance(project + "/" + project + "_DEP_AD.png");
    Image image4 = Image.getInstance(project + "/" + project + "_DEP_ACD.png");
    Image image5 = Image.getInstance(project + "/" + project + "_DEP_LV.png");
    document.add(image2);
    document.add(image3);
    document.add(image4);
    document.add(image5);
    document.add(image1);
    document.add(paragraph_2);
    document.close();
    return null;

}