Example usage for com.itextpdf.layout.element Table addCell

List of usage examples for com.itextpdf.layout.element Table addCell

Introduction

In this page you can find the example usage for com.itextpdf.layout.element Table addCell.

Prototype

public Table addCell(String content) 

Source Link

Document

Adds a new cell with received string as a content.

Usage

From source file:cl.a2r.wsmicampov2.dao.TrasladoDAO.java

public static void generarDocumentoTraslado(Transaccion trx, Integer trasladoId) throws SQLException {

    Traslado traslado = selectTrasladoById(trx, trasladoId);
    List<String> listDiios = selectDiiosTrasladoById(trx, trasladoId);
    try {//from  w w  w.ja  v  a  2s . c o  m

        Integer identificadorTraslado = trasladoId;
        String fundoOrigen = traslado.getFundoOrigen();
        String fundoDestino = traslado.getFundoDestino();
        Integer cantAnimales = listDiios.size();
        Date fecha = traslado.getFecha();
        String nombreChofer = traslado.getNombreChofer();
        String rutChofer = traslado.getRutChofer();
        String patenteCamion = traslado.getPatenteCamion();
        String patenteAcoplado = traslado.getAcopladoPatente();
        String nombreTransportista = traslado.getNombreTransportista();
        String rutTransportista = traslado.getRutTransportista();

        String correoDestino = traslado.getCorreo();

        DateFormat df = new SimpleDateFormat("dd-MM-yyyy hh_mm_ss");
        DateFormat df2 = new SimpleDateFormat("dd-MM-yyyy");
        Date today = Calendar.getInstance().getTime();
        String reportDate = df.format(today);
        String reportDate2 = df2.format(today);

        String fileName = "Traslado Nro. " + identificadorTraslado + "-" + reportDate2 + " " + fundoOrigen + "_"
                + fundoDestino;
        //            String fileRoot="Z:\\Chilterra\\MiCampoGuias\\"+fileName+".pdf";

        String fileRoot = "/usr/share/MiCampoGuiasUpload/" + fileName + ".pdf";

        PdfWriter writer = new PdfWriter(fileRoot);

        PdfDocument pdf = new PdfDocument(writer);

        Document document = new Document(pdf);

        addPageToGuia(traslado, listDiios, document, cantAnimales);
        addSpaces(document);

        //Firmas        
        Table firmas = new Table(3);
        firmas.addCell(CellHelper.getCellFirma("Responsable fundo origen", TextAlignment.CENTER));
        firmas.addCell(CellHelper.getCell("", TextAlignment.LEFT));
        firmas.addCell(CellHelper.getCellFirma("Transportista", TextAlignment.CENTER));
        document.add(firmas);

        copiaPara("Fundo origen", document);

        document.add(new AreaBreak(AreaBreakType.NEXT_PAGE));

        addDiiosPage(document, listDiios);
        document.add(new AreaBreak(AreaBreakType.NEXT_PAGE));

        addPageToGuia(traslado, listDiios, document, cantAnimales);
        addSpaces(document);

        Table firmas2 = new Table(3);
        firmas2.addCell(CellHelper.getCellFirma("Responsable fundo destino", TextAlignment.CENTER));
        firmas2.addCell(CellHelper.getCell("", TextAlignment.LEFT));
        firmas2.addCell(CellHelper.getCellFirma("Transportista", TextAlignment.CENTER));
        document.add(firmas2);

        copiaPara("Fundo destino", document);

        document.add(new AreaBreak(AreaBreakType.NEXT_PAGE));

        addDiiosPage(document, listDiios);

        document.add(new AreaBreak(AreaBreakType.NEXT_PAGE));

        addPageToGuia(traslado, listDiios, document, cantAnimales);
        addSpaces(document);

        Table firmas3 = new Table(3);
        firmas3.addCell(CellHelper.getCellFirma("Responsable fundo origen", TextAlignment.CENTER));
        firmas3.addCell(CellHelper.getCell("", TextAlignment.LEFT));
        firmas3.addCell(CellHelper.getCellFirma("Responsable fundo destino", TextAlignment.CENTER));
        document.add(firmas3);

        copiaPara("Transportista", document);

        document.add(new AreaBreak(AreaBreakType.NEXT_PAGE));
        addDiiosPage(document, listDiios);

        document.close();

        File file = new File(fileRoot);
        InputStream inputStream = new FileInputStream(file);
        int fileLength = (int) file.length();

        byte[] bytes = new byte[fileLength];
        inputStream.read(bytes);

        Correo correo = new Correo();
        correo.setFrom("desarrollador@chilterra.com");
        correo.setTo(correoDestino + ";" + "sipec@chilterra.com");

        correo.setSubject("Traslado interno de animales Nro: " + trasladoId);
        correo.setBody("");

        correo.addAdjunto(bytes, "application/pdf", fileName + ".pdf");
        correo.enviar();
    } catch (Exception ex) {

    }
}

From source file:cl.a2r.wsmicampov2.dao.TrasladoDAO.java

public static void addPageToGuia(Traslado traslado, List<String> listDiios, Document document,
        Integer cantAnimales) {/*  w w  w.  ja v a2  s.c om*/

    try {

        Integer identificadorTraslado = traslado.getId();
        String fundoOrigen = traslado.getFundoOrigen();
        String fundoDestino = traslado.getFundoDestino();
        Date fecha = traslado.getFecha();
        String nombreChofer = traslado.getNombreChofer();
        String rutChofer = traslado.getRutChofer();
        String patenteCamion = traslado.getPatenteCamion();
        String patenteAcoplado = traslado.getAcopladoPatente();
        String nombreTransportista = traslado.getNombreTransportista();
        String rutTransportista = traslado.getRutTransportista();

        String imagePath = "/usr/share/MiCampoGuiasUpload/A2RLogo.png";
        //        String imagePath="Z:\\Chilterra\\MiCampoGuias\\A2RLogo.png";

        DateFormat df = new SimpleDateFormat("dd-MM-yyyy hh_mm_ss");
        DateFormat df2 = new SimpleDateFormat("dd-MM-yyyy");
        Date today = Calendar.getInstance().getTime();
        String reportDate = df.format(today);
        String reportDate2 = df2.format(today);

        PdfFont bold = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);

        Text fechaText = new Text("Fecha: " + reportDate2).setTextAlignment(TextAlignment.RIGHT);
        Paragraph paragraphFecha = new Paragraph().add(fechaText);
        paragraphFecha.setTextAlignment(TextAlignment.RIGHT);
        document.add(paragraphFecha);

        Text title = new Text("TRASLADO INTERNO DE ANIMALES No. " + identificadorTraslado).setFont(bold);
        title.setFontSize(12);

        Image a2R = new Image(ImageDataFactory.create(imagePath));
        Paragraph p = new Paragraph("").add(a2R).add(title);

        document.add(p);

        //Datos del traslado
        Table table = new Table(2);

        table.addCell(CellHelper.getCell("Fundo origen: ", fundoOrigen, TextAlignment.LEFT));
        table.addCell(CellHelper.getCell("Fundo destino: ", fundoDestino, TextAlignment.LEFT));

        table.addCell(CellHelper.getCell("Nombre Chofer: ", nombreChofer, TextAlignment.LEFT));
        table.addCell(CellHelper.getCell("Rut Chofer: ", nombreChofer, TextAlignment.LEFT));

        table.addCell(CellHelper.getCell("Patente camin: ", patenteCamion, TextAlignment.LEFT));
        table.addCell(CellHelper.getCell("Patente acoplado: ", patenteAcoplado, TextAlignment.LEFT));

        table.addCell(CellHelper.getCell("Nombre transportista: ", nombreTransportista, TextAlignment.LEFT));
        table.addCell(CellHelper.getCell("Rut transportista: ", rutTransportista, TextAlignment.LEFT));

        document.add(table);

        Paragraph totalAnimales = CellHelper.getBoldParagraph("Cantidad total de animales: ",
                cantAnimales.toString());

        document.add(totalAnimales);

        //Observaciones
        Paragraph observaciones = new Paragraph("Observaciones: ").setBold();
        document.add(observaciones);

        Table observTable = new Table(1);
        observTable.addCell(CellHelper.getCellObservaciones("", TextAlignment.LEFT));
        document.add(observTable);

        Paragraph space1 = new Paragraph("");
        document.add(space1);

        Paragraph space2 = new Paragraph("");
        document.add(space2);

        Paragraph space3 = new Paragraph("");
        document.add(space3);

        Paragraph space4 = new Paragraph("");
        document.add(space4);

    } catch (Exception ex) {

    }

}

From source file:cl.a2r.wsmicampov2.dao.TrasladoDAO.java

public static void addDiiosPage(Document document, List<String> listDiios) {

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

        Integer cantAnimales = listDiios.size();
        Integer diff = 0;

        if (listDiios.size() < 6) {
            diff = 6 - cantAnimales;
        } else {

            if (cantAnimales % 6 != 0) {

                Integer cociente = cantAnimales / 6;
                diff = ((cociente + 1) * 6) - cantAnimales;
            }

        }

        for (int i = 0; i < diff; i++) {
            listDiios.add(" ");
        }

        PdfFont bold = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);
        Text subTitle = new Text("Diios: ").setFont(bold);
        Paragraph subtitleParagraph = new Paragraph().add(subTitle);

        document.add(subtitleParagraph);
        Table tableDiios = new Table(6);
        for (int i = 0; i < listDiios.size(); i++) {

            tableDiios.addCell(CellHelper.getCellDiios(listDiios.get(i), TextAlignment.LEFT));
        }

        document.add(tableDiios);

    } catch (Exception ex) {

    }

}

From source file:cl.a2r.wsmicampov2.pdf.EventoPagina.java

/**
 * Crea la tabla de pie de pagina, con el numero de pagina
 * @param docEvent Evento del documento//from www.  ja  v a 2  s  . c  om
 * @return Pie de pagina con el numero de pagina
 */
private Table crearTablaPie(PdfDocumentEvent docEvent) {
    PdfPage page = docEvent.getPage();
    float[] anchos = { 1F };
    Table tablaPie = new Table(anchos);
    tablaPie.setWidth(527F);

    Integer pageNum = docEvent.getDocument().getPageNumber(page);

    tablaPie.addCell(CellHelper.getCell(pageNum.toString(), TextAlignment.RIGHT));

    return tablaPie;
}

From source file:com.asptt.plongee.resa.util.UtilsFSpdf.java

private Table createEntete(FicheSecurite fs, int numeroPage, int nbPage) throws java.io.IOException {
        float[] columnWidths = { 20, 27, 23, 23, 6 };
        // table : premiere table pour les parametres de la plonge
        Table table = new Table(columnWidths);
        table.setMargins(0, 0, 0, 0);//from  w w  w  . j  av a  2s.  c  om
        table.setWidthPercent(100);
        // entete style pour les entetes
        Style entete = new Style();
        PdfFont fontEntete = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN);
        entete.setFont(fontEntete).setFontSize(12);
        entete.setFontColor(Color.BLACK);
        // style pour les libells
        Style libelle = new Style();
        PdfFont fontLibelle = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN);
        libelle.setFont(fontLibelle).setFontSize(12);
        libelle.setFontColor(Color.RED);

        Paragraph entete1 = new Paragraph();
        entete1.add(new Text("DATE\n").addStyle(entete));
        entete1.add(new Text("DIRECTEUR DE PLONGEE\n").addStyle(entete));
        entete1.add(new Text("PILOTE DU BATEAU\n").addStyle(entete));
        entete1.add(new Text("LIEU DE PLONGEE\n").addStyle(entete));
        entete1.add(new Text("METEO\n").addStyle(entete));

        Paragraph libelle1 = new Paragraph();
        libelle1.add(new Text(": " + ResaUtil.getDateString(fs.getDatePlongee()) + "\n").addStyle(libelle));
        libelle1.add(new Text(": " + fs.getNomDP() + "\n").addStyle(libelle));
        libelle1.add(new Text(": " + fs.getNomPilote() + "\n").addStyle(libelle));
        libelle1.add(new Text(": " + fs.getSite() + "\n").addStyle(libelle));
        libelle1.add(new Text(": " + fs.getMeteo() + "\n").addStyle(libelle));

        Cell cellEntete1 = new Cell();
        cellEntete1.add(entete1);
        cellEntete1.setBorderRight(Border.NO_BORDER);
        cellEntete1.setHorizontalAlignment(HorizontalAlignment.LEFT);
        table.addCell(cellEntete1);

        Cell cellLibelle1 = new Cell();
        cellLibelle1.add(libelle1);
        cellLibelle1.setBorderLeft(Border.NO_BORDER);
        cellLibelle1.setTextAlignment(TextAlignment.LEFT);
        table.addCell(cellLibelle1);

        Paragraph titre = new Paragraph();
        titre.add(new Text("ASPTT MARSEILLE\n").addStyle(entete));
        titre.add(new Text("PLONGEE\n").addStyle(entete));
        titre.add(new Text("---\n").addStyle(entete));
        titre.add(new Text("Fiche de Scurit\n").addStyle(entete));

        Cell cellTitre = new Cell();
        cellTitre.add(titre);
        cellTitre.setTextAlignment(TextAlignment.CENTER);
        cellTitre.setVerticalAlignment(VerticalAlignment.MIDDLE);
        table.addCell(cellTitre);

        Paragraph entete2 = new Paragraph();
        entete2.add(new Text("PLONGEE NUMERO\n").addStyle(entete));
        entete2.add(new Text("NOMBRE DE PLONGEURS\n").addStyle(entete));
        entete2.add(new Text("HEURE DE DEPART\n").addStyle(entete));
        entete2.add(new Text("HEURES BATEAU\n").addStyle(entete));
        entete2.add(new Text("Page \n").addStyle(entete));

        Paragraph libelle2 = new Paragraph();
        libelle2.add(new Text(": " + fs.getNumeroPlongee() + "\n").addStyle(libelle));
        libelle2.add(new Text(": " + fs.getNbPlongeurs() + "\n").addStyle(libelle));
        libelle2.add(new Text(": " + fs.getHhDepart() + ":" + fs.getMnDepart() + "\n").addStyle(libelle));
        libelle2.add(new Text(": " + fs.getNbHeuresBateau() + "\n").addStyle(libelle));
        libelle2.add(new Text(": " + numeroPage + " / " + nbPage + "\n").addStyle(libelle));

        Cell cellEntete2 = new Cell();
        cellEntete2.add(entete2);
        cellEntete2.setBorderRight(Border.NO_BORDER);
        cellEntete2.setHorizontalAlignment(HorizontalAlignment.RIGHT);
        table.addCell(cellEntete2);

        Cell cellLibelle2 = new Cell();
        cellLibelle2.add(libelle2);
        cellLibelle2.setBorderLeft(Border.NO_BORDER);
        cellLibelle2.setTextAlignment(TextAlignment.LEFT);
        table.addCell(cellLibelle2);

        return table;
    }

From source file:com.asptt.plongee.resa.util.UtilsFSpdf.java

private void createTablePlongeur(Table tablePalanques, FicheSecurite fs, int i, Style s_plongeur) {
        float[] colWidths = { 25, 25, 25, 25 };
        Table tablePlongeurs = new Table(colWidths);
        tablePlongeurs.setMarginTop(0);/*from   w  w  w .ja va2s. c o m*/
        tablePlongeurs.setMarginBottom(0);
        tablePlongeurs.setWidthPercent(100);
        // first row
        Cell cellNom = new Cell(1, 3).add(new Paragraph("Nom"));
        cellNom.setTextAlignment(TextAlignment.CENTER);
        cellNom.setFontSize(12);
        cellNom.setPadding(5);
        cellNom.setBackgroundColor(new DeviceRgb(140, 221, 8));
        tablePlongeurs.addCell(cellNom);
        Cell cellApt = new Cell(1, 1).add(new Paragraph("Apt"));
        cellApt.setTextAlignment(TextAlignment.CENTER);
        cellApt.setFontSize(12);
        cellApt.setPadding(5);
        cellApt.setBackgroundColor(new DeviceRgb(140, 221, 8));
        tablePlongeurs.addCell(cellApt);
        if (fs.getPalanques().size() > i) {
            initTablePlongeur(fs.getPalanques().get(i), tablePlongeurs, s_plongeur);
        } else {
            initTablePlongeur(null, tablePlongeurs, s_plongeur);
        }
        tablePalanques.addCell(tablePlongeurs);
    }

From source file:com.asptt.plongee.resa.util.UtilsFSpdf.java

public void createPdfPlongee(String dest, Plongee plongee)
            throws IOException, FileNotFoundException, java.io.IOException {
        PageSize ps = PageSize.A4.rotate();
        PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
        pdfDoc.addNewPage(ps);/*from w  w w.  ja v a  2  s  . c  o m*/
        Document doc = new Document(pdfDoc);
        float[] columnWidths = { 20, 20, 5, 10, 15, 15, 15 };
        // table : premiere table pour les parametres de la plonge
        Table table = new Table(columnWidths);
        table.setMargins(0, 0, 0, 0);
        table.setWidthPercent(100);
        // entete style pour les titres
        Style s_titre = new Style();
        PdfFont fontEntete = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN);
        s_titre.setFont(fontEntete).setFontSize(12);
        s_titre.setFontColor(Color.ORANGE);
        // style pour l'entete de la table
        Style s_entete = new Style();
        PdfFont fontLibelle = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN);
        s_entete.setFont(fontLibelle).setFontSize(12);
        s_entete.setFontColor(Color.BLUE);

        Paragraph entete1 = new Paragraph();
        entete1.add(new Text("Plong\u00e9e du " + ResaUtil.getJourDatePlongee(plongee.getDatePlongee()) + "    '"
                + ResaUtil.getHeurePlongee(plongee.getDatePlongee()) + "'\n").addStyle(s_titre));
        entete1.add(
                new Text("Nombre de participants " + plongee.getParticipants().size() + "\n").addStyle(s_titre));
        entete1.add(new Text("\n").addStyle(s_titre));
        entete1.add(new Text("Inscrit\n").addStyle(s_titre));

        Cell cellEntete1 = new Cell(1, 7);
        cellEntete1.add(entete1);
        cellEntete1.setBorderRight(Border.NO_BORDER);
        //        cellEntete1.setBackgroundColor(Color.BLUE);
        cellEntete1.setHorizontalAlignment(HorizontalAlignment.LEFT);
        table.addCell(cellEntete1);

        Cell cellNom = new Cell().add(new Paragraph("Nom"));
        cellNom.setTextAlignment(TextAlignment.CENTER);
        cellNom.setFontSize(8);
        cellNom.setFontColor(Color.BLACK);
        cellNom.setPadding(5);
        cellNom.setBackgroundColor(new DeviceRgb(140, 221, 8));
        table.addCell(cellNom);

        Cell cellPrenom = new Cell().add(new Paragraph("Prnom"));
        cellPrenom.setTextAlignment(TextAlignment.CENTER);
        cellPrenom.setFontSize(8);
        cellPrenom.setFontColor(Color.BLACK);
        cellPrenom.setPadding(5);
        cellPrenom.setBackgroundColor(new DeviceRgb(140, 221, 8));
        table.addCell(cellPrenom);

        Cell cellNiveau = new Cell().add(new Paragraph("Niveau"));
        cellNiveau.setTextAlignment(TextAlignment.CENTER);
        cellNiveau.setFontSize(8);
        cellNiveau.setFontColor(Color.BLACK);
        cellNiveau.setPadding(5);
        cellNiveau.setBackgroundColor(new DeviceRgb(140, 221, 8));
        table.addCell(cellNiveau);

        Cell cellAptitude = new Cell().add(new Paragraph("Aptitude"));
        cellAptitude.setTextAlignment(TextAlignment.CENTER);
        cellAptitude.setFontSize(8);
        cellAptitude.setFontColor(Color.BLACK);
        cellAptitude.setPadding(5);
        cellAptitude.setBackgroundColor(new DeviceRgb(140, 221, 8));
        table.addCell(cellAptitude);

        Cell cellTelephone1 = new Cell().add(new Paragraph("Tlphone"));
        cellTelephone1.setTextAlignment(TextAlignment.CENTER);
        cellTelephone1.setFontSize(8);
        cellTelephone1.setFontColor(Color.BLACK);
        cellTelephone1.setPadding(5);
        cellTelephone1.setBackgroundColor(new DeviceRgb(140, 221, 8));
        table.addCell(cellTelephone1);

        Cell cellCommentaire = new Cell().add(new Paragraph("Commentaire"));
        cellCommentaire.setTextAlignment(TextAlignment.CENTER);
        cellCommentaire.setFontSize(8);
        cellCommentaire.setFontColor(Color.BLACK);
        cellCommentaire.setPadding(5);
        cellCommentaire.setBackgroundColor(new DeviceRgb(140, 221, 8));
        table.addCell(cellCommentaire);

        List<Adherent> adherentsInscrit = plongee.getParticipants();

        for (Adherent adherent : adherentsInscrit) {
            Cell cellNomP = new Cell().add(new Paragraph(adherent.getNom()));
            cellNomP.setTextAlignment(TextAlignment.CENTER);
            cellNomP.setFontSize(8);
            cellNomP.setFontColor(Color.BLACK);
            cellNomP.setPadding(5);
            cellNomP.setBackgroundColor(new DeviceRgb(140, 221, 8));
            table.addCell(cellNomP);

            Cell cellPrenomP = new Cell().add(new Paragraph(adherent.getPrenom()));
            cellPrenomP.setTextAlignment(TextAlignment.CENTER);
            cellPrenomP.setFontSize(8);
            cellPrenomP.setFontColor(Color.BLACK);
            cellPrenomP.setPadding(5);
            cellPrenomP.setBackgroundColor(new DeviceRgb(140, 221, 8));
            table.addCell(cellPrenomP);

            // Ds que le plongeur est encadrant, on affiche son niveau d'encadrement
            String niveauAffiche = adherent.getPrerogative();
            // Pour les externes, le niveau est suffix par (Ext.)
            if (adherent.getActifInt() == 2) {
                niveauAffiche = niveauAffiche + " (Ext.)";
            }
            Cell cellNiveauP = new Cell().add(new Paragraph(niveauAffiche));
            cellNiveauP.setTextAlignment(TextAlignment.CENTER);
            cellNiveauP.setFontSize(8);
            cellNiveauP.setFontColor(Color.BLACK);
            cellNiveauP.setPadding(5);
            cellNiveauP.setBackgroundColor(new DeviceRgb(140, 221, 8));
            table.addCell(cellNiveauP);

            Cell cellAptitudeP;
            if (null == adherent.getAptitude()) {
                cellAptitudeP = new Cell().add(new Paragraph("  "));
            } else {
                cellAptitudeP = new Cell().add(new Paragraph(adherent.getAptitude().getText()));
            }
            cellAptitudeP.setTextAlignment(TextAlignment.CENTER);
            cellAptitudeP.setFontSize(8);
            cellAptitudeP.setFontColor(Color.BLACK);
            cellAptitudeP.setPadding(5);
            cellAptitudeP.setBackgroundColor(new DeviceRgb(140, 221, 8));
            table.addCell(cellAptitudeP);

            Cell cellTelephone1P = new Cell().add(new Paragraph(adherent.getTelephone()));
            cellTelephone1P.setTextAlignment(TextAlignment.CENTER);
            cellTelephone1P.setFontSize(8);
            cellTelephone1P.setFontColor(Color.BLACK);
            cellTelephone1P.setPadding(5);
            cellTelephone1P.setBackgroundColor(new DeviceRgb(140, 221, 8));
            table.addCell(cellTelephone1P);

            Cell cellCommentaireP = new Cell().add(new Paragraph(adherent.getCommentaire()));
            cellCommentaireP.setTextAlignment(TextAlignment.CENTER);
            cellCommentaireP.setFontSize(8);
            cellCommentaireP.setFontColor(Color.BLACK);
            cellCommentaireP.setPadding(5);
            cellCommentaireP.setBackgroundColor(new DeviceRgb(140, 221, 8));
            table.addCell(cellCommentaireP);

        }
        doc.add(table);
        doc.close();
    }

From source file:com.isw.cec.Servlet.GenerarFoliosServlet.java

License:Open Source License

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String appPath = request.getServletContext().getRealPath("");
    String savePath = appPath + File.separator + SAVE_DIR;

    File fileSaveDir = new File(savePath);
    if (!fileSaveDir.exists())
        fileSaveDir.mkdirs();/*from  w  w w. ja v  a2 s.c  o m*/

    String fileName = java.util.UUID.randomUUID().toString() + ".pdf";
    Curso curso = (Curso) request.getAttribute("curso");
    List<Entry<String, String>> alum_fol = Reader.getAlumFolios(curso.getID());

    OutputStream fos = new FileOutputStream(savePath + File.separator + fileName);
    PdfWriter writer = new PdfWriter(fos);

    PdfDocument pdf = new PdfDocument(writer);

    Document document = new Document(pdf, PageSize.A4);
    document.setMargins(85, 57, 71, 71);

    PdfFont font = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN);
    PdfFont bold = PdfFontFactory.createFont(FontConstants.TIMES_BOLD);

    Paragraph p = new Paragraph("Folios de los alumnos inscritos al curso");
    p.setTextAlignment(TextAlignment.CENTER);
    document.add(p);

    p = new Paragraph(curso.getNombre());
    p.setFont(bold);
    p.setTextAlignment(TextAlignment.CENTER);
    p.setMarginBottom(70);
    document.add(p);

    Table table = new Table(new float[] { 1, 1 });
    table.setWidthPercent(100);

    Cell c = new Cell().add(new Paragraph("ALUMNO").setFont(bold));
    c.setTextAlignment(TextAlignment.CENTER);
    table.addHeaderCell(c);

    c = new Cell().add(new Paragraph("FOLIO").setFont(bold));
    c.setTextAlignment(TextAlignment.CENTER);
    table.addHeaderCell(c);

    for (Entry<String, String> e : alum_fol) {
        table.addCell(new Cell().add(new Paragraph(e.getKey()).setFont(font)));
        table.addCell(new Cell().add(new Paragraph(e.getValue()).setFont(font)));
    }

    document.add(table);

    document.close();

    Writer.openCurso(curso.getID(), fileName);
    response.getWriter().println("OK");
}

From source file:com.js.quickestquail.ui.actions.io.ExportToPDFAction.java

private void writeAll(File outputFile) throws FileNotFoundException, IOException {

    // progress dialog
    JProgressDialog dialog = new JProgressDialog(UI.get(), false);
    dialog.setMaximum(DriveManager.get().getSelected().size());
    dialog.setTitle(java.util.ResourceBundle.getBundle("i18n/i18n").getString("export.pdf"));
    dialog.setVisible(true);//from  www.  ja va 2  s  .  c o  m

    // run this in a new Thread
    new Thread() {
        @Override
        public void run() {
            try {
                int nrOfMovies = 0;
                List<Entry<File, String>> entries = new ArrayList<>(
                        DriveManager.get().getSelected().entrySet());
                java.util.Collections.sort(entries, new Comparator<Entry<File, String>>() {
                    @Override
                    public int compare(Entry<File, String> o1, Entry<File, String> o2) {
                        Movie mov1 = CachedMovieProvider.get().getMovieByID(o1.getValue());
                        Movie mov2 = CachedMovieProvider.get().getMovieByID(o2.getValue());
                        return mov1.getTitle().compareTo(mov2.getTitle());
                    }
                });

                PdfWriter writer = new PdfWriter(new FileOutputStream(outputFile));
                PdfDocument pdf = new PdfDocument(writer);
                Document doc = new Document(pdf);

                for (Entry<File, String> en : entries) {
                    Movie mov = CachedMovieProvider.get().getMovieByID(en.getValue());

                    // update progress dialog
                    dialog.setText(mov.getTitle());
                    dialog.setProgress(nrOfMovies);

                    // add table
                    Table table = new Table(new float[] { 0.5f, 0.25f, 0.25f });
                    table.setWidthPercent(100);
                    table.setBorder(Border.NO_BORDER);

                    Cell cell;
                    cell = new Cell(5, 1);
                    cell.setBorder(Border.NO_BORDER);

                    try {
                        Image img = new Image(ImageDataFactory.create(new URL(mov.getPoster())));
                        cell.setNextRenderer(new ImageBackgroundCellRenderer(cell, img));
                    } catch (Exception ex) {
                    }

                    cell.setHeight(160);
                    cell.setWidth(100);

                    table.addCell(cell);

                    cell = new Cell(1, 1).add("Title").setBorder(Border.NO_BORDER);
                    table.addCell(cell);
                    cell = new Cell(1, 1).add(mov.getTitle()).setBorder(Border.NO_BORDER);
                    table.addCell(cell);

                    cell = new Cell(1, 1).add("Year").setBorder(Border.NO_BORDER);
                    table.addCell(cell);
                    cell = new Cell(1, 1).add(mov.getYear() + "").setBorder(Border.NO_BORDER);
                    table.addCell(cell);

                    cell = new Cell(1, 1).add("IMDB ID").setBorder(Border.NO_BORDER);
                    table.addCell(cell);
                    cell = new Cell(1, 1).add(mov.getImdbID()).setBorder(Border.NO_BORDER);
                    table.addCell(cell);

                    cell = new Cell(1, 1).add("IMDB Rating").setBorder(Border.NO_BORDER);
                    table.addCell(cell);
                    cell = new Cell(1, 1).add(mov.getImdbRating() + "").setBorder(Border.NO_BORDER);
                    table.addCell(cell);

                    cell = new Cell(1, 1).add("IMDB Votes").setBorder(Border.NO_BORDER);
                    table.addCell(cell);
                    cell = new Cell(1, 1).add(mov.getImdbVotes() + "").setBorder(Border.NO_BORDER);
                    table.addCell(cell);

                    doc.add(table);

                    nrOfMovies++;
                    if (nrOfMovies % 4 == 0) {
                        doc.add(new AreaBreak());
                    }

                    doc.add(new Paragraph(""));

                }

                // close IO
                doc.close();
                pdf.close();
                writer.close();

                // close dialog
                dialog.setVisible(false);

            } catch (Exception ex) {
            }
        }
    }.start();

}

From source file:com.tcay.slalom.UI.PDF.PDF_Results.java

License:Open Source License

protected void manipulatePdf(String dest) throws Exception {
    PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
    Document doc = new Document(pdfDoc);

    Table table = new Table(8);
    for (int i = 0; i < 16; i++) {
        table.addCell("hi");
    }/*from   w ww.j ava 2  s .c o m*/
    doc.add(table);

    doc.close();
}