Example usage for com.itextpdf.text Image MIDDLE

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

Introduction

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

Prototype

int MIDDLE

To view the source code for com.itextpdf.text Image MIDDLE.

Click Source Link

Document

this is a kind of image alignment.

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);/*from   w  w  w.ja  v a 2s  .  c  o m*/
    image.setAlignment(Image.MIDDLE);
    document.add(image);

}

From source file:avalonscrollmaker20.AnothakScroll.java

License:Open Source License

public AnothakScroll(String tagNumber, String tagTitle, String tagSchool) {
    liersethPhrase_Symbol = new ArrayList<Symbol>();
    liersethPhrase_Common = new ArrayList<Word>();
    spellTitle = tagTitle;/*from w ww.j ava2s.c  o m*/
    spellCode = tagNumber.toLowerCase();

    // The "Gesture" will always begin a Lierseth Phrase
    liersethPhrase_Common.add(Word.GESTURE);
    liersethPhrase_Symbol.add(Symbol.GESTURE);

    // Assign [Old/New]School, partial Phrases, and involved Keus
    switch (NewSchool.getValue(tagSchool)) {
    case THEKSO:
        spellOldSchool = OldSchool.ENTHE;
        spellNewSchool = NewSchool.THEKSO;
        sourceKeu = Keu.EDEN;
        liersethPhrase_Common.add(Word.TEMME);
        liersethPhrase_Common.add(Word.THEKSO);
        liersethPhrase_Common.add(Word.EKS);
        liersethPhrase_Common.add(Word.SETT);
        liersethPhrase_Symbol.add(Symbol.TEMME);
        liersethPhrase_Symbol.add(Symbol.THEKSO);
        liersethPhrase_Symbol.add(Symbol.EKS);
        liersethPhrase_Symbol.add(Symbol.SETT);
        break;
    case HETTER:
        spellOldSchool = OldSchool.HEITTUR;
        spellNewSchool = NewSchool.HETTER;
        sourceKeu = Keu.HIECIN;
        liersethPhrase_Common.add(Word.HEPHT);
        liersethPhrase_Common.add(Word.HETTER);
        liersethPhrase_Common.add(Word.TRITE);
        liersethPhrase_Common.add(Word.SETT);
        liersethPhrase_Symbol.add(Symbol.HEPHT);
        liersethPhrase_Symbol.add(Symbol.HETTER);
        liersethPhrase_Symbol.add(Symbol.TRITE);
        liersethPhrase_Symbol.add(Symbol.SETT);
        break;
    case CHATTEN:
        spellOldSchool = OldSchool.EINSET;
        spellNewSchool = NewSchool.CHATTEN;
        sourceKeu = Keu.SEYLIN;
        liersethPhrase_Common.add(Word.FINN);
        liersethPhrase_Common.add(Word.CHATTEN);
        liersethPhrase_Common.add(Word.SIFF);
        liersethPhrase_Common.add(Word.SETT);
        liersethPhrase_Symbol.add(Symbol.FINN);
        liersethPhrase_Symbol.add(Symbol.CHATTEN);
        liersethPhrase_Symbol.add(Symbol.SIFF);
        liersethPhrase_Symbol.add(Symbol.SETT);
        break;
    case XIETEP:
        spellOldSchool = OldSchool.XIKIIL;
        spellNewSchool = NewSchool.XIETEP;
        sourceKeu = Keu.KEUNA;
        liersethPhrase_Common.add(Word.ONK);
        liersethPhrase_Common.add(Word.XIETEP);
        liersethPhrase_Common.add(Word.CIN);
        liersethPhrase_Common.add(Word.SETT);
        liersethPhrase_Symbol.add(Symbol.ONK);
        liersethPhrase_Symbol.add(Symbol.XIETEP);
        liersethPhrase_Symbol.add(Symbol.CIN);
        liersethPhrase_Symbol.add(Symbol.SETT);
        break;
    case TASOL:
        spellOldSchool = OldSchool.TAJEAR;
        spellNewSchool = NewSchool.TASOL;
        sourceKeu = Keu.BIRSIN;
        liersethPhrase_Common.add(Word.LURR);
        liersethPhrase_Common.add(Word.TASOL);
        liersethPhrase_Common.add(Word.RISH);
        liersethPhrase_Common.add(Word.SETT);
        liersethPhrase_Symbol.add(Symbol.LURR);
        liersethPhrase_Symbol.add(Symbol.TASOL);
        liersethPhrase_Symbol.add(Symbol.RISH);
        liersethPhrase_Symbol.add(Symbol.SETT);
        break;
    case OJIIN:
        spellOldSchool = OldSchool.OGININ;
        spellNewSchool = NewSchool.OJIIN;
        sourceKeu = Keu.NORT;
        liersethPhrase_Common.add(Word.SORN);
        liersethPhrase_Common.add(Word.OJIIN);
        liersethPhrase_Common.add(Word.NETT);
        liersethPhrase_Common.add(Word.SETT);
        liersethPhrase_Symbol.add(Symbol.SORN);
        liersethPhrase_Symbol.add(Symbol.OJIIN);
        liersethPhrase_Symbol.add(Symbol.NETT);
        liersethPhrase_Symbol.add(Symbol.SETT);
        break;
    case ZUN:
        spellOldSchool = OldSchool.ZANSIN;
        spellNewSchool = NewSchool.ZUN;
        sourceKeu = Keu.BUUSIN;
        liersethPhrase_Common.add(Word.ZUN);
        liersethPhrase_Symbol.add(Symbol.ZUN);
        break;
    default: // UNDEFINED
        spellOldSchool = OldSchool.UNDEFINED;
        spellNewSchool = NewSchool.UNDEFINED;
        sourceKeu = Keu.UNDEFINED;
        liersethPhrase_Common.add(Word.UNDEFINED);
        liersethPhrase_Common.add(Word.UNDEFINED);
        liersethPhrase_Common.add(Word.UNDEFINED);
        liersethPhrase_Symbol.add(Symbol.UNDEFINED);
        liersethPhrase_Symbol.add(Symbol.UNDEFINED);
        liersethPhrase_Symbol.add(Symbol.UNDEFINED);
        break;
    }

    // The "Effect" will always end a Lierseth Phrase
    liersethPhrase_Common.add(Word.EFFECT);
    liersethPhrase_Symbol.add(Symbol.EFFECT);

    // Check if spell is Pure
    if (spellCode.charAt(0) == 'p') {
        this.elementChar = 1;
        this.schoolChar = 2;
    }

    // Inspect elementChar of spellCode, assign spellElement, elemental Word/Symbol, and
    // backgroundImage
    switch (spellCode.charAt(elementChar)) {
    case 'e' | 'E':
        spellElement = Element.EARTH;
        destinationKeu = Keu.KEUNA;
        liersethPhrase_Common.add(2, Word.URDT);
        liersethPhrase_Symbol.add(2, Symbol.URDT);
        break;
    case 'a' | 'A':
        spellElement = Element.AIR;
        destinationKeu = Keu.SEYLIN;
        liersethPhrase_Common.add(2, Word.FETT);
        liersethPhrase_Symbol.add(2, Symbol.FETT);
        break;
    case 'f' | 'F':
        spellElement = Element.FIRE;
        destinationKeu = Keu.BUUSIN;
        liersethPhrase_Common.add(2, Word.MOL);
        liersethPhrase_Symbol.add(2, Symbol.MOL);
        break;
    case 'w' | 'W':
        spellElement = Element.WATER;
        destinationKeu = Keu.HIECIN;
        liersethPhrase_Common.add(2, Word.MIRN);
        liersethPhrase_Symbol.add(2, Symbol.MIRN);
        break;
    case 'n' | 'N':
        spellElement = Element.NEXUS;
        destinationKeu = Keu.BIRSIN;
        liersethPhrase_Common.add(2, Word.ZEWE);
        liersethPhrase_Symbol.add(2, Symbol.ZEWE);
        break;
    case 'v' | 'V':
        spellElement = Element.VOID;
        destinationKeu = Keu.EDEN;
        liersethPhrase_Common.add(2, Word.THEIT);
        liersethPhrase_Symbol.add(2, Symbol.THEIT);
        break;
    default: // UNDEFINED
        spellElement = Element.UNDEFINED;
        destinationKeu = Keu.UNDEFINED;
        liersethPhrase_Common.add(2, Word.UNDEFINED);
        liersethPhrase_Symbol.add(2, Symbol.UNDEFINED);
        break;
    }

    // Inspect schoolChar of spellCode, assign spellCircle
    switch (spellCode.charAt(schoolChar)) {
    case '1':
        if (schoolChar == 1)
            spellCircle = Circle.FIRST;
        else // schoolChar == 2
            spellCircle = Circle.PURE_FIRST;
        break;
    case '2':
        if (schoolChar == 1)
            spellCircle = Circle.SECOND;
        else // schoolChar == 2
            spellCircle = Circle.PURE_SECOND;
        break;
    case '3':
        if (schoolChar == 1)
            spellCircle = Circle.THIRD;
        else // schoolChar == 2
            spellCircle = Circle.PURE_THIRD;
        break;
    case '4':
        if (schoolChar == 1)
            spellCircle = Circle.FOURTH;
        else // schoolChar == 2
            spellCircle = Circle.PURE_FIRST;
        break;
    case '5':
        if (schoolChar == 1)
            spellCircle = Circle.FIFTH;
        else // schoolChar == 2
            spellCircle = Circle.PURE_FIFTH;
        break;
    case '6':
        if (schoolChar == 1)
            spellCircle = Circle.SIXTH;
        else // schoolChar == 2
            spellCircle = Circle.PURE_SIXTH;
        break;
    case '7': // Insert extra words for Breath Spell
        if (schoolChar == 1)
            spellCircle = Circle.SEVENTH;
        else // schoolChar == 2
            spellCircle = Circle.PURE_SEVENTH;

        liersethPhrase_Common.add(1, Word.O);
        liersethPhrase_Common.add(2, Word.LILIN);
        liersethPhrase_Common.add(3, Word.ANOTHO);
        liersethPhrase_Common.add(4, Word.SEYANRYN);
        liersethPhrase_Common.add(5, Word.UNDEFINED);
        liersethPhrase_Symbol.add(1, Symbol.O);
        liersethPhrase_Symbol.add(2, Symbol.LILIN);
        liersethPhrase_Symbol.add(3, Symbol.ANOTHO);
        liersethPhrase_Symbol.add(4, Symbol.SEYANRYN);
        liersethPhrase_Symbol.add(5, Symbol.UNDEFINED);
        break;
    default: // UNDEFINED
        spellCircle = Circle.UNDEFINED;
        break;
    }

    // Assign backgroundImages
    if (sourceKeu == sourceKeu.UNDEFINED | destinationKeu == destinationKeu.UNDEFINED) {
        backgroundImageFull = null;
        System.err.println("Keus not found!" + "\nSourceKeu = " + sourceKeu.toString().toLowerCase()
                + "\nDestinationKeu = " + destinationKeu.toString().toLowerCase());
    } else {
        try {
            String resourceLocation = "resources/" + sourceKeu.toString().toLowerCase()
                    + destinationKeu.toString().toLowerCase();

            String imageFullURL = this.getClass().getResource(resourceLocation + ".png").toString()
                    .toLowerCase();

            backgroundImageFull = Image.getInstance(imageFullURL);
            backgroundImageFull.setAlignment(Image.MIDDLE | Image.UNDERLYING);
            backgroundImageFull.scaleAbsolute(594, 378);
        } catch (Exception ex) {
            System.err.println(ex + "\nImages for " + sourceKeu.toString() + destinationKeu.toString()
                    + " were not found.");

        }
    }
}

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 ww. j  av  a2 s .  com
    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 . j  a  v  a 2 s  .  com*/
    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;//w w  w .j a  v a  2  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.  j a  v a  2s  .com
    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:com.mycom.products.mywebsite.backend.util.DownloadHandler.java

License:Open Source License

@RequestMapping(value = "/user/{id}", method = RequestMethod.GET)
protected final void downloadUserInformation(@PathVariable int id, HttpServletRequest request,
        final HttpServletResponse response) throws ServletException, BusinessException, DocumentException {
    UserBean user = userService.select(id, FetchMode.EAGER);
    if (user == null) {
        return;//from w  ww  .  j a  v  a2s . c o m
    }
    Document document = new Document();
    document.setMargins(70, 70, 20, 20);

    try {
        response.setContentType("application/pdf");
        response.setHeader("Content-Disposition",
                "attachment; filename=\"" + user.getName() + "_profile.pdf\"");
        PdfWriter.getInstance(document, response.getOutputStream());
        document.open();
        Image profileImage = null;
        try {
            profileImage = Image.getInstance(user.getContent().getFilePath());
        } catch (Exception e) {
            // e.printStackTrace();
        }
        if (profileImage != null) {
            profileImage.setAlignment(Image.MIDDLE | Image.TEXTWRAP);
            profileImage.setBorder(Image.BOX);
            profileImage.setBorderWidth(5);
            BaseColor bgcolor = WebColors.getRGBColor("#E5E3E3");
            profileImage.setBorderColor(bgcolor);
            profileImage.scaleToFit(100, 100);
            document.add(profileImage);
        }
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);

        // Adding Table Data
        PdfPTable table = new PdfPTable(2); // 2 columns.
        table.setWidthPercentage(100); // Width 100%
        table.setSpacingBefore(15f); // Space before table
        table.setSpacingAfter(15f); // Space after table

        // Set Column widths
        float[] columnWidths = { 1f, 2f, };
        table.setWidths(columnWidths);

        // Name
        setTableHeader("Name", table);
        setTableContent(user.getName(), table);

        // Gender
        setTableHeader("Gender", table);
        String gender = "Male";
        if (user.getGender() == Gender.FEMALE) {
            gender = "Female";
        }
        setTableContent(gender, table);

        // Age
        setTableHeader("Age", table);
        setTableContent("" + user.getAge(), table);

        // Date of Birth
        setTableHeader("DOB", table);
        DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
        setTableContent(dateFormatter.format(user.getDob()), table);

        // Email
        setTableHeader("Email", table);
        setTableContent(user.getEmail(), table);

        // NRC
        setTableHeader("NRC", table);
        setTableContent(user.getNrc(), table);

        // Phone
        setTableHeader("Phone", table);
        setTableContent(user.getPhone(), table);

        // Roles
        String roleStr = "";
        List<RoleBean> roles = user.getRoles();
        if (roles != null && roles.size() > 0) {
            Iterator<RoleBean> itr = roles.iterator();
            while (itr.hasNext()) {
                RoleBean role = itr.next();
                roleStr += role.getName();
                if (itr.hasNext()) {
                    roleStr += ",";
                }
            }
        }
        setTableHeader("Role(s)", table);
        setTableContent(roleStr, table);

        // Address
        setTableHeader("Address", table);
        setTableContent(user.getAddress(), table);

        document.add(table);
        document.add(new Paragraph(new Date().toString()));

    } catch (Exception e) {
        e.printStackTrace();

    }
    document.close();
}

From source file:io.github.nick11roberts.pdf_drive.PreviewActivity.java

License:Open Source License

public void addImagesToPDF() throws Exception {
    Document document = new Document();
    ByteArrayOutputStream stream;
    Bitmap bmpImage;/*from   w  ww . ja  v a2s  .c om*/
    byte[] imagebytes;
    Image image;
    float scaler;
    PdfWriter.getInstance(document, new FileOutputStream(tmpPdfFile));
    document.open();
    for (int i = camIndex - 1; i >= 0; i--) {
        stream = new ByteArrayOutputStream();
        bmpImage = Bitmap.createBitmap(imagesFromCamera.get(i));
        //bmpImage = rotateImage(bmpImage, -90);         
        bmpImage.compress(Bitmap.CompressFormat.JPEG, 100, stream);
        imagebytes = stream.toByteArray();
        image = Image.getInstance(imagebytes);
        scaler = ((document.getPageSize().getWidth()) / image.getWidth()) * 100;
        image.scalePercent(scaler);
        image.setAlignment(Image.MIDDLE | Image.ALIGN_MIDDLE);
        document.add(image);
        document.newPage();
        stream.close();
        stream = null;
    }

    document.close();
}

From source file:report.pdfs.Basics_PDF_Report.java

private void addBarChart(Section catPart) {
    Basics_Bar_Chart_Report chart = new Basics_Bar_Chart_Report(show, "Basic Expenses Overview");
    Image To_be_Added = null;//w  w w .j  a v a  2 s  . c o m
    try {
        To_be_Added = Image.getInstance("bar_chart.png");
    } catch (BadElementException e) {
        e.printStackTrace();
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    To_be_Added.setAlignment(Image.MIDDLE | Image.TEXTWRAP);
    //To_be_Added.setBorder(Image.BOX);
    //To_be_Added.setBorderWidth(15);

    catPart.add(To_be_Added);
}

From source file:report.pdfs.Basics_PDF_Report.java

private void addPieChart(Section catPart) {
    Basics_Pie_Chart_Report chart = new Basics_Pie_Chart_Report(show, "Comparison", "Basic Expenses Overview");
    Image To_be_Added = null;/*from   w  w w  . j a  v  a2 s  .co  m*/
    try {
        To_be_Added = Image.getInstance("pie_chart.png");
    } catch (BadElementException e) {
        e.printStackTrace();
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    To_be_Added.setAlignment(Image.MIDDLE | Image.TEXTWRAP);
    //To_be_Added.setBorder(Image.BOX);
    //To_be_Added.setBorderWidth(15);

    catPart.add(To_be_Added);
}