List of usage examples for com.itextpdf.kernel.pdf PdfDocument close
@Override public void close()
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);/* w w w. ja v a 2 s . c o m*/ 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.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);/* w ww . j av a2s. c o m*/ // run this in a new Thread new Thread() { @Override public void run() { try { int nrOfMovies = 0; List<Entry<File, String>> entries = new ArrayList<>( DriveManager.get().getSelected().entrySet()); java.util.Collections.sort(entries, new Comparator<Entry<File, String>>() { @Override public int compare(Entry<File, String> o1, Entry<File, String> o2) { Movie mov1 = CachedMovieProvider.get().getMovieByID(o1.getValue()); Movie mov2 = CachedMovieProvider.get().getMovieByID(o2.getValue()); return mov1.getTitle().compareTo(mov2.getTitle()); } }); PdfWriter writer = new PdfWriter(new FileOutputStream(outputFile)); PdfDocument pdf = new PdfDocument(writer); Document doc = new Document(pdf); for (Entry<File, String> en : entries) { Movie mov = CachedMovieProvider.get().getMovieByID(en.getValue()); // update progress dialog dialog.setText(mov.getTitle()); dialog.setProgress(nrOfMovies); // add table Table table = new Table(new float[] { 0.5f, 0.25f, 0.25f }); table.setWidthPercent(100); table.setBorder(Border.NO_BORDER); Cell cell; cell = new Cell(5, 1); cell.setBorder(Border.NO_BORDER); try { Image img = new Image(ImageDataFactory.create(new URL(mov.getPoster()))); cell.setNextRenderer(new ImageBackgroundCellRenderer(cell, img)); } catch (Exception ex) { } cell.setHeight(160); cell.setWidth(100); table.addCell(cell); cell = new Cell(1, 1).add("Title").setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add(mov.getTitle()).setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add("Year").setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add(mov.getYear() + "").setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add("IMDB ID").setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add(mov.getImdbID()).setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add("IMDB Rating").setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add(mov.getImdbRating() + "").setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add("IMDB Votes").setBorder(Border.NO_BORDER); table.addCell(cell); cell = new Cell(1, 1).add(mov.getImdbVotes() + "").setBorder(Border.NO_BORDER); table.addCell(cell); doc.add(table); nrOfMovies++; if (nrOfMovies % 4 == 0) { doc.add(new AreaBreak()); } doc.add(new Paragraph("")); } // close IO doc.close(); pdf.close(); writer.close(); // close dialog dialog.setVisible(false); } catch (Exception ex) { } } }.start(); }
From source file:com.l3.info.magenda.emplois_du_temps.EmploisDuTemps.java
public void writeInPdf(String path) throws FileNotFoundException { File file = new File(path); file.getParentFile().mkdirs();/*from w ww . ja v a 2 s . c om*/ //new FullDottedLine().manipulatePdf(path); com.itextpdf.kernel.pdf.PdfDocument pdfDoc = new com.itextpdf.kernel.pdf.PdfDocument( new com.itextpdf.kernel.pdf.PdfWriter(path)); // Taille feuille A4 mode paysage (842, 595) com.itextpdf.kernel.geom.PageSize pageSize = new com.itextpdf.kernel.geom.PageSize(842, 595); pdfDoc.setDefaultPageSize(pageSize); java.awt.Dimension taille_totale_semaine = getSemaine(48).getSize(); int hauteur_panel_semaine = getSemaine(48).getSize().height; int largeur_panel_semaine = getSemaine(48).getSize().width; double nbPages = Math.floor((hauteur_panel_semaine / pageSize.getHeight())) + 1; System.out.println("taille sem 48 : " + taille_totale_semaine); System.out.println("Hauteur sem 48 : " + hauteur_panel_semaine); System.out.println("Largeur sem 48 : " + largeur_panel_semaine); System.out.println("nombre de pages : " + nbPages); com.itextpdf.kernel.pdf.canvas.PdfCanvas canvas; // Cration des pages for (int i = 0; i < nbPages; i++) { canvas = new com.itextpdf.kernel.pdf.canvas.PdfCanvas(pdfDoc.addNewPage()); Component[] comp = getSemaine(48).getComponents(); /*for (float x = 0; x < pageSize.getWidth(); ) { for (float y = 0; y < pageSize.getHeight(); ) { canvas.circle(x, y, 1f); y += 72f; } x += 72f; }*/ canvas.fill(); } pdfDoc.close(); /* File file = new File(path); file.getParentFile().mkdirs(); //Initialize PDF writer com.itextpdf.kernel.pdf.PdfWriter writer = new com.itextpdf.kernel.pdf.PdfWriter(path); //Initialize PDF document com.itextpdf.kernel.pdf.PdfDocument pdf = new com.itextpdf.kernel.pdf.PdfDocument(writer); com.itextpdf.kernel.pdf.PdfPage page = pdf.addNewPage(); com.itextpdf.kernel.pdf.PdfArray lineEndings = new com.itextpdf.kernel.pdf.PdfArray(); lineEndings.add(new com.itextpdf.kernel.pdf.PdfName("Diamond")); lineEndings.add(new com.itextpdf.kernel.pdf.PdfName("Diamond")); //Create line annotation with inside caption com.itextpdf.kernel.pdf.annot.PdfAnnotation annotation = new com.itextpdf.kernel.pdf.annot.PdfLineAnnotation( new com.itextpdf.kernel.geom.Rectangle(0, 0), new float[]{20, 790, page.getPageSize().getWidth() - 20, 790}) .setLineEndingStyles((lineEndings)) .setContentsAsCaption(true) .setTitle(new com.itextpdf.kernel.pdf.PdfString("iText")) .setContents("The example of line annotation") .setColor(com.itextpdf.kernel.color.Color.BLUE); page.addAnnotation(annotation); //Close document pdf.close(); */ }