Example usage for com.itextpdf.kernel.pdf PdfDocument close

List of usage examples for com.itextpdf.kernel.pdf PdfDocument close

Introduction

In this page you can find the example usage for com.itextpdf.kernel.pdf PdfDocument close.

Prototype

@Override
public void close() 

Source Link

Document

Close PDF document.

Usage

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();
    */
}