List of usage examples for com.itextpdf.layout.element Table Table
public Table(int numColumns)
From source file:cl.a2r.wsmicampov2.dao.TrasladoDAO.java
public static void generarDocumentoTraslado(Transaccion trx, Integer trasladoId) throws SQLException { Traslado traslado = selectTrasladoById(trx, trasladoId); List<String> listDiios = selectDiiosTrasladoById(trx, trasladoId); try {/*from ww w .j a v a2s. c om*/ Integer identificadorTraslado = trasladoId; String fundoOrigen = traslado.getFundoOrigen(); String fundoDestino = traslado.getFundoDestino(); Integer cantAnimales = listDiios.size(); Date fecha = traslado.getFecha(); String nombreChofer = traslado.getNombreChofer(); String rutChofer = traslado.getRutChofer(); String patenteCamion = traslado.getPatenteCamion(); String patenteAcoplado = traslado.getAcopladoPatente(); String nombreTransportista = traslado.getNombreTransportista(); String rutTransportista = traslado.getRutTransportista(); String correoDestino = traslado.getCorreo(); DateFormat df = new SimpleDateFormat("dd-MM-yyyy hh_mm_ss"); DateFormat df2 = new SimpleDateFormat("dd-MM-yyyy"); Date today = Calendar.getInstance().getTime(); String reportDate = df.format(today); String reportDate2 = df2.format(today); String fileName = "Traslado Nro. " + identificadorTraslado + "-" + reportDate2 + " " + fundoOrigen + "_" + fundoDestino; // String fileRoot="Z:\\Chilterra\\MiCampoGuias\\"+fileName+".pdf"; String fileRoot = "/usr/share/MiCampoGuiasUpload/" + fileName + ".pdf"; PdfWriter writer = new PdfWriter(fileRoot); PdfDocument pdf = new PdfDocument(writer); Document document = new Document(pdf); addPageToGuia(traslado, listDiios, document, cantAnimales); addSpaces(document); //Firmas Table firmas = new Table(3); firmas.addCell(CellHelper.getCellFirma("Responsable fundo origen", TextAlignment.CENTER)); firmas.addCell(CellHelper.getCell("", TextAlignment.LEFT)); firmas.addCell(CellHelper.getCellFirma("Transportista", TextAlignment.CENTER)); document.add(firmas); copiaPara("Fundo origen", document); document.add(new AreaBreak(AreaBreakType.NEXT_PAGE)); addDiiosPage(document, listDiios); document.add(new AreaBreak(AreaBreakType.NEXT_PAGE)); addPageToGuia(traslado, listDiios, document, cantAnimales); addSpaces(document); Table firmas2 = new Table(3); firmas2.addCell(CellHelper.getCellFirma("Responsable fundo destino", TextAlignment.CENTER)); firmas2.addCell(CellHelper.getCell("", TextAlignment.LEFT)); firmas2.addCell(CellHelper.getCellFirma("Transportista", TextAlignment.CENTER)); document.add(firmas2); copiaPara("Fundo destino", document); document.add(new AreaBreak(AreaBreakType.NEXT_PAGE)); addDiiosPage(document, listDiios); document.add(new AreaBreak(AreaBreakType.NEXT_PAGE)); addPageToGuia(traslado, listDiios, document, cantAnimales); addSpaces(document); Table firmas3 = new Table(3); firmas3.addCell(CellHelper.getCellFirma("Responsable fundo origen", TextAlignment.CENTER)); firmas3.addCell(CellHelper.getCell("", TextAlignment.LEFT)); firmas3.addCell(CellHelper.getCellFirma("Responsable fundo destino", TextAlignment.CENTER)); document.add(firmas3); copiaPara("Transportista", document); document.add(new AreaBreak(AreaBreakType.NEXT_PAGE)); addDiiosPage(document, listDiios); document.close(); File file = new File(fileRoot); InputStream inputStream = new FileInputStream(file); int fileLength = (int) file.length(); byte[] bytes = new byte[fileLength]; inputStream.read(bytes); Correo correo = new Correo(); correo.setFrom("desarrollador@chilterra.com"); correo.setTo(correoDestino + ";" + "sipec@chilterra.com"); correo.setSubject("Traslado interno de animales Nro: " + trasladoId); correo.setBody(""); correo.addAdjunto(bytes, "application/pdf", fileName + ".pdf"); correo.enviar(); } catch (Exception ex) { } }
From source file:cl.a2r.wsmicampov2.dao.TrasladoDAO.java
public static void addPageToGuia(Traslado traslado, List<String> listDiios, Document document, Integer cantAnimales) {/*from w ww .ja va 2 s . co m*/ 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 w ww . ja v a 2 s. co m*/ Integer cantAnimales = listDiios.size(); Integer diff = 0; if (listDiios.size() < 6) { diff = 6 - cantAnimales; } else { if (cantAnimales % 6 != 0) { Integer cociente = cantAnimales / 6; diff = ((cociente + 1) * 6) - cantAnimales; } } for (int i = 0; i < diff; i++) { listDiios.add(" "); } PdfFont bold = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD); Text subTitle = new Text("Diios: ").setFont(bold); Paragraph subtitleParagraph = new Paragraph().add(subTitle); document.add(subtitleParagraph); Table tableDiios = new Table(6); for (int i = 0; i < listDiios.size(); i++) { tableDiios.addCell(CellHelper.getCellDiios(listDiios.get(i), TextAlignment.LEFT)); } document.add(tableDiios); } catch (Exception ex) { } }
From source file:cl.a2r.wsmicampov2.pdf.EventoPagina.java
/** * Crea la tabla de pie de pagina, con el numero de pagina * @param docEvent Evento del documento//from w ww .j a v a2 s .c o m * @return Pie de pagina con el numero de pagina */ private Table crearTablaPie(PdfDocumentEvent docEvent) { PdfPage page = docEvent.getPage(); float[] anchos = { 1F }; Table tablaPie = new Table(anchos); tablaPie.setWidth(527F); Integer pageNum = docEvent.getDocument().getPageNumber(page); tablaPie.addCell(CellHelper.getCell(pageNum.toString(), TextAlignment.RIGHT)); return tablaPie; }
From source file:com.asptt.plongee.resa.util.UtilsFSpdf.java
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;/*from w ww . j a v a 2 s. c o m*/ } 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);/*from ww w.j a v a 2 s. c o m*/ table.setWidthPercent(100); // entete style pour les entetes Style entete = new Style(); PdfFont fontEntete = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN); entete.setFont(fontEntete).setFontSize(12); entete.setFontColor(Color.BLACK); // style pour les libells Style libelle = new Style(); PdfFont fontLibelle = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN); libelle.setFont(fontLibelle).setFontSize(12); libelle.setFontColor(Color.RED); Paragraph entete1 = new Paragraph(); entete1.add(new Text("DATE\n").addStyle(entete)); entete1.add(new Text("DIRECTEUR DE PLONGEE\n").addStyle(entete)); entete1.add(new Text("PILOTE DU BATEAU\n").addStyle(entete)); entete1.add(new Text("LIEU DE PLONGEE\n").addStyle(entete)); entete1.add(new Text("METEO\n").addStyle(entete)); Paragraph libelle1 = new Paragraph(); libelle1.add(new Text(": " + ResaUtil.getDateString(fs.getDatePlongee()) + "\n").addStyle(libelle)); libelle1.add(new Text(": " + fs.getNomDP() + "\n").addStyle(libelle)); libelle1.add(new Text(": " + fs.getNomPilote() + "\n").addStyle(libelle)); libelle1.add(new Text(": " + fs.getSite() + "\n").addStyle(libelle)); libelle1.add(new Text(": " + fs.getMeteo() + "\n").addStyle(libelle)); Cell cellEntete1 = new Cell(); cellEntete1.add(entete1); cellEntete1.setBorderRight(Border.NO_BORDER); cellEntete1.setHorizontalAlignment(HorizontalAlignment.LEFT); table.addCell(cellEntete1); Cell cellLibelle1 = new Cell(); cellLibelle1.add(libelle1); cellLibelle1.setBorderLeft(Border.NO_BORDER); cellLibelle1.setTextAlignment(TextAlignment.LEFT); table.addCell(cellLibelle1); Paragraph titre = new Paragraph(); titre.add(new Text("ASPTT MARSEILLE\n").addStyle(entete)); titre.add(new Text("PLONGEE\n").addStyle(entete)); titre.add(new Text("---\n").addStyle(entete)); titre.add(new Text("Fiche de Scurit\n").addStyle(entete)); Cell cellTitre = new Cell(); cellTitre.add(titre); cellTitre.setTextAlignment(TextAlignment.CENTER); cellTitre.setVerticalAlignment(VerticalAlignment.MIDDLE); table.addCell(cellTitre); Paragraph entete2 = new Paragraph(); entete2.add(new Text("PLONGEE NUMERO\n").addStyle(entete)); entete2.add(new Text("NOMBRE DE PLONGEURS\n").addStyle(entete)); entete2.add(new Text("HEURE DE DEPART\n").addStyle(entete)); entete2.add(new Text("HEURES BATEAU\n").addStyle(entete)); entete2.add(new Text("Page \n").addStyle(entete)); Paragraph libelle2 = new Paragraph(); libelle2.add(new Text(": " + fs.getNumeroPlongee() + "\n").addStyle(libelle)); libelle2.add(new Text(": " + fs.getNbPlongeurs() + "\n").addStyle(libelle)); libelle2.add(new Text(": " + fs.getHhDepart() + ":" + fs.getMnDepart() + "\n").addStyle(libelle)); libelle2.add(new Text(": " + fs.getNbHeuresBateau() + "\n").addStyle(libelle)); libelle2.add(new Text(": " + numeroPage + " / " + nbPage + "\n").addStyle(libelle)); Cell cellEntete2 = new Cell(); cellEntete2.add(entete2); cellEntete2.setBorderRight(Border.NO_BORDER); cellEntete2.setHorizontalAlignment(HorizontalAlignment.RIGHT); table.addCell(cellEntete2); Cell cellLibelle2 = new Cell(); cellLibelle2.add(libelle2); cellLibelle2.setBorderLeft(Border.NO_BORDER); cellLibelle2.setTextAlignment(TextAlignment.LEFT); table.addCell(cellLibelle2); return table; }
From source file:com.asptt.plongee.resa.util.UtilsFSpdf.java
private void createTablePlongeur(Table tablePalanques, FicheSecurite fs, int i, Style s_plongeur) { float[] colWidths = { 25, 25, 25, 25 }; Table tablePlongeurs = new Table(colWidths); tablePlongeurs.setMarginTop(0);//from w w w.j a v a 2 s . com tablePlongeurs.setMarginBottom(0); tablePlongeurs.setWidthPercent(100); // first row Cell cellNom = new Cell(1, 3).add(new Paragraph("Nom")); cellNom.setTextAlignment(TextAlignment.CENTER); cellNom.setFontSize(12); cellNom.setPadding(5); cellNom.setBackgroundColor(new DeviceRgb(140, 221, 8)); tablePlongeurs.addCell(cellNom); Cell cellApt = new Cell(1, 1).add(new Paragraph("Apt")); cellApt.setTextAlignment(TextAlignment.CENTER); cellApt.setFontSize(12); cellApt.setPadding(5); cellApt.setBackgroundColor(new DeviceRgb(140, 221, 8)); tablePlongeurs.addCell(cellApt); if (fs.getPalanques().size() > i) { initTablePlongeur(fs.getPalanques().get(i), tablePlongeurs, s_plongeur); } else { initTablePlongeur(null, tablePlongeurs, s_plongeur); } tablePalanques.addCell(tablePlongeurs); }
From source file:com.asptt.plongee.resa.util.UtilsFSpdf.java
public void createPdfPlongee(String dest, Plongee plongee) throws IOException, FileNotFoundException, java.io.IOException { PageSize ps = PageSize.A4.rotate(); PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest)); pdfDoc.addNewPage(ps);// w w w .j av a2 s .c om 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 w w . j a v a 2 s . co m*/ String fileName = java.util.UUID.randomUUID().toString() + ".pdf"; Curso curso = (Curso) request.getAttribute("curso"); List<Entry<String, String>> alum_fol = Reader.getAlumFolios(curso.getID()); OutputStream fos = new FileOutputStream(savePath + File.separator + fileName); PdfWriter writer = new PdfWriter(fos); PdfDocument pdf = new PdfDocument(writer); Document document = new Document(pdf, PageSize.A4); document.setMargins(85, 57, 71, 71); PdfFont font = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN); PdfFont bold = PdfFontFactory.createFont(FontConstants.TIMES_BOLD); Paragraph p = new Paragraph("Folios de los alumnos inscritos al curso"); p.setTextAlignment(TextAlignment.CENTER); document.add(p); p = new Paragraph(curso.getNombre()); p.setFont(bold); p.setTextAlignment(TextAlignment.CENTER); p.setMarginBottom(70); document.add(p); Table table = new Table(new float[] { 1, 1 }); table.setWidthPercent(100); Cell c = new Cell().add(new Paragraph("ALUMNO").setFont(bold)); c.setTextAlignment(TextAlignment.CENTER); table.addHeaderCell(c); c = new Cell().add(new Paragraph("FOLIO").setFont(bold)); c.setTextAlignment(TextAlignment.CENTER); table.addHeaderCell(c); for (Entry<String, String> e : alum_fol) { table.addCell(new Cell().add(new Paragraph(e.getKey()).setFont(font))); table.addCell(new Cell().add(new Paragraph(e.getValue()).setFont(font))); } document.add(table); document.close(); Writer.openCurso(curso.getID(), fileName); response.getWriter().println("OK"); }
From source file:com.js.quickestquail.ui.actions.io.ExportToPDFAction.java
private void writeAll(File outputFile) throws FileNotFoundException, IOException { // progress dialog JProgressDialog dialog = new JProgressDialog(UI.get(), false); dialog.setMaximum(DriveManager.get().getSelected().size()); dialog.setTitle(java.util.ResourceBundle.getBundle("i18n/i18n").getString("export.pdf")); dialog.setVisible(true);//from w w w . j av a 2s . co m // run this in a new Thread new Thread() { @Override public void run() { try { int nrOfMovies = 0; List<Entry<File, String>> entries = new ArrayList<>( DriveManager.get().getSelected().entrySet()); java.util.Collections.sort(entries, new Comparator<Entry<File, String>>() { @Override public int compare(Entry<File, String> o1, Entry<File, String> o2) { Movie mov1 = CachedMovieProvider.get().getMovieByID(o1.getValue()); Movie mov2 = CachedMovieProvider.get().getMovieByID(o2.getValue()); return mov1.getTitle().compareTo(mov2.getTitle()); } }); PdfWriter writer = new PdfWriter(new FileOutputStream(outputFile)); PdfDocument pdf = new PdfDocument(writer); Document doc = new Document(pdf); for (Entry<File, String> en : entries) { Movie mov = CachedMovieProvider.get().getMovieByID(en.getValue()); // update progress dialog dialog.setText(mov.getTitle()); dialog.setProgress(nrOfMovies); // add table Table table = new Table(new float[] { 0.5f, 0.25f, 0.25f }); table.setWidthPercent(100); table.setBorder(Border.NO_BORDER); Cell cell; cell = new Cell(5, 1); cell.setBorder(Border.NO_BORDER); try { Image img = new Image(ImageDataFactory.create(new URL(mov.getPoster()))); cell.setNextRenderer(new ImageBackgroundCellRenderer(cell, img)); } catch (Exception ex) { } cell.setHeight(160); cell.setWidth(100); table.addCell(cell); cell = new Cell(1, 1).add("Title").setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add(mov.getTitle()).setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add("Year").setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add(mov.getYear() + "").setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add("IMDB ID").setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add(mov.getImdbID()).setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add("IMDB Rating").setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add(mov.getImdbRating() + "").setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add("IMDB Votes").setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add(mov.getImdbVotes() + "").setBorder(Border.NO_BORDER); table.addCell(cell); doc.add(table); nrOfMovies++; if (nrOfMovies % 4 == 0) { doc.add(new AreaBreak()); } doc.add(new Paragraph("")); } // close IO doc.close(); pdf.close(); writer.close(); // close dialog dialog.setVisible(false); } catch (Exception ex) { } } }.start(); }