List of usage examples for com.lowagie.text Document close
boolean close
To view the source code for com.lowagie.text Document close.
Click Source Link
From source file:fitnessmanagersystem.ExportPanelProducts.java
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed Document document = new Document(PageSize.A2.rotate()); try {//from w ww. ja v a 2 s . co m String FileDialog = null; // PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("C:\\Users\\DISHLIEV\\Desktop\\jTsdfb11wablwe.pdf")); JFileChooser chooser = new JFileChooser("."); FileNameExtensionFilter filter = new FileNameExtensionFilter("PDF", "pdf"); chooser.setFileFilter(filter); chooser.showSaveDialog(this); //chooser.setFileFilter(filter); // chooser.addChoosableFileFilter(filter); File file = chooser.getSelectedFile(); String fileName = chooser.getSelectedFile().getPath(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(fileName)); // PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(FileDialog+"C:\\Users\\DISHLIEV\\Desktop\\jTsdfb11wablwe.pdf")); /* FileDialog saveFileDialog = new FileDialog(new Frame(), "Save", FileDialog.SAVE); saveFileDialog.setFile(""); saveFileDialog.setVisible(true); saveFileDialog.getDirectory(); try { dexceleporte exp = new dexceleporte(); exp.fillData(jTable1, new File(saveFileDialog.getDirectory()+saveFileDialog.getFile()+".xls")); } catch (Exception ex) { ex.printStackTrace(); } */ document.open(); PdfContentByte cb = writer.getDirectContent(); cb.saveState(); Graphics2D g2 = cb.createGraphicsShapes(1500, 500); Shape oldClip = g2.getClip(); g2.clipRect(0, 0, 1500, 500); jTable12dfv.print(g2); g2.setClip(oldClip); g2.dispose(); cb.restoreState(); //} } catch (FileNotFoundException | DocumentException e) { System.err.println(e.getMessage()); } document.close(); }
From source file:fr.aliasource.webmail.server.export.ConversationExporter.java
License:GNU General Public License
public void exportToPdf(IAccount account, ConversationReference cr, ClientMessage[] cm, OutputStream out) throws ConversationExporterException { try {//from w ww . java 2s . c om Document document = new Document(PageSize.A4, 22, 22, 80, 72); PdfWriter writer = PdfWriter.getInstance(document, out); writer.setPageEvent(new ConversationPdfEventHandler(account, cr, cm)); // NPP by Tom if (cr.getTitle() != null) { document.addTitle(cr.getTitle()); } else { document.addTitle(""); } document.addAuthor("MiniG"); document.open(); document.add(Chunk.NEWLINE); Set<ClientMessage> scm = new LinkedHashSet<ClientMessage>(); for (int i = 0; i < cm.length; i++) { scm.add(cm[i]); } this.exportMessage(scm, document, false); document.close(); } catch (Exception e) { throw new ConversationExporterException("Cannot export conversation ", e); } }
From source file:fr.opensagres.xdocreport.itext.extension.NestedTable.java
License:Open Source License
public static void main(String[] args) { Document document = new Document(PageSize.A4.rotate(), 10, 10, 10, 10); try {/*from w w w . j ava 2 s. c o m*/ PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("NestedTable.pdf")); document.open(); PdfPTable table = new PdfPTable(1); PdfPTable nestedTable = new PdfPTable(2); PdfPCell cell = new PdfPCell(nestedTable); PdfPCell cell1 = new PdfPCell(); cell1.addElement(new Chunk("cell1")); nestedTable.addCell(cell1); PdfPCell cell2 = new PdfPCell(); cell2.addElement(new Chunk("cell2")); nestedTable.addCell(cell2); table.addCell(cell); document.add(table); } catch (Exception de) { de.printStackTrace(); } document.close(); }
From source file:fr.opensagres.xdocreport.itext.extension.NestedTable2.java
License:Open Source License
public static void main(String[] args) { Document document = new Document(PageSize.A4.rotate(), 10, 10, 10, 10); try {// w w w. ja v a 2 s . com PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("NestedTable2.pdf")); document.open(); PdfPTable table = new PdfPTable(1); PdfPTable nestedTable = new PdfPTable(2); PdfPCell cell1 = new PdfPCell(); cell1.addElement(new Chunk("cell1")); nestedTable.addCell(cell1); PdfPCell cell2 = new PdfPCell(); cell2.addElement(new Chunk("cell2")); nestedTable.addCell(cell2); Paragraph paragraph = new Paragraph(); paragraph.add(new Chunk("eeeeeeeeee")); paragraph.add(nestedTable); PdfPCell cell = new PdfPCell(paragraph); //cell.addElement( nestedTable ); //cell.addElement( new Chunk("cell3") ); //cell. table.addCell(cell); document.add(table); } catch (Exception de) { de.printStackTrace(); } document.close(); }
From source file:fr.opensagres.xdocreport.itext.extension.SimpleTable.java
License:Open Source License
public static void main(String[] args) { Document document = new Document(PageSize.A4.rotate(), 10, 10, 10, 10); try {// w w w. jav a 2 s .c o m PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("SimpleTable.pdf")); document.open(); PdfPTable table = new PdfPTable(2); PdfPCell cell; Paragraph p = new Paragraph("Text Text Text "); table.addCell("cell"); table.addCell(p); table.addCell("cell"); cell = new PdfPCell(p); p = new Paragraph("Text Text Text "); //Chunk c = new Chunk( "zzzzzzzzzz" ); //cell.setPadding( 0f ); //cell.getColumn().setAdjustFirstLine( false ); // make a room for borders //cell.setUseBorderPadding( false ); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setBackgroundColor(Color.red); cell.addElement(p); cell.setUseAscender(true); //cell.addElement(c ); // cell.setPaddingTop( 0f ); // cell.setPaddingLeft( 20f ); table.addCell(cell); //table.addCell( "cell" ); document.add(table); } catch (Exception de) { de.printStackTrace(); } document.close(); }
From source file:fr.opensagres.xdocreport.itext.extension.TableWithAlignment.java
License:Open Source License
public static void main(String[] args) { Document document = new Document(PageSize.A4.rotate(), 10, 10, 10, 10); try {/*from w ww. j av a 2 s .c o m*/ PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("TableWithAlignment.pdf")); document.open(); PdfPTable table = new PdfPTable(2); table.getDefaultCell().setUseAscender(true); table.getDefaultCell().setUseDescender(true); table.setWidths(new float[] { 5, 10 }); table.setWidthPercentage(10); PdfPCell cell1 = new PdfPCell(); cell1.addElement(new Chunk("cell1")); table.addCell(cell1); PdfPCell cell2 = new PdfPCell(); cell2.addElement(new Chunk("cell2")); table.addCell(cell2); table.setSpacingBefore(-100); document.add(table); } catch (Exception de) { de.printStackTrace(); } document.close(); }
From source file:fr.opensagres.xdocreport.itext.extension.TableWithVerticalAlignment.java
License:Open Source License
public static void main(String[] args) { Document document = new Document(PageSize.A4.rotate(), 10, 10, 10, 10); try {/*from w w w . ja va 2s. com*/ PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("TableWithVerticalAlignment.pdf")); document.open(); PdfPTable table = new PdfPTable(1); // PdfPCell cell1 = new PdfPCell(); // cell1.setVerticalAlignment( Element.ALIGN_BOTTOM ); // //cell1.setMinimumHeight( 100f ); // cell1.addElement( new Chunk( "cell1" ) ); // table.addCell( cell1 ); PdfPCell cell2 = new PdfPCell(); Paragraph p = new Paragraph(); p.add(new Chunk("cellp&")); cell2.addElement(p); cell2.setVerticalAlignment(Element.ALIGN_BOTTOM); cell2.setMinimumHeight(38f); table.addCell(cell2); document.add(table); } catch (Exception de) { de.printStackTrace(); } document.close(); }
From source file:fr.paris.lutece.plugins.directory.modules.pdfproducer.utils.PDFUtils.java
License:Open Source License
/** * method to create PDF/*from w ww. j av a2 s .c o m*/ * @param adminUser The admin user * @param locale The locale * @param strNameFile PDF name * @param out OutputStream * @param nIdRecord the id record * @param listIdEntryConfig list of config id entry * @param bExtractNotFilledField if true, extract empty fields, false */ public static void doCreateDocumentPDF(AdminUser adminUser, Locale locale, String strNameFile, OutputStream out, int nIdRecord, List<Integer> listIdEntryConfig, Boolean bExtractNotFilledField) { Document document = new Document(PageSize.A4); Plugin plugin = PluginService.getPlugin(DirectoryPlugin.PLUGIN_NAME); EntryFilter filter; Record record = RecordHome.findByPrimaryKey(nIdRecord, plugin); filter = new EntryFilter(); filter.setIdDirectory(record.getDirectory().getIdDirectory()); filter.setIsGroup(EntryFilter.FILTER_TRUE); List<IEntry> listEntry = DirectoryUtils.getFormEntries(record.getDirectory().getIdDirectory(), plugin, adminUser); int nIdDirectory = record.getDirectory().getIdDirectory(); Directory directory = DirectoryHome.findByPrimaryKey(nIdDirectory, plugin); try { PdfWriter.getInstance(document, out); } catch (DocumentException e) { AppLogService.error(e); } document.open(); if (record.getDateCreation() != null) { SimpleDateFormat monthDayYearformatter = new SimpleDateFormat( AppPropertiesService.getProperty(PROPERTY_POLICE_FORMAT_DATE)); Font fontDate = new Font( DirectoryUtils.convertStringToInt(AppPropertiesService.getProperty(PROPERTY_POLICE_NAME)), DirectoryUtils.convertStringToInt(AppPropertiesService.getProperty(PROPERTY_POLICE_SIZE_DATE)), DirectoryUtils .convertStringToInt(AppPropertiesService.getProperty(PROPERTY_POLICE_STYLE_DATE))); Paragraph paragraphDate = new Paragraph( new Phrase(monthDayYearformatter.format(record.getDateCreation()).toString(), fontDate)); paragraphDate.setAlignment(DirectoryUtils .convertStringToInt(AppPropertiesService.getProperty(PROPERTY_POLICE_ALIGN_DATE))); try { document.add(paragraphDate); } catch (DocumentException e) { AppLogService.error(e); } } Image image; try { image = Image.getInstance(ImageIO.read(new File(AppPathService .getAbsolutePathFromRelativePath(AppPropertiesService.getProperty(PROPERTY_IMAGE_URL)))), null); image.setAlignment( DirectoryUtils.convertStringToInt(AppPropertiesService.getProperty(PROPERTY_IMAGE_ALIGN))); float fitWidth; float fitHeight; try { fitWidth = Float.parseFloat(AppPropertiesService.getProperty(PROPERTY_IMAGE_FITWIDTH)); fitHeight = Float.parseFloat(AppPropertiesService.getProperty(PROPERTY_IMAGE_FITHEIGHT)); } catch (NumberFormatException e) { fitWidth = 100f; fitHeight = 100f; } image.scaleToFit(fitWidth, fitHeight); try { document.add(image); } catch (DocumentException e) { AppLogService.error(e); } } catch (BadElementException e) { AppLogService.error(e); } catch (MalformedURLException e) { AppLogService.error(e); } catch (IOException e) { AppLogService.error(e); } directory.getTitle(); Font fontTitle = new Font( DirectoryUtils.convertStringToInt(AppPropertiesService.getProperty(PROPERTY_POLICE_NAME)), DirectoryUtils .convertStringToInt(AppPropertiesService.getProperty(PROPERTY_POLICE_SIZE_TITLE_DIRECTORY)), DirectoryUtils.convertStringToInt( AppPropertiesService.getProperty(PROPERTY_POLICE_STYLE_TITLE_DIRECTORY))); fontTitle.isUnderlined(); Paragraph paragraphHeader = new Paragraph(new Phrase(directory.getTitle(), fontTitle)); paragraphHeader.setAlignment(Element.ALIGN_CENTER); paragraphHeader.setSpacingBefore(DirectoryUtils.convertStringToInt( AppPropertiesService.getProperty(PROPERTY_POLICE_SPACING_BEFORE_TITLE_DIRECTORY))); paragraphHeader.setSpacingAfter(DirectoryUtils.convertStringToInt( AppPropertiesService.getProperty(PROPERTY_POLICE_SPACING_AFTER_TITLE_DIRECTORY))); try { document.add(paragraphHeader); } catch (DocumentException e) { AppLogService.error(e); } builderPDFWithEntry(document, plugin, nIdRecord, listEntry, listIdEntryConfig, locale, bExtractNotFilledField); document.close(); }
From source file:fr.univlorraine.mondossierweb.controllers.CalendrierController.java
License:Apache License
/** * //from www . j a va 2 s.co m * @param document pdf */ public void creerPdfCalendrier(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 libells du pied de page: String partie1 = applicationContext.getMessage("pdf.calendrier.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; } } //cration 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); } //nouveau paragraphe Paragraph p = new Paragraph( applicationContext.getMessage("pdf.calendrier.title", null, Locale.getDefault()).toUpperCase() + "\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 Calendrier PdfPTable table = new PdfPTable(1); table.setWidthPercentage(98); PdfPCell cell = new PdfPCell(new Paragraph(applicationContext .getMessage("pdf.calendrier.subtitle", null, Locale.getDefault()).toUpperCase() + " ", header)); cell.setBorder(Rectangle.NO_BORDER); cell.setBackgroundColor(new Color(153, 153, 255)); table.addCell(cell); PdfPTable table2; boolean affNumPlaceExamen = configController.isAffNumPlaceExamen(); if (affNumPlaceExamen) { table2 = new PdfPTable(7); table2.setWidthPercentage(98); int[] tabWidth = { 15, 10, 10, 40, 30, 10, 60 }; table2.setWidths(tabWidth); } else { table2 = new PdfPTable(6); table2.setWidthPercentage(98); int[] tabWidth = { 15, 10, 10, 45, 30, 65 }; table2.setWidths(tabWidth); } Paragraph p1 = new Paragraph(applicationContext.getMessage("pdf.date", null, Locale.getDefault()), normalbig); Paragraph p2 = new Paragraph(applicationContext.getMessage("pdf.heure", null, Locale.getDefault()), normalbig); Paragraph p3 = new Paragraph(applicationContext.getMessage("pdf.duree", null, Locale.getDefault()), normalbig); Paragraph p4 = new Paragraph(applicationContext.getMessage("pdf.batiment", null, Locale.getDefault()), normalbig); Paragraph p5 = new Paragraph(applicationContext.getMessage("pdf.salle", null, Locale.getDefault()), normalbig); Paragraph p6 = new Paragraph(applicationContext.getMessage("pdf.place", null, Locale.getDefault()), normalbig); Paragraph p7 = new Paragraph(applicationContext.getMessage("pdf.examen", null, Locale.getDefault()), normalbig); PdfPCell ct1 = new PdfPCell(p1); PdfPCell ct2 = new PdfPCell(p2); PdfPCell ct3 = new PdfPCell(p3); PdfPCell ct4 = new PdfPCell(p4); PdfPCell ct5 = new PdfPCell(p5); PdfPCell ct6 = new PdfPCell(p6); PdfPCell ct7 = new PdfPCell(p7); ct1.setBorder(Rectangle.BOTTOM); ct1.setBorderColorBottom(Color.black); ct2.setBorder(Rectangle.BOTTOM); ct2.setBorderColorBottom(Color.black); ct3.setBorder(Rectangle.BOTTOM); ct2.setBorderColorBottom(Color.black); ct4.setBorder(Rectangle.BOTTOM); ct1.setBorderColorBottom(Color.black); ct5.setBorder(Rectangle.BOTTOM); ct2.setBorderColorBottom(Color.black); ct6.setBorder(Rectangle.BOTTOM); ct2.setBorderColorBottom(Color.black); ct7.setBorder(Rectangle.BOTTOM); ct2.setBorderColorBottom(Color.black); table2.addCell(ct1); table2.addCell(ct2); table2.addCell(ct3); table2.addCell(ct4); table2.addCell(ct5); if (affNumPlaceExamen) table2.addCell(ct6); table2.addCell(ct7); for (int i = 0; i < etudiant.getCalendrier().size(); i++) { Paragraph pa = new Paragraph(etudiant.getCalendrier().get(i).getDatedeb(), normal); PdfPCell celltext = new PdfPCell(pa); celltext.setBorder(Rectangle.NO_BORDER); Paragraph pa2 = new Paragraph(etudiant.getCalendrier().get(i).getHeure(), normal); PdfPCell celltext2 = new PdfPCell(pa2); celltext2.setBorder(Rectangle.NO_BORDER); Paragraph pa3 = new Paragraph(etudiant.getCalendrier().get(i).getDuree(), normal); PdfPCell celltext3 = new PdfPCell(pa3); celltext3.setBorder(Rectangle.NO_BORDER); Paragraph pa4 = new Paragraph(etudiant.getCalendrier().get(i).getBatiment(), normal); PdfPCell celltext4 = new PdfPCell(pa4); celltext4.setBorder(Rectangle.NO_BORDER); Paragraph pa5 = new Paragraph(etudiant.getCalendrier().get(i).getSalle(), normal); PdfPCell celltext5 = new PdfPCell(pa5); celltext5.setBorder(Rectangle.NO_BORDER); Paragraph pa6 = new Paragraph(etudiant.getCalendrier().get(i).getPlace(), normal); PdfPCell celltext6 = new PdfPCell(pa6); celltext6.setBorder(Rectangle.NO_BORDER); Paragraph pa7 = new Paragraph(etudiant.getCalendrier().get(i).getEpreuve(), normal); PdfPCell celltext7 = new PdfPCell(pa7); celltext7.setBorder(Rectangle.NO_BORDER); table2.addCell(celltext); table2.addCell(celltext2); table2.addCell(celltext3); table2.addCell(celltext4); table2.addCell(celltext5); if (affNumPlaceExamen) table2.addCell(celltext6); table2.addCell(celltext7); /*PdfPCell celltext4 = new PdfPCell(table3); celltext4.setBorder(Rectangle.NO_BORDER); table2.addCell(celltext4);*/ } document.add(table); document.add(table2); document.add(new Paragraph("\n")); } catch (BadElementException e) { LOG.error("Erreur la gnration du calendrier des examens : BadElementException ", e); } catch (MalformedURLException e) { LOG.error("Erreur la gnration du calendrier des examens : MalformedURLException ", e); } catch (IOException e) { LOG.error("Erreur la gnration du calendrier des examens : IOException ", e); } catch (DocumentException e) { LOG.error("Erreur la gnration du calendrier des examens : DocumentException ", e); } // step 6: fermeture du document. document.close(); }
From source file:fr.univlorraine.mondossierweb.controllers.InscriptionController.java
License:Apache License
/** * //from www . j av a 2 s . c om * @param document pdf */ public void creerPdfCertificatScolarite(final Document document, Etudiant etudiant, Inscription inscription) { //configuration des fonts Font normal = FontFactory.getFont(FontFactory.HELVETICA, 10, Font.NORMAL); Font normalBig = FontFactory.getFont(FontFactory.HELVETICA, 12, Font.BOLD); Font header = FontFactory.getFont(FontFactory.HELVETICA, 14, Font.BOLD); //date Date d = new Date(); DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); String date = dateFormat.format(d); document.open(); try { Signataire signataire = multipleApogeeService .getSignataire(configController.getCertScolCodeSignataire()); // Ajout Bordeaux1 if (configController.isCertScolUtiliseLogo()) { //ajout image test if (configController.getLogoUniversitePdf() != null && !configController.getLogoUniversitePdf().equals("")) { Image imageLogo = Image.getInstance(configController.getLogoUniversitePdf()); float scaleRatio = 40 / imageLogo.getHeight(); float newWidth = scaleRatio * imageLogo.getWidth(); imageLogo.scaleAbsolute(newWidth, 40); imageLogo.setAbsolutePosition(100, 750); document.add(imageLogo); } else if (configController.getCertScolHeaderUniv() != null && !configController.getCertScolHeaderUniv().equals("")) { Image imageHeader = Image.getInstance(configController.getCertScolHeaderUniv()); float scaleHeader = 600 / imageHeader.getWidth(); float newHeigthHeader = scaleHeader * imageHeader.getHeight(); imageHeader.scaleAbsolute(600, newHeigthHeader); imageHeader.setAbsolutePosition(0, 765); document.add(imageHeader); } if (configController.getCertScolFooter() != null && !configController.getCertScolFooter().equals("")) { Image imageFooter = Image.getInstance(configController.getCertScolFooter()); float scaleFooter = 600 / imageFooter.getWidth(); float newHeigthFooter = scaleFooter * imageFooter.getHeight(); imageFooter.scaleAbsolute(600, newHeigthFooter); imageFooter.setAbsolutePosition(0, 0); document.add(imageFooter); } } Paragraph pTitre = new Paragraph("\n\n" + applicationContext .getMessage("pdf.certificat.title", null, Locale.getDefault()).toUpperCase(), header); pTitre.setAlignment(Element.ALIGN_CENTER); document.add(pTitre); Paragraph pCertifie = new Paragraph("\n\n\n\n" + signataire.getQua_sig() + " " + applicationContext.getMessage("pdf.certificat.certifie", null, Locale.getDefault()) + "\n\n", normal); pCertifie.setAlignment(Element.ALIGN_LEFT); document.add(pCertifie); if (etudiant.getNom() != null) { String civ = multipleApogeeService.getCodCivFromCodInd(etudiant.getCod_ind()); String civCertif = ""; if (civ != null) { if (civ.equals("1")) { civCertif = applicationContext.getMessage("pdf.certificat.civ1", null, Locale.getDefault()); } else if (civ.equals("2")) { civCertif = applicationContext.getMessage("pdf.certificat.civ2", null, Locale.getDefault()); } } Paragraph pNom = new Paragraph(civCertif + " " + etudiant.getNom(), normalBig); pNom.setIndentationLeft(15); document.add(pNom); } if (etudiant.getCod_nne() != null) { Paragraph pNNE = new Paragraph( "\n" + applicationContext.getMessage("pdf.certificat.id", null, Locale.getDefault()) + " : " + etudiant.getCod_nne().toLowerCase(), normal); pNNE.setAlignment(Element.ALIGN_LEFT); document.add(pNNE); } if (etudiant.getCod_etu() != null) { Paragraph p01 = new Paragraph( applicationContext.getMessage("pdf.certificat.numetudiant", null, Locale.getDefault()) + " : " + etudiant.getCod_etu(), normal); p01.setAlignment(Element.ALIGN_LEFT); document.add(p01); } if (etudiant.getDatenaissance() != null) { Paragraph pDateNaissance = new Paragraph( applicationContext.getMessage("pdf.certificat.naissance1", null, Locale.getDefault()) + " " + etudiant.getDatenaissance(), normal); pDateNaissance.setAlignment(Element.ALIGN_LEFT); document.add(pDateNaissance); } if ((etudiant.getLieunaissance() != null) && (etudiant.getDepartementnaissance() != null)) { Paragraph pLieuNaissance = new Paragraph( applicationContext.getMessage("pdf.certificat.naissance2", null, Locale.getDefault()) + " " + etudiant.getLieunaissance() + " (" + etudiant.getDepartementnaissance() + ")", normal); pLieuNaissance.setAlignment(Element.ALIGN_LEFT); document.add(pLieuNaissance); } String anneeEnCours = etudiantController.getAnneeUnivEnCoursToDisplay(MainUI.getCurrent()); String inscritCertif = ""; if (inscription.getCod_anu().equals(anneeEnCours)) { inscritCertif = applicationContext.getMessage("pdf.certificat.inscrit", null, Locale.getDefault()); } else { inscritCertif = applicationContext.getMessage("pdf.certificat.ete.inscrit", null, Locale.getDefault()); } Paragraph pEstInscrit = new Paragraph("\n" + inscritCertif + " " + inscription.getCod_anu() + "\n ", normal); pEstInscrit.setAlignment(Element.ALIGN_LEFT); document.add(pEstInscrit); float[] widths = { 1.5f, 7.5f }; PdfPTable table = new PdfPTable(widths); table.setWidthPercentage(100f); table.addCell(makeCell(applicationContext.getMessage("pdf.diplome", null, Locale.getDefault()) + " :", normal)); table.addCell(makeCell(inscription.getLib_dip(), normal)); table.addCell( makeCell(applicationContext.getMessage("pdf.year", null, Locale.getDefault()) + " :", normal)); table.addCell(makeCell(inscription.getLib_etp(), normal)); table.addCell(makeCell( applicationContext.getMessage("pdf.composante", null, Locale.getDefault()) + " :", normal)); table.addCell(makeCell(inscription.getLib_comp(), normal)); document.add(table); document.add(new Paragraph(" ")); float[] widthsSignataire = { 2f, 1.3f }; PdfPTable tableSignataire = new PdfPTable(widthsSignataire); tableSignataire.setWidthPercentage(100f); tableSignataire.addCell(makeCellSignataire("", normal)); tableSignataire .addCell(makeCellSignataire( applicationContext.getMessage("pdf.certificat.fait1", null, Locale.getDefault()) + " " + configController.getCertScolLieuEdition() + applicationContext.getMessage( "pdf.certificat.fait2", null, Locale.getDefault()) + " " + date, normal)); tableSignataire.addCell(makeCellSignataire("", normal)); tableSignataire.addCell(makeCellSignataire(signataire.getNom_sig(), normal)); //ajout signature if (signataire.getImg_sig_std() != null && signataire.getImg_sig_std().length > 0) { //MODIF 09/10/2012 tableSignataire.addCell(makeCellSignataire("", normal)); LOG.debug(signataire.getImg_sig_std().toString()); Image imageSignature = Image.getInstance(signataire.getImg_sig_std()); float scaleRatio = 100 / imageSignature.getHeight(); float newWidth = scaleRatio * imageSignature.getWidth(); imageSignature.scaleAbsolute(newWidth, 100); imageSignature.setAbsolutePosition(350, 225); document.add(imageSignature); } document.add(tableSignataire); // Ajout tampon if (configController.getCertScolTampon() != null && !configController.getCertScolTampon().equals("")) { Image imageTampon = Image.getInstance(configController.getCertScolTampon()); float scaleTampon = 100 / imageTampon.getWidth(); float newHeigthTampon = scaleTampon * imageTampon.getHeight(); imageTampon.scaleAbsolute(100, newHeigthTampon); imageTampon.setAbsolutePosition(415, 215); document.add(imageTampon); } } catch (BadElementException e) { LOG.error("Erreur la gnration du certificat : BadElementException ", e); } catch (MalformedURLException e) { LOG.error("Erreur la gnration du certificat : MalformedURLException ", e); } catch (IOException e) { LOG.error("Erreur la gnration du certificat : IOException ", e); } catch (DocumentException e) { LOG.error("Erreur la gnration du certificat : DocumentException ", e); } // step 6: fermeture du document. document.close(); }