Example usage for com.lowagie.text HeaderFooter HeaderFooter

List of usage examples for com.lowagie.text HeaderFooter HeaderFooter

Introduction

In this page you can find the example usage for com.lowagie.text HeaderFooter HeaderFooter.

Prototype


public HeaderFooter(Phrase before, boolean numbered) 

Source Link

Document

Constructs a Header-object with a pagenumber at the end.

Usage

From source file:fr.univlorraine.mondossierweb.controllers.NoteController.java

License:Apache License

/**
 * /*from  ww w. ja v  a 2s  .  c o  m*/
 * @param document pdf
 */
public void creerPdfResume(final Document document, Etudiant etudiant) {

    //configuration des fonts
    Font normal = FontFactory.getFont(FontFactory.TIMES_ROMAN, 10, Font.NORMAL);
    Font normalbig = FontFactory.getFont(FontFactory.TIMES_ROMAN, 11, Font.BOLD);
    Font legerita = FontFactory.getFont(FontFactory.TIMES_ROMAN, 9, Font.ITALIC);
    Font headerbig = FontFactory.getFont(FontFactory.TIMES_ROMAN, 16, Font.BOLD);
    Font header = FontFactory.getFont(FontFactory.TIMES_ROMAN, 12, Font.BOLD);

    //pieds de pages:
    Date d = new Date();
    DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
    String date = dateFormat.format(d);
    //alignement des libell du pied de page:
    String partie1 = applicationContext.getMessage("pdf.notes.title", null, Locale.getDefault());
    String partie2 = applicationContext.getMessage("pdf.edition.date", null, Locale.getDefault()) + " : "
            + date;
    if (partie1.length() < ECARTEMENT_PIED_PAGE_PDF) {
        int diff = ECARTEMENT_PIED_PAGE_PDF - partie1.length();
        for (int i = 0; i < diff; i++) {
            partie1 = partie1 + " ";

        }
    }
    if (partie2.length() < ECARTEMENT_PIED_PAGE_PDF) {
        int diff = ECARTEMENT_PIED_PAGE_PDF - partie2.length();
        for (int i = 0; i < diff; i++) {
            partie2 = " " + partie2;
        }
    }

    //creation du pied de page:
    Phrase phra = new Phrase(
            partie1 + " -" + applicationContext.getMessage("pdf.page", null, Locale.getDefault()), legerita);
    Phrase phra2 = new Phrase("- " + partie2, legerita);
    HeaderFooter hf = new HeaderFooter(phra, phra2);
    hf.setAlignment(HeaderFooter.ALIGN_CENTER);
    document.setFooter(hf);

    //ouverte du document.
    document.open();
    try {
        //ajout image test
        if (configController.getLogoUniversitePdf() != null
                && !configController.getLogoUniversitePdf().equals("")) {
            Image image1 = Image.getInstance(configController.getLogoUniversitePdf());
            float scaleRatio = 40 / image1.getHeight();
            float newWidth = scaleRatio * image1.getWidth();
            image1.scaleAbsolute(newWidth, 40);
            image1.setAbsolutePosition(800 - newWidth, 528);
            document.add(image1);
        }

        boolean affMentionEtudiant = configController.isAffMentionEtudiant();

        //nouveau paragraphe
        Paragraph p = new Paragraph(applicationContext.getMessage("pdf.notes.title", null, Locale.getDefault())
                .toUpperCase(Locale.getDefault()) + "\n\n", headerbig);
        p.setIndentationLeft(15);
        document.add(p);

        if (etudiant.getNom() != null) {
            Paragraph p0 = new Paragraph(etudiant.getNom(), normal);
            p0.setIndentationLeft(15);
            document.add(p0);
        }
        if (etudiant.getCod_etu() != null) {
            Paragraph p01 = new Paragraph(applicationContext.getMessage("pdf.folder", null, Locale.getDefault())
                    + " : " + etudiant.getCod_etu(), normal);
            p01.setIndentationLeft(15);
            document.add(p01);
        }
        if (etudiant.getCod_nne() != null) {
            Paragraph p02 = new Paragraph(applicationContext.getMessage("pdf.nne", null, Locale.getDefault())
                    + " : " + etudiant.getCod_nne(), normal);
            p02.setIndentationLeft(15);
            document.add(p02);
        }
        if (etudiant.getEmail() != null) {
            Paragraph p03 = new Paragraph(applicationContext.getMessage("pdf.mail", null, Locale.getDefault())
                    + " : " + etudiant.getEmail(), normal);
            p03.setIndentationLeft(15);
            document.add(p03);
        }

        Paragraph p03 = new Paragraph(
                applicationContext.getMessage("pdf.edition.date", null, Locale.getDefault()) + " : " + date,
                normal);
        p03.setIndentationLeft(15);
        document.add(p03);
        document.add(new Paragraph("\n"));

        //Partie DIPLOMES
        PdfPTable table = new PdfPTable(1);
        table.setWidthPercentage(98);
        PdfPCell cell = new PdfPCell(
                new Paragraph(applicationContext.getMessage("pdf.diplomes", null, Locale.getDefault())
                        .toUpperCase(Locale.getDefault()) + " ", header));
        cell.setBorder(Rectangle.NO_BORDER);
        cell.setBackgroundColor(new Color(153, 153, 255));
        table.addCell(cell);

        PdfPTable table2;

        //if(!config.isAffRangEtudiant()){
        if (!etudiant.isAfficherRang()) {
            table2 = new PdfPTable(4);
        } else {
            table2 = new PdfPTable(5);
        }

        table2.setWidthPercentage(98);

        int tailleColonneLib = 110;
        if (affMentionEtudiant)
            tailleColonneLib = 90;

        //if(!config.isAffRangEtudiant()){
        if (!etudiant.isAfficherRang()) {
            int[] tabWidth = { 26, 35, tailleColonneLib, 70 };
            table2.setWidths(tabWidth);
        } else {
            int[] tabWidth = { 26, 35, tailleColonneLib - 5, 70, 15 };
            table2.setWidths(tabWidth);
        }

        Paragraph p1 = new Paragraph(applicationContext.getMessage("pdf.year", null, Locale.getDefault()),
                normalbig);
        Paragraph p2 = new Paragraph(applicationContext.getMessage("pdf.code.vers", null, Locale.getDefault()),
                normalbig);
        Paragraph p3 = new Paragraph(applicationContext.getMessage("pdf.diplome", null, Locale.getDefault()),
                normalbig);

        PdfPCell ct1 = new PdfPCell(p1);
        PdfPCell ct2 = new PdfPCell(p2);
        PdfPCell ct3 = new PdfPCell(p3);

        ct1.setBorder(Rectangle.BOTTOM);
        ct1.setBorderColorBottom(Color.black);
        ct2.setBorder(Rectangle.BOTTOM);
        ct2.setBorderColorBottom(Color.black);
        ct3.setBorder(Rectangle.BOTTOM);
        ct3.setBorderColorBottom(Color.black);

        table2.addCell(ct1);
        table2.addCell(ct2);
        table2.addCell(ct3);

        PdfPTable table21;
        if (!affMentionEtudiant) {
            table21 = new PdfPTable(3);
            int[] tabWidth21 = { 25, 20, 25 };
            table21.setWidths(tabWidth21);
        } else {
            table21 = new PdfPTable(4);
            int[] tabWidth21 = { 25, 20, 25, 20 };
            table21.setWidths(tabWidth21);
        }

        PdfPCell ct4 = new PdfPCell(new Paragraph(
                applicationContext.getMessage("pdf.session", null, Locale.getDefault()), normalbig));
        PdfPCell ct5 = new PdfPCell(
                new Paragraph(applicationContext.getMessage("pdf.note", null, Locale.getDefault()), normalbig));
        PdfPCell ct6 = new PdfPCell(new Paragraph(
                applicationContext.getMessage("pdf.resultat", null, Locale.getDefault()), normalbig));
        PdfPCell ctmention = new PdfPCell(new Paragraph(
                applicationContext.getMessage("pdf.mention", null, Locale.getDefault()), normalbig));

        ct4.setBorder(Rectangle.BOTTOM);
        ct4.setBorderColorBottom(Color.black);
        ct5.setBorder(Rectangle.BOTTOM);
        ct5.setBorderColorBottom(Color.black);
        ct6.setBorder(Rectangle.BOTTOM);
        ct6.setBorderColorBottom(Color.black);
        ctmention.setBorder(Rectangle.BOTTOM);
        ctmention.setBorderColorBottom(Color.black);

        table21.addCell(ct4);
        table21.addCell(ct5);
        table21.addCell(ct6);
        if (affMentionEtudiant) {
            table21.addCell(ctmention);
        }

        PdfPCell ct7 = new PdfPCell(table21);
        ct7.setBorder(Rectangle.BOTTOM);
        table2.addCell(ct7);

        PdfPCell ctrang = new PdfPCell(
                new Paragraph(applicationContext.getMessage("pdf.rank", null, Locale.getDefault()), normalbig));
        ctrang.setBorder(Rectangle.BOTTOM);
        ctrang.setBorderColorBottom(Color.black);

        //if(config.isAffRangEtudiant()){
        if (etudiant.isAfficherRang()) {
            table2.addCell(ctrang);
        }

        for (int i = 0; i < etudiant.getDiplomes().size(); i++) {
            Paragraph pa = new Paragraph(etudiant.getDiplomes().get(i).getAnnee(), normal);
            PdfPCell celltext = new PdfPCell(pa);
            celltext.setBorder(Rectangle.NO_BORDER);

            Paragraph pa2 = new Paragraph(etudiant.getDiplomes().get(i).getCod_dip() + "/"
                    + etudiant.getDiplomes().get(i).getCod_vrs_vdi(), normal);
            PdfPCell celltext2 = new PdfPCell(pa2);
            celltext2.setBorder(Rectangle.NO_BORDER);

            Paragraph pa3 = new Paragraph(etudiant.getDiplomes().get(i).getLib_web_vdi(), normal);
            PdfPCell celltext3 = new PdfPCell(pa3);
            celltext3.setBorder(Rectangle.NO_BORDER);

            Paragraph parang = new Paragraph(etudiant.getDiplomes().get(i).getRang(), normal);
            PdfPCell cellrang = new PdfPCell(parang);
            cellrang.setBorder(Rectangle.NO_BORDER);

            PdfPCell cellvide = new PdfPCell();
            cellvide.setBorder(Rectangle.NO_BORDER);

            table2.addCell(celltext);
            table2.addCell(celltext2);
            table2.addCell(celltext3);

            PdfPTable table3;
            if (!affMentionEtudiant) {
                table3 = new PdfPTable(3);
                int[] tabWidth2 = { 25, 20, 25 };
                table3.setWidths(tabWidth2);
            } else {
                table3 = new PdfPTable(4);
                int[] tabWidth2 = { 25, 20, 25, 8 };
                table3.setWidths(tabWidth2);
            }

            int j = 0;
            List<Resultat> lres = etudiant.getDiplomes().get(i).getResultats();
            while (j < lres.size()) {

                Paragraph pa5 = new Paragraph(lres.get(j).getSession(), normal);
                PdfPCell celltext5 = new PdfPCell(pa5);
                celltext5.setBorder(Rectangle.NO_BORDER);
                table3.addCell(celltext5);

                if (lres.get(j).getNote() != null) {
                    Paragraph pa6 = new Paragraph(lres.get(j).getNote().toString(), normal);
                    PdfPCell celltext6 = new PdfPCell(pa6);
                    celltext6.setBorder(Rectangle.NO_BORDER);
                    table3.addCell(celltext6);
                } else {
                    Paragraph pa6 = new Paragraph("", normal);
                    PdfPCell celltext6 = new PdfPCell(pa6);
                    celltext6.setBorder(Rectangle.NO_BORDER);
                    table3.addCell(celltext6);
                }

                Paragraph pa7 = new Paragraph(lres.get(j).getAdmission(), normal);
                PdfPCell celltext7 = new PdfPCell(pa7);
                celltext7.setBorder(Rectangle.NO_BORDER);
                table3.addCell(celltext7);

                if (affMentionEtudiant) {
                    Paragraph pa8 = new Paragraph(lres.get(j).getCodMention(), normal);
                    PdfPCell celltext8 = new PdfPCell(pa8);
                    celltext8.setBorder(Rectangle.NO_BORDER);
                    table3.addCell(celltext8);
                }

                j++;
            }

            PdfPCell celltext4 = new PdfPCell(table3);
            celltext4.setBorder(Rectangle.NO_BORDER);
            table2.addCell(celltext4);

            //if(config.isAffRangEtudiant()){
            if (etudiant.getDiplomes().get(i).isAfficherRang()) {
                table2.addCell(cellrang);
            } else {
                //On insere une cellule vide si on affiche pas ce rang, alors que la colonne rang fait partie de la table
                if (etudiant.isAfficherRang()) {
                    table2.addCell(cellvide);
                }
            }

        }

        document.add(table);
        document.add(table2);
        document.add(new Paragraph("\n"));

        //Partie ETAPES
        PdfPTable tabletape = new PdfPTable(1);
        tabletape.setWidthPercentage(98);
        PdfPCell celletape = new PdfPCell(new Paragraph(applicationContext
                .getMessage("pdf.etapes", null, Locale.getDefault()).toUpperCase(Locale.getDefault()), header));
        celletape.setBorder(Rectangle.NO_BORDER);
        celletape.setBackgroundColor(new Color(153, 153, 255));
        tabletape.addCell(celletape);

        PdfPTable tabletape2;

        //if(!config.isAffRangEtudiant()){
        if (!etudiant.isAfficherRang()) {
            tabletape2 = new PdfPTable(4);
            tabletape2.setWidthPercentage(98);
            int[] tabWidthetape = { 26, 35, tailleColonneLib, 70 };
            tabletape2.setWidths(tabWidthetape);
        } else {
            tabletape2 = new PdfPTable(5);
            tabletape2.setWidthPercentage(98);
            int[] tabWidthetape = { 26, 35, tailleColonneLib - 5, 70, 15 };
            tabletape2.setWidths(tabWidthetape);
        }

        PdfPCell ct3etape = new PdfPCell(new Paragraph(
                applicationContext.getMessage("pdf.etape", null, Locale.getDefault()), normalbig));
        ct3etape.setBorder(Rectangle.BOTTOM);
        ct3etape.setBorderColorBottom(Color.black);

        tabletape2.addCell(ct1);
        tabletape2.addCell(ct2);
        tabletape2.addCell(ct3etape);

        tabletape2.addCell(ct7);

        //if(!config.isAffRangEtudiant()){
        if (etudiant.isAfficherRang()) {
            tabletape2.addCell(ctrang);
        }

        for (int i = 0; i < etudiant.getEtapes().size(); i++) {
            Paragraph pa = new Paragraph(etudiant.getEtapes().get(i).getAnnee(), normal);
            PdfPCell celltext = new PdfPCell(pa);
            celltext.setBorder(Rectangle.NO_BORDER);
            tabletape2.addCell(celltext);

            Paragraph pa2 = new Paragraph(
                    etudiant.getEtapes().get(i).getCode() + "/" + etudiant.getEtapes().get(i).getVersion(),
                    normal);
            PdfPCell celltext2 = new PdfPCell(pa2);
            celltext2.setBorder(Rectangle.NO_BORDER);
            tabletape2.addCell(celltext2);

            Paragraph pa3 = new Paragraph(etudiant.getEtapes().get(i).getLibelle(), normal);
            PdfPCell celltext3 = new PdfPCell(pa3);
            celltext3.setBorder(Rectangle.NO_BORDER);
            tabletape2.addCell(celltext3);

            Paragraph parEtapeRang = new Paragraph(etudiant.getEtapes().get(i).getRang(), normal);
            PdfPCell cellEtapeRang = new PdfPCell(parEtapeRang);
            cellEtapeRang.setBorder(Rectangle.NO_BORDER);

            PdfPCell cellvide = new PdfPCell();
            cellvide.setBorder(Rectangle.NO_BORDER);

            PdfPTable table3;

            if (!affMentionEtudiant) {
                table3 = new PdfPTable(3);
                int[] tabWidth2 = { 25, 20, 25 };
                table3.setWidths(tabWidth2);
            } else {
                table3 = new PdfPTable(4);
                int[] tabWidth2 = { 25, 20, 25, 8 };
                table3.setWidths(tabWidth2);
            }

            int j = 0;
            List<Resultat> lres = etudiant.getEtapes().get(i).getResultats();
            while (j < lres.size()) {

                Paragraph pa5 = new Paragraph(lres.get(j).getSession(), normal);
                PdfPCell celltext5 = new PdfPCell(pa5);
                celltext5.setBorder(Rectangle.NO_BORDER);
                table3.addCell(celltext5);

                if (lres.get(j).getNote() != null) {
                    Paragraph pa6 = new Paragraph(lres.get(j).getNote().toString(), normal);
                    PdfPCell celltext6 = new PdfPCell(pa6);
                    celltext6.setBorder(Rectangle.NO_BORDER);
                    table3.addCell(celltext6);
                } else {
                    Paragraph pa6 = new Paragraph("", normal);
                    PdfPCell celltext6 = new PdfPCell(pa6);
                    celltext6.setBorder(Rectangle.NO_BORDER);
                    table3.addCell(celltext6);
                }

                Paragraph pa7 = new Paragraph(lres.get(j).getAdmission(), normal);
                PdfPCell celltext7 = new PdfPCell(pa7);
                celltext7.setBorder(Rectangle.NO_BORDER);
                table3.addCell(celltext7);

                if (affMentionEtudiant) {
                    Paragraph pa8 = new Paragraph(lres.get(j).getCodMention(), normal);
                    PdfPCell celltext8 = new PdfPCell(pa8);
                    celltext8.setBorder(Rectangle.NO_BORDER);
                    table3.addCell(celltext8);
                }

                j++;
            }
            PdfPCell celltext4 = new PdfPCell(table3);
            celltext4.setBorder(Rectangle.NO_BORDER);
            tabletape2.addCell(celltext4);

            //if(config.isAffRangEtudiant()){
            if (etudiant.getEtapes().get(i).isAfficherRang()) {
                tabletape2.addCell(cellEtapeRang);
            } else {
                if (etudiant.isAfficherRang()) {
                    tabletape2.addCell(cellvide);
                }
            }

        }

        document.add(tabletape);
        document.add(tabletape2);
        document.add(new Paragraph("\n"));

        //Partie Informations
        if (etudiant.isSignificationResultatsUtilisee()) {
            PdfPTable tablequestions = new PdfPTable(1);
            tablequestions.setWidthPercentage(98);
            PdfPCell cellquestions = new PdfPCell(new Paragraph(
                    applicationContext.getMessage("pdf.questions", null, Locale.getDefault()) + " ", header));
            cellquestions.setBorder(Rectangle.NO_BORDER);
            cellquestions.setBackgroundColor(new Color(153, 153, 255));
            tablequestions.addCell(cellquestions);

            String grilleSignficationResultats = "";
            Set<String> ss = etudiant.getSignificationResultats().keySet();
            for (String k : ss) {
                if (k != null && !k.equals("") && !k.equals(" ")) {
                    grilleSignficationResultats = grilleSignficationResultats + k + " : "
                            + etudiant.getSignificationResultats().get(k);
                    grilleSignficationResultats = grilleSignficationResultats + "   ";
                }
            }

            PdfPTable tablequestions2 = new PdfPTable(1);
            tablequestions2.setWidthPercentage(98);
            PdfPCell cellquestions2 = new PdfPCell(new Paragraph(
                    applicationContext.getMessage("pdf.code.resultat.signification", null, Locale.getDefault())
                            + " : \n" + grilleSignficationResultats,
                    normal));
            cellquestions2.setBorder(Rectangle.NO_BORDER);
            tablequestions2.addCell(cellquestions2);

            document.add(tablequestions);
            document.add(tablequestions2);
        }

    } catch (BadElementException e) {
        LOG.error("Erreur  la gnration du rsum des notes : BadElementException ", e);
    } catch (MalformedURLException e) {
        LOG.error("Erreur  la gnration du rsum des notes : MalformedURLException ", e);
    } catch (IOException e) {
        LOG.error("Erreur  la gnration du rsum des notes : IOException ", e);
    } catch (DocumentException e) {
        LOG.error("Erreur  la gnration du rsum des notes : DocumentException ", e);
    }
    // step 6: fermeture du document.
    document.close();

}

From source file:fr.univlorraine.mondossierweb.controllers.NoteController.java

License:Apache License

/**
 * //from www  . ja va 2 s.c o  m
 * @param document pdf
 */
public void creerPdfDetail(final Document document, Etudiant etudiant, Etape etape) {

    //configuration des fonts
    Font normal = FontFactory.getFont(FontFactory.TIMES_ROMAN, 10, Font.NORMAL);
    Font normalbig = FontFactory.getFont(FontFactory.TIMES_ROMAN, 11, Font.BOLD);
    Font legerita = FontFactory.getFont(FontFactory.TIMES_ROMAN, 9, Font.ITALIC);
    Font headerbig = FontFactory.getFont(FontFactory.TIMES_ROMAN, 16, Font.BOLD);
    Font header = FontFactory.getFont(FontFactory.TIMES_ROMAN, 12, Font.BOLD);

    //pieds de pages:
    Date d = new Date();
    DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
    String date = dateFormat.format(d);
    //alignement des libells du pied de page:
    String partie1 = applicationContext.getMessage("pdf.notes.detail", null, Locale.getDefault());
    String partie2 = applicationContext.getMessage("pdf.edition.date", null, Locale.getDefault()) + " : "
            + date;
    if (partie1.length() < ECARTEMENT_PIED_PAGE_PDF) {
        int diff = ECARTEMENT_PIED_PAGE_PDF - partie1.length();
        for (int i = 0; i < diff; i++) {
            partie1 = partie1 + " ";

        }
    }
    if (partie2.length() < ECARTEMENT_PIED_PAGE_PDF) {
        int diff = ECARTEMENT_PIED_PAGE_PDF - partie2.length();
        for (int i = 0; i < diff; i++) {
            partie2 = " " + partie2;
        }
    }

    //creation du pied de page:
    Phrase phra = new Phrase(
            partie1 + " -" + applicationContext.getMessage("pdf.page", null, Locale.getDefault()), legerita);
    Phrase phra2 = new Phrase("- " + partie2, legerita);
    HeaderFooter hf = new HeaderFooter(phra, phra2);
    hf.setAlignment(HeaderFooter.ALIGN_CENTER);
    document.setFooter(hf);
    document.setFooter(hf);

    //ouverte du document.
    document.open();
    try {
        //ajout image test
        if (configController.getLogoUniversitePdf() != null
                && !configController.getLogoUniversitePdf().equals("")) {
            Image image1 = Image.getInstance(configController.getLogoUniversitePdf());
            float scaleRatio = 40 / image1.getHeight();
            float newWidth = scaleRatio * image1.getWidth();
            image1.scaleAbsolute(newWidth, 40);
            image1.setAbsolutePosition(800 - newWidth, 528);
            document.add(image1);
        }

        //nouveau paragraphe
        Paragraph p = new Paragraph(applicationContext.getMessage("pdf.notes.title", null, Locale.getDefault())
                .toUpperCase(Locale.getDefault()) + "\n\n", headerbig);
        p.setIndentationLeft(15);
        document.add(p);

        if (etudiant.getNom() != null) {
            Paragraph p0 = new Paragraph(etudiant.getNom(), normal);
            p0.setIndentationLeft(15);
            document.add(p0);
        }
        if (etudiant.getCod_etu() != null) {
            Paragraph p01 = new Paragraph(applicationContext.getMessage("pdf.folder", null, Locale.getDefault())
                    + " : " + etudiant.getCod_etu(), normal);
            p01.setIndentationLeft(15);
            document.add(p01);
        }
        if (etudiant.getCod_nne() != null) {
            Paragraph p02 = new Paragraph(applicationContext.getMessage("pdf.nne", null, Locale.getDefault())
                    + " : " + etudiant.getCod_nne(), normal);
            p02.setIndentationLeft(15);
            document.add(p02);
        }
        if (etudiant.getEmail() != null) {
            Paragraph p03 = new Paragraph(applicationContext.getMessage("pdf.mail", null, Locale.getDefault())
                    + " : " + etudiant.getEmail(), normal);
            p03.setIndentationLeft(15);
            document.add(p03);
        }

        Paragraph p03 = new Paragraph(
                applicationContext.getMessage("pdf.edition.date", null, Locale.getDefault()) + " : " + date,
                normal);
        p03.setIndentationLeft(15);
        document.add(p03);
        document.add(new Paragraph("\n"));

        //Partie des notes
        PdfPTable table = new PdfPTable(1);
        table.setWidthPercentage(98);
        //PdfPCell cell = new PdfPCell(new Paragraph(applicationContext.getMessage("pdf.elements.epreuves", null, Locale.getDefault()).toUpperCase(Locale.getDefault()) + " - "+applicationContext.getMessage("pdf.annee.universitaire", null, Locale.getDefault()) + " : " + etape.getAnnee(), header));
        PdfPCell cell = new PdfPCell(new Paragraph(etape.getLibelle() + " - "
                + applicationContext.getMessage("pdf.annee.universitaire", null, Locale.getDefault()) + " : "
                + etape.getAnnee(), header));
        cell.setBorder(Rectangle.NO_BORDER);
        cell.setBackgroundColor(new Color(153, 153, 255));
        table.addCell(cell);

        PdfPTable table2;

        boolean afficherRangElpEpr = etudiantController.isAfficherRangElpEpr();
        boolean affRangEtudiant = configController.isAffRangEtudiant();
        boolean affECTSEtudiant = configController.isAffECTSEtudiant();

        if ((!affRangEtudiant && !afficherRangElpEpr) && !affECTSEtudiant) {
            //NI isAffRangEtudiant  NI isAffECTSEtudiant
            table2 = new PdfPTable(6);
            table2.setWidthPercentage(98);
            int[] tabWidth = { 35, 110, 25, 25, 25, 25 };
            table2.setWidths(tabWidth);
        } else {
            if (((affRangEtudiant || afficherRangElpEpr) && !affECTSEtudiant)
                    || ((!affRangEtudiant && !afficherRangElpEpr) && affECTSEtudiant)) {
                //isAffRangEtudiant  OU isAffECTSEtudiant
                table2 = new PdfPTable(7);
                table2.setWidthPercentage(98);
                int[] tabWidth = { 33, 110, 22, 22, 22, 22, 15 };
                table2.setWidths(tabWidth);
            } else {
                //isAffRangEtudiant  ET isAffECTSEtudiant
                table2 = new PdfPTable(8);
                table2.setWidthPercentage(98);
                int[] tabWidth = { 33, 110, 22, 22, 22, 22, 15, 15 };
                table2.setWidths(tabWidth);
            }
        }

        //Paragraph p1 = new Paragraph(applicationContext.getMessage("pdf.year", null, Locale.getDefault()),normalbig);
        Paragraph p2 = new Paragraph(applicationContext.getMessage("pdf.code", null, Locale.getDefault()),
                normalbig);
        Paragraph p3 = new Paragraph(applicationContext.getMessage("pdf.label", null, Locale.getDefault()),
                normalbig);
        Paragraph parRang = new Paragraph(applicationContext.getMessage("pdf.rank", null, Locale.getDefault()),
                normalbig);
        Paragraph parEcts = new Paragraph(applicationContext.getMessage("pdf.ects", null, Locale.getDefault()),
                normalbig);

        PdfPCell ct4 = new PdfPCell(new Paragraph(
                applicationContext.getMessage("pdf.session", null, Locale.getDefault()) + " 1", normalbig));
        PdfPCell ct5 = new PdfPCell(new Paragraph(
                applicationContext.getMessage("pdf.resultat", null, Locale.getDefault()), normalbig));
        PdfPCell ct6 = new PdfPCell(new Paragraph(
                applicationContext.getMessage("pdf.session", null, Locale.getDefault()) + " 2", normalbig));
        PdfPCell ct7 = new PdfPCell(new Paragraph(
                applicationContext.getMessage("pdf.resultat", null, Locale.getDefault()), normalbig));

        //PdfPCell ct1 = new PdfPCell(p1);
        PdfPCell ct2 = new PdfPCell(p2);
        PdfPCell ct3 = new PdfPCell(p3);
        PdfPCell cellRang = new PdfPCell(parRang);
        PdfPCell cellEcts = new PdfPCell(parEcts);

        //ct1.setBorder(Rectangle.BOTTOM); ct1.setBorderColorBottom(Color.black);
        ct2.setBorder(Rectangle.BOTTOM);
        ct2.setBorderColorBottom(Color.black);
        ct3.setBorder(Rectangle.BOTTOM);
        ct3.setBorderColorBottom(Color.black);
        ct4.setBorder(Rectangle.BOTTOM);
        ct4.setBorderColorBottom(Color.black);
        ct5.setBorder(Rectangle.BOTTOM);
        ct5.setBorderColorBottom(Color.black);
        ct6.setBorder(Rectangle.BOTTOM);
        ct6.setBorderColorBottom(Color.black);
        ct7.setBorder(Rectangle.BOTTOM);
        ct7.setBorderColorBottom(Color.black);
        cellRang.setBorder(Rectangle.BOTTOM);
        cellRang.setBorderColorBottom(Color.black);
        cellEcts.setBorder(Rectangle.BOTTOM);
        cellEcts.setBorderColorBottom(Color.black);

        //table2.addCell(ct1);
        table2.addCell(ct2);
        table2.addCell(ct3);
        table2.addCell(ct4);
        table2.addCell(ct5);
        table2.addCell(ct6);
        table2.addCell(ct7);
        if ((affRangEtudiant || afficherRangElpEpr)) {
            table2.addCell(cellRang);
        }
        if (affRangEtudiant) {
            table2.addCell(cellEcts);
        }

        for (int i = 0; i < etudiant.getElementsPedagogiques().size(); i++) {
            /*String annee = etudiant.getElementsPedagogiques().get(i).getAnnee().replaceAll(applicationContext.getMessage("pdf.replace.ficm", null, Locale.getDefault()), "");
            Paragraph pa = new Paragraph(annee, normal);
            PdfPCell celltext = new PdfPCell(pa);
            celltext.setBorder(Rectangle.NO_BORDER);
            table2.addCell(celltext);*/

            Paragraph pa2 = new Paragraph(etudiant.getElementsPedagogiques().get(i).getCode(), normal);
            PdfPCell celltext2 = new PdfPCell(pa2);
            celltext2.setBorder(Rectangle.NO_BORDER);
            table2.addCell(celltext2);

            String indentation = "";
            for (int j = 0; j < etudiant.getElementsPedagogiques().get(i).getLevel(); j++) {
                indentation = indentation + "     ";
            }
            Paragraph pa3 = new Paragraph(indentation + etudiant.getElementsPedagogiques().get(i).getLibelle(),
                    normal);
            PdfPCell celltext3 = new PdfPCell(pa3);
            celltext3.setBorder(Rectangle.NO_BORDER);
            table2.addCell(celltext3);

            Paragraph pa5 = new Paragraph(getNote1(etudiant.getElementsPedagogiques().get(i)), normal);
            PdfPCell celltext5 = new PdfPCell(pa5);
            celltext5.setBorder(Rectangle.NO_BORDER);
            table2.addCell(celltext5);

            Paragraph pa6 = new Paragraph(etudiant.getElementsPedagogiques().get(i).getRes1(), normal);
            PdfPCell celltext6 = new PdfPCell(pa6);
            celltext6.setBorder(Rectangle.NO_BORDER);
            table2.addCell(celltext6);

            Paragraph pa7 = new Paragraph(getNote2(etudiant.getElementsPedagogiques().get(i)), normal);
            PdfPCell celltext7 = new PdfPCell(pa7);
            celltext7.setBorder(Rectangle.NO_BORDER);
            table2.addCell(celltext7);

            Paragraph pa8 = new Paragraph(etudiant.getElementsPedagogiques().get(i).getRes2(), normal);
            PdfPCell celltext8 = new PdfPCell(pa8);
            celltext8.setBorder(Rectangle.NO_BORDER);
            table2.addCell(celltext8);

            if ((affRangEtudiant || afficherRangElpEpr)) {
                Paragraph parRang2 = new Paragraph(etudiant.getElementsPedagogiques().get(i).getRang(), normal);
                PdfPCell cellRang2 = new PdfPCell(parRang2);
                cellRang2.setBorder(Rectangle.NO_BORDER);
                table2.addCell(cellRang2);
            }

            if (affECTSEtudiant) {
                Paragraph parEcts2 = new Paragraph(etudiant.getElementsPedagogiques().get(i).getEcts(), normal);
                PdfPCell cellEcts2 = new PdfPCell(parEcts2);
                cellEcts2.setBorder(Rectangle.NO_BORDER);
                table2.addCell(cellEcts2);
            }

        }

        document.add(table);
        document.add(table2);
        document.add(new Paragraph("\n"));

        //Partie QUESTIONS
        if (etudiant.isSignificationResultatsUtilisee()) {
            PdfPTable tablequestions = new PdfPTable(1);
            tablequestions.setWidthPercentage(98);
            PdfPCell cellquestions = new PdfPCell(
                    new Paragraph(applicationContext.getMessage("pdf.questions", null, Locale.getDefault())
                            .toUpperCase(Locale.getDefault()) + " ", header));
            cellquestions.setBorder(Rectangle.NO_BORDER);
            cellquestions.setBackgroundColor(new Color(153, 153, 255));
            tablequestions.addCell(cellquestions);

            PdfPTable tablequestions2 = new PdfPTable(1);
            tablequestions2.setWidthPercentage(98);

            String grilleSignficationResultats = "";
            Set<String> ss = etudiant.getSignificationResultats().keySet();
            for (String k : ss) {
                if (k != null && !k.equals("") && !k.equals(" ")) {
                    grilleSignficationResultats = grilleSignficationResultats + k + " : "
                            + etudiant.getSignificationResultats().get(k);
                    grilleSignficationResultats = grilleSignficationResultats + "   ";
                }
            }

            PdfPCell cellquestions2 = new PdfPCell(new Paragraph(
                    applicationContext.getMessage("pdf.code.resultat.signification", null, Locale.getDefault())
                            + " : \n" + grilleSignficationResultats,
                    normal));
            cellquestions2.setBorder(Rectangle.NO_BORDER);
            tablequestions2.addCell(cellquestions2);

            document.add(tablequestions);
            document.add(tablequestions2);

        }

    } catch (BadElementException e) {
        LOG.error("Erreur  la gnration du detail des notes : BadElementException ", e);
    } catch (MalformedURLException e) {
        LOG.error("Erreur  la gnration du detail des notes : MalformedURLException ", e);
    } catch (IOException e) {
        LOG.error("Erreur  la gnration du detail des notes : IOException ", e);
    } catch (DocumentException e) {
        LOG.error("Erreur  la gnration du detail des notes : DocumentException ", e);
    }
    // step 6: fermeture du document.
    document.close();

}

From source file:io.vertigo.dynamo.plugins.export.pdfrtf.AbstractExporterIText.java

License:Apache License

/**
 * Mthode principale qui gre l'export d'un tableau vers un fichier ODS.
 *
 * @param export paramtres du document  exporter
 * @param out flux de sortie//  www.j  ava  2s.com
 * @throws DocumentException Exception
 */
public final void exportData(final Export export, final OutputStream out) throws DocumentException {
    // step 1: creation of a document-object
    final boolean landscape = export.getOrientation() == Export.Orientation.Landscape;
    final Rectangle pageSize = landscape ? PageSize.A4.rotate() : PageSize.A4;
    final Document document = new Document(pageSize, 20, 20, 50, 50); // left,
    // right,
    // top,
    // bottom
    // step 2: we create a writer that listens to the document and directs a
    // PDF-stream to out
    createWriter(document, out);

    // we add some meta information to the document, and we open it
    final String title = export.getTitle();
    if (title != null) {
        final HeaderFooter header = new HeaderFooter(new Phrase(title), false);
        header.setAlignment(Element.ALIGN_LEFT);
        header.setBorder(Rectangle.NO_BORDER);
        document.setHeader(header);
        document.addTitle(title);
    }

    final String author = export.getAuthor();
    document.addAuthor(author);
    document.addCreator(CREATOR);
    document.open();
    try {
        // pour ajouter l'ouverture automatique de la bote de dialogue
        // imprimer
        // (print(false) pour imprimer directement)
        // ((PdfWriter) writer).addJavaScript("this.print(true);", false);

        for (final ExportSheet exportSheet : export.getSheets()) {
            final Table datatable;
            if (exportSheet.hasDtObject()) {
                // table
                datatable = new Table(2);
                datatable.setCellsFitPage(true);
                datatable.setPadding(4);
                datatable.setSpacing(0);

                // data rows
                renderObject(exportSheet, datatable);
            } else {
                // table
                datatable = new Table(exportSheet.getExportFields().size());
                datatable.setCellsFitPage(true);
                datatable.setPadding(4);
                datatable.setSpacing(0);

                // headers
                renderHeaders(exportSheet, datatable);

                // data rows
                renderList(exportSheet, datatable);
            }
            document.add(datatable);
        }
    } finally {
        // we close the document
        document.close();
    }
}

From source file:io.vertigo.quarto.plugins.export.pdfrtf.AbstractExporterIText.java

License:Apache License

/**
 * Mthode principale qui gre l'export d'un tableau vers un fichier ODS.
 *
 * @param export paramtres du document  exporter
 * @param out flux de sortie/*  ww w. j  av  a  2  s . co  m*/
 * @throws DocumentException Exception
 */
public final void exportData(final Export export, final OutputStream out) throws DocumentException {
    // step 1: creation of a document-object
    final boolean landscape = export.getOrientation() == Export.Orientation.Landscape;
    final Rectangle pageSize = landscape ? PageSize.A4.rotate() : PageSize.A4;
    final Document document = new Document(pageSize, 20, 20, 50, 50); // left, right, top, bottom
    // step 2: we create a writer that listens to the document and directs a PDF-stream to out
    createWriter(document, out);

    // we add some meta information to the document, and we open it
    final String title = export.getTitle();
    if (title != null) {
        final HeaderFooter header = new HeaderFooter(new Phrase(title), false);
        header.setAlignment(Element.ALIGN_LEFT);
        header.setBorder(Rectangle.NO_BORDER);
        document.setHeader(header);
        document.addTitle(title);
    }

    final String author = export.getAuthor();
    document.addAuthor(author);
    document.addCreator(CREATOR);
    document.open();
    try {
        // pour ajouter l'ouverture automatique de la bote de dialogue imprimer (print(false) pour imprimer directement)
        // ((PdfWriter) writer).addJavaScript("this.print(true);", false);

        for (final ExportSheet exportSheet : export.getSheets()) {
            final Table datatable;
            if (exportSheet.hasDtObject()) {
                // table
                datatable = new Table(2);
                datatable.setCellsFitPage(true);
                datatable.setPadding(4);
                datatable.setSpacing(0);

                // data rows
                renderObject(exportSheet, datatable);
            } else {
                // table
                datatable = new Table(exportSheet.getExportFields().size());
                datatable.setCellsFitPage(true);
                datatable.setPadding(4);
                datatable.setSpacing(0);

                // headers
                renderHeaders(exportSheet, datatable);

                // data rows
                renderList(exportSheet, datatable);
            }
            document.add(datatable);
        }
    } finally {
        // we close the document
        document.close();
    }
}

From source file:ispyb.client.biosaxs.pdf.DataAcquisitionPDFReport.java

License:Open Source License

private ByteArrayOutputStream exportAsPdf(Experiment3VO experiment, List<Buffer3VO> buffers,
        Proposal3VO proposal) throws Exception {
    Document document = new Document(PageSize.A4.rotate(), 10, 10, 20, 20);

    document.addTitle("exportSamplesView");
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    PdfWriter.getInstance(document, baos);
    HeaderFooter header = new HeaderFooter(
            new Phrase(proposal.getTitle() + " " + proposal.getCode() + proposal.getNumber()), false);

    header.setAlignment(Element.ALIGN_CENTER);
    header.getBefore().getFont().setSize(8);
    HeaderFooter footer = new HeaderFooter(new Phrase("Page n."), true);
    footer.setAlignment(Element.ALIGN_RIGHT);
    footer.setBorderWidth(1);/*from   w  w  w.  java  2 s.c  om*/
    footer.getBefore().getFont().setSize(6);

    document.setHeader(header);
    document.setFooter(footer);

    document.open();

    BaseFont bf = BaseFont.createFont(FONTS[0][0], FONTS[0][1], BaseFont.EMBEDDED);
    Font font = new Font(bf, 6);
    document.add(new Paragraph("Data Acquisition: " + experiment.getName(), font));
    document.add(new Paragraph("Type: " + experiment.getType(), font));
    document.add(new Paragraph("Date: " + experiment.getCreationDate(), font));
    document.add(new Paragraph("Proposal: " + proposal.getCode() + proposal.getNumber(), font));
    document.add(new Paragraph("Title: " + proposal.getTitle(), font));

    document.add(new Paragraph(" "));
    document.add(new Paragraph("Measurements", PdfRtfExporter.FONT_DOC_BOLD));
    document.add(new Paragraph(" "));
    document.add(this.getMeasurementTable(experiment, buffers));
    document.newPage();
    document.add(new Paragraph(" "));
    document.add(new Paragraph("Analysis", PdfRtfExporter.FONT_DOC_BOLD));
    document.add(new Paragraph(" "));
    document.add(this.getAnalysis(experiment, buffers));
    document.newPage();
    document.add(this.getImageTable(experiment, buffers));

    document.close();
    return baos;
}

From source file:ispyb.client.mx.collection.PdfRtfExporter.java

License:Open Source License

/**
 * sets the header in the specified document
 * //from   w  w w. j  a v a  2s .  c  o  m
 * @param document
 * @throws Exception
 */
private void setHeader(Document document) throws Exception {
    HeaderFooter header;
    String h = "Data Collections for Proposal: " + proposalCode + proposalNumber;
    if (name != null) {
        h += "  ---  Sample: " + name;
    } else if (slv != null) {
        h += " on Beamline: " + (slv.getBeamlineName() == null ? "" : slv.getBeamlineName())
                + "  ---  Session start date: "
                + (slv.getStartDate() == null ? "" : Formatter.formatDate(slv.getStartDate()));
    }
    header = new HeaderFooter(new Phrase(h, FONT_HELVETICA_10), false);
    header.setAlignment(Element.ALIGN_CENTER);
    header.setBorderWidth(1);
    header.getBefore().getFont().setSize(SIZE_FONT);
    document.setHeader(header);
}

From source file:ispyb.client.mx.collection.PdfRtfExporter.java

License:Open Source License

/**
 * sets the header in the specified document
 * //  ww w  .jav a 2 s  .co m
 * @param document
 * @throws Exception
 */
private void setHeaderForDetails(Document document) throws Exception {
    HeaderFooter header;
    String h = "Screening report for Proposal: " + proposalCode + proposalNumber;
    if (name != null) {
        h += "  ---  Sample: " + name;
    } else if (slv != null) {
        h += " on Beamline: " + (slv.getBeamlineName() == null ? "" : slv.getBeamlineName())
                + "  ---  Session start date: "
                + (slv.getStartDate() == null ? "" : Formatter.formatDate(slv.getStartDate()));
    }
    header = new HeaderFooter(new Phrase(h, FONT_HELVETICA_10), false);
    header.setAlignment(Element.ALIGN_CENTER);
    header.setBorderWidth(1);
    header.getBefore().getFont().setSize(SIZE_FONT);
    document.setHeader(header);
}

From source file:ispyb.client.mx.collection.PdfRtfExporter.java

License:Open Source License

/**
 * sets the header in the specified document
 * //  w ww. j  a v  a  2  s . c o  m
 * @param document
 * @throws Exception
 */
private void setHeaderMXPressO(Document document) throws Exception {
    HeaderFooter header;
    String h = "MXPressO/MXPressE for Proposal: " + proposalCode + proposalNumber;
    if (name != null) {
        h += "  ---  Sample: " + name;
    } else if (slv != null) {
        h += " on Beamline: " + (slv.getBeamlineName() == null ? "" : slv.getBeamlineName())
                + "  ---  Session start date: "
                + (slv.getStartDate() == null ? "" : Formatter.formatDate(slv.getStartDate()));
    }
    header = new HeaderFooter(new Phrase(h, FONT_HELVETICA_10), false);
    header.setAlignment(Element.ALIGN_CENTER);
    header.setBorderWidth(1);
    header.getBefore().getFont().setSize(SIZE_FONT);
    document.setHeader(header);
}

From source file:ispyb.client.mx.collection.PdfRtfExporter.java

License:Open Source License

/**
 * set footer in the specified document//  w  ww. java  2s  .co m
 * 
 * @param document
 * @throws Exception
 */
private void setFooter(Document document) throws Exception {
    HeaderFooter footer = new HeaderFooter(new Phrase("Page n."), true);
    footer.setAlignment(Element.ALIGN_RIGHT);
    footer.setBorderWidth(1);
    footer.getBefore().getFont().setSize(SMALL_FONT);
    document.setFooter(footer);
}

From source file:ispyb.client.mx.results.ExportAutoProcAction.java

License:Open Source License

/**
 * sets the header in the specified document
 * //from   w  ww.  ja  v a 2s .co m
 * @param document
 * @throws Exception
 */
private void setHeader(Document document) throws Exception {
    HeaderFooter header;
    String h = "Auto Processing for Proposal: " + proposalCode + proposalNumber;
    if (slv != null) {
        h += " on Beamline: " + (slv.getBeamlineName() == null ? "" : slv.getBeamlineName())
                + "  ---  Session start date: "
                + (slv.getStartDate() == null ? "" : Formatter.formatDate(slv.getStartDate()));
    }
    header = new HeaderFooter(new Phrase(h, PdfRtfExporter.FONT_HELVETICA_10), false);
    header.setAlignment(Element.ALIGN_CENTER);
    header.setBorderWidth(1);
    header.getBefore().getFont().setSize(PdfRtfExporter.SIZE_FONT);
    document.setHeader(header);
}