List of usage examples for com.itextpdf.kernel.font PdfFontFactory createFont
public static PdfFont createFont(FontProgram fontProgram)
From source file:cl.a2r.wsmicampov2.dao.TrasladoDAO.java
public static void addPageToGuia(Traslado traslado, List<String> listDiios, Document document, Integer cantAnimales) {/*ww w . j a va 2s . com*/ 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 www . j a v a 2 s . c om*/ 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.CellHelper.java
public static Cell getCell(String text1, String text2, TextAlignment alignment) { try {//from w ww . j a v a 2 s .c om PdfFont bold = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD); Text tx1 = new Text(text1).setFont(bold); Text tx2 = new Text(text2); Paragraph p = new Paragraph().add(tx1).add(tx2); Cell cell = new Cell().add(p); cell.setPadding(0); cell.setTextAlignment(alignment); cell.setBorder(Border.NO_BORDER); return cell; } catch (Exception ex) { } return null; }
From source file:cl.a2r.wsmicampov2.pdf.CellHelper.java
public static Paragraph getBoldParagraph(String text1, String text2) { try {/*ww w .ja va 2 s .c o m*/ PdfFont bold = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD); Text tx1 = new Text(text1).setFont(bold); Text tx2 = new Text(text2); Paragraph p = new Paragraph().add(tx1).add(tx2); return p; } catch (Exception ex) { } return new Paragraph(); }
From source file:com.asptt.plongee.resa.util.UtilsFSpdf.java
public Document createPdfFS(String dest, FicheSecurite fs) throws IOException, FileNotFoundException, java.io.IOException { PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest)); PageSize ps = PageSize.A4.rotate(); //calcul du nombre de page (si + de 8 palanques => 2 pages) int nbPage = 1; if (fs.getPalanques().size() > 8) { nbPage = 2;/*w w w.j a v a2 s . c om*/ } pdfDoc.addNewPage(ps); Document doc = new Document(pdfDoc); Table entete = createEntete(fs, 1, nbPage); doc.add(entete); // style pour les plongeurs Style s_plongeur = new Style(); PdfFont fontPlongeur = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN); s_plongeur.setFont(fontPlongeur).setFontSize(10); s_plongeur.setFontColor(Color.BLACK); // Deuxieme table pour les palanques Table tablePalanques = new Table(4); for (int i = 0; i < 8; i++) { createTablePlongeur(tablePalanques, fs, i, s_plongeur); } doc.add(tablePalanques); if (nbPage == 2) { Table tablePalanques2 = new Table(4); pdfDoc.addNewPage(ps); Table entete2 = createEntete(fs, 2, nbPage); doc.add(entete2); for (int i = 8; i < 16; i++) { createTablePlongeur(tablePalanques2, fs, i, s_plongeur); } doc.add(tablePalanques2); } doc.close(); return doc; }
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);/* w w w . j ava 2 s.com*/ 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
public void createPdf(String dest, FicheSecurite fs) throws IOException, FileNotFoundException, java.io.IOException { //Initialize PDF writer PdfWriter writer = new PdfWriter(dest); //Initialize PDF document PdfDocument pdf = new PdfDocument(writer); // Initialize document Document document = new Document(pdf); //Add paragraph to the document document.add(new Paragraph(fs.getSite())); // Add content Text title1 = new Text("The Strange Case of ").setFontColor(Color.BLUE); Text title2 = new Text("Dr. Jekyll SIIMMOONN").setStrokeColor(Color.GREEN) .setTextRenderingMode(PdfCanvasConstants.TextRenderingMode.FILL_STROKE); Text title3 = new Text(" and "); Text title4 = new Text("Mr. Hyde").setStrokeColor(Color.RED).setStrokeWidth(0.5f) .setTextRenderingMode(PdfCanvasConstants.TextRenderingMode.STROKE); Paragraph p = new Paragraph().setFontSize(24).add(title1).add(title2).add(title3).add(title4); document.add(p);/*from w w w . j av a 2 s . c om*/ Style normal = new Style(); PdfFont font = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN); normal.setFont(font).setFontSize(14); Style code = new Style(); PdfFont monospace = PdfFontFactory.createFont(FontConstants.COURIER); code.setFont(monospace).setFontColor(Color.RED).setBackgroundColor(Color.LIGHT_GRAY); Paragraph p2 = new Paragraph(); p2.add(new Text("The Strange Case of ").addStyle(normal)); p2.add(new Text("Dr. Jekyll").addStyle(code)); p2.add(new Text(" and ").addStyle(normal)); p2.add(new Text("Mr. Hyde").addStyle(code)); p2.add(new Text(".").addStyle(normal)); document.add(p2); //Close document document.close(); // PageSize ps = PageSize.A4.rotate(); // PdfPage page = pdf.addNewPage(ps); // PdfCanvas canvas = new PdfCanvas(page); // canvas.concatMatrix(1, 0, 0, 1, ps.getWidth() / 2, ps.getHeight() / 2); ////Draw X axis // canvas.moveTo(-(ps.getWidth() / 2 - 15), 0) // .lineTo(ps.getWidth() / 2 - 15, 0) // .stroke(); ////Draw X axis arrow // canvas.setLineJoinStyle(PdfCanvasConstants.LineJoinStyle.ROUND) // .moveTo(ps.getWidth() / 2 - 25, -10) // .lineTo(ps.getWidth() / 2 - 15, 0) // .lineTo(ps.getWidth() / 2 - 25, 10).stroke() // .setLineJoinStyle(PdfCanvasConstants.LineJoinStyle.MITER); ////Draw Y axis // canvas.moveTo(0, -(ps.getHeight() / 2 - 15)) // .lineTo(0, ps.getHeight() / 2 - 15) // .stroke(); ////Draw Y axis arrow // canvas.saveState() // .setLineJoinStyle(PdfCanvasConstants.LineJoinStyle.ROUND) // .moveTo(-10, ps.getHeight() / 2 - 25) // .lineTo(0, ps.getHeight() / 2 - 15) // .lineTo(10, ps.getHeight() / 2 - 25).stroke() // .restoreState(); ////Draw X serif // for (int i = -((int) ps.getWidth() / 2 - 61); // i < ((int) ps.getWidth() / 2 - 60); i += 40) { // canvas.moveTo(i, 5).lineTo(i, -5); // } ////Draw Y serif // for (int j = -((int) ps.getHeight() / 2 - 57); // j < ((int) ps.getHeight() / 2 - 56); j += 40) { // canvas.moveTo(5, j).lineTo(-5, j); // } // canvas.stroke(); //// pdf.close(); //// PdfPage page = pdf.addNewPage(); //// Rectangle rectangle = new Rectangle(x, y, 100, 100); //// Canvas canvas = new Canvas(pdfCanvas, pdf, rectangle); // float llx = 0; // float lly = 0; // float urx = 100; // float ury = 100; // for (Palanque palanque : fs.getPalanques()) { // llx=llx+5; // lly=lly+70; // Rectangle rectangle = new Rectangle(llx, lly, urx-llx, ury-lly); //// PdfCanvas canvas = new PdfCanvas(page); // canvas = new PdfCanvas(page); //// PdfCanvas canvas = new PdfCanvas(pdf.addNewPage()); //// pdfCanvas.rectangle(rectangle); // canvas.setStrokeColor(Color.RED).setLineWidth(0.5f).rectangle(rectangle).stroke(); //// canvas = new Canvas(pdfCanvas, pdf, rectangle); //// pdfCanvas.stroke(); // PdfFont fontRoman = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN); // PdfFont bold = PdfFontFactory.createFont(FontConstants.TIMES_BOLD); // Text title = new Text("GUIDE palanque:"+palanque.getNomCompletGuide()).setFont(bold); // Text author = new Text("PLONGEUR 1 palanque:"+palanque.getNomCompletPlongeur1()).setFont(fontRoman); // Paragraph p3 = new Paragraph().add(title).add(" by ").add(author); // new Canvas(canvas,pdf,rectangle).add(p3); //// canvas.add(p3); // } //Close document pdf.close(); }
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 ww w.j av a 2s .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();// w ww . j a v a 2s.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.Models.Services.PdfBuilderService.java
private PdfFont adjustFont() throws IOException { return PdfFontFactory.createFont(FontConstants.COURIER); }