Example usage for com.itextpdf.text.pdf PdfWriter close

List of usage examples for com.itextpdf.text.pdf PdfWriter close

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf PdfWriter close.

Prototype

@Override
public void close() 

Source Link

Document

Signals that the Document was closed and that no other Elements will be added.

Usage

From source file:qcas.StudentTestResultController.java

@FXML
public void exportToPdf() throws IOException, DocumentException {
    WritableImage image = performanceAnchorPane.snapshot(new SnapshotParameters(), null);
    //File file = new File("StudentPerformance.png");
    ByteArrayOutputStream byteArray = new ByteArrayOutputStream();
    try {// www . j  a  v a 2 s. co m
        ImageIO.write(SwingFXUtils.fromFXImage(image, null), "png", byteArray);
    } catch (IOException e) {
    }
    Document document = new Document();
    String output = "StudentQuizPerformance.pdf";
    try {
        int indentation = 0;
        FileOutputStream fos = new FileOutputStream(output);
        PdfWriter writer = PdfWriter.getInstance(document, fos);
        writer.open();
        document.open();
        Image newImage = Image.getInstance(byteArray.toByteArray());
        newImage.scaleToFit(500, 450);
        document.add(newImage);
        document.close();
        writer.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    pdfDownloadedLabel.setVisible(true);

}

From source file:ro.fils.angularspring.util.PDFCreator.java

public void saveAsPDF(ArrayList<Project> projects, String path) throws BadElementException, IOException {
    Document document = new Document();
    try {//w  ww  .j a va 2  s. c  o  m
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(path));
        document.open();
        for (Project project : projects) {
            document.add(new Paragraph("Title:" + project.getTitle() + "\nBudget: " + project.getBudget()
                    + "\nDuration: " + project.getDuration() + "\nDomain: " + project.getDomain()
                    + "\nObjective: " + project.getObjective()));
            document.add(new Paragraph("\nPARTNERS LIST: "));
            for (Partner p : project.getPartners()) {
                System.out.println(p.getName());
                if (p.isLeader()) {
                    document.add(new Paragraph("\r\nLeader: " + p.getName()));

                } else {
                    document.add(new Paragraph("\r\nPartner: " + p.getName()));
                }
            }
            document.add(new Paragraph("\nSTAGES: "));
            if (project.getStages() != null) {
                for (Stage stage : project.getStages()) {
                    document.add(new Paragraph("\r\nStage: " + stage.getName() + ", Description: "
                            + stage.getDescription() + ", Duration: " + stage.getDuration()));
                }
            }

            document.add(new Paragraph("\n"));
            document.add(
                    new Paragraph("-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+-+-"));
            document.add(new Paragraph("\n"));
        }

        document.close();
        writer.close();
    } catch (DocumentException | FileNotFoundException e) {
        e.printStackTrace();
    }
}

From source file:ro.fils.angularspring.util.PDFCreator.java

public void saveProjectAsPDF(Project project, String path) throws BadElementException, IOException {
    Document document = new Document();
    try {/*from   w w w .java 2  s . c om*/
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(path));
        document.open();
        document.add(new Paragraph("Title:" + project.getTitle() + "\nBudget: " + project.getBudget()
                + "\nDuration: " + project.getDuration() + "\nDomain: " + project.getDomain() + "\nObjective: "
                + project.getObjective()));
        document.add(new Paragraph("\nPARTNERS LIST: "));
        for (Partner p : project.getPartners()) {
            System.out.println(p.getName());
            if (p.isLeader()) {
                document.add(new Paragraph("\r\nLeader: " + p.getName()));

            } else {
                document.add(new Paragraph("\r\nPartner: " + p.getName()));
            }
        }
        document.add(new Paragraph("\nSTAGES: "));
        if (project.getStages() != null) {
            for (Stage stage : project.getStages()) {
                document.add(new Paragraph("\r\nStage: " + stage.getName() + ", Description: "
                        + stage.getDescription() + ", Duration: " + stage.getDuration()));
            }
        }

        document.close();
        writer.close();
    } catch (DocumentException | FileNotFoundException e) {
        e.printStackTrace();
    }
}

From source file:ro.fils.highschoolplatform.util.PDFCreator.java

public void saveAsPDF(int studentId, String path) throws BadElementException, IOException {
    Student std = new StudentServiceImpl().getStudent(studentId);
    ArrayList<GradeDTO> grades = new GradeServiceImpl().getAllGradesForStudent(studentId);
    ArrayList<AbsenceDTO> absences = new AbsenceServiceImpl().getAllAbsencesForStudent(studentId);
    String className = new ClazzServiceImpl().getStudentClazz(studentId).getName();
    Document document = new Document();
    try {// w  ww . j ava2 s .c  o  m
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(path));
        document.open();
        document.add(new Paragraph("First name:" + std.getFirstName() + "\nLast name: " + std.getLastName()
                + "\nEmail: " + std.getEmail() + "\nClass: " + className));
        document.add(new Paragraph("\nGRADES: "));
        PdfPTable table = new PdfPTable(3);

        table.addCell("Date");
        table.addCell("Value");
        table.addCell("Course name");
        for (GradeDTO gp : grades) {
            table.addCell(String.valueOf(gp.getDate()));
            table.addCell(String.valueOf(gp.getValue()));
            table.addCell(gp.getCourseName());
        }
        document.add(table);

        document.add(new Paragraph("\n"));
        document.add(new Paragraph("\nAbsences"));
        PdfPTable table2 = new PdfPTable(2);

        table2.addCell("Date");
        table2.addCell("Course name");
        for (AbsenceDTO gp : absences) {
            table2.addCell(String.valueOf(gp.getDate()));
            table2.addCell(gp.getCourseName());
        }
        document.add(table2);

        document.close();
        writer.close();
    } catch (DocumentException | FileNotFoundException e) {
        System.out.println("Error in creating pdf");
    }
}

From source file:ru.tsystems.restserviceclient.PDFactory.java

public void createDocument() {
    Document document = new Document();
    try {// w w  w.j av a 2 s . c o  m
        File file = new File("/tmp/tickets.pdf");
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(file));
        document.open();
        document.add(new Paragraph("A Hello World PDF document."));
        document.close();
        writer.close();
    } catch (DocumentException e) {
        e.printStackTrace();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
}

From source file:scbdataanalyser.dao.impl.CustomerImpl.java

@Override
public void printInvoice(String customerName) {
    Document document = new Document();
    PdfWriter writer = getPDFWriter("CustomerInvoice", document);

    if (writer != null) {
        document.open();//w  w w .ja  va  2 s. co  m
        addRecordToDocument(customerName, document);
        document.close();
        writer.close();
    }
    System.out.println("Invoice generated for " + customerName + " at " + reportPath);
}

From source file:scbdataanalyser.dao.impl.SalesRepImpl.java

@Override
public void printInvoice(String customerName) {
    Document document = new Document();
    PdfWriter writer = getPDFWriter("CustomerInvoice", document);
    if (writer != null) {
        document.open();//from   w  ww. j a  v a2 s.  co m
        addRecordToDocument(customerName, document);
        document.close();
        writer.close();
    }
    System.out.println("Invoice generated for " + customerName + " at " + reportPath);
}

From source file:scbdataanalyser.dao.impl.SalesRepImpl.java

@Override
public void printInvoice() {
    Document document = new Document();
    PdfWriter writer = getPDFWriter("TotalInvoiceData.pdf", document);

    if (writer != null) {
        document.open();/*from   w  w  w. ja v  a2  s. com*/
        for (String name : MasterReservationTable.getMaster().getData().keySet()) {
            addRecordToDocument(name, document);
        }
        document.close();
        writer.close();
    }
    System.out.println("Invoice generated for full System at " + reportPath);
}

From source file:se.billes.pdf.renderer.process.Renderer.java

License:Open Source License

public void onRender() throws PdfRenderException {

    long startTime = new Date().getTime();
    System.err.println(startTime + ": Renderer called");
    PdfDocument pdfDocument = pdfRequest.getDocument();
    File destinationPdf = new File(pdfRequest.getPath(), pdfDocument.getName());
    Document document = new Document();
    boolean finishedRender = false;
    PdfWriter writer = null;
    try {//  w  w  w .  j  a v  a2s  . c  om
        writer = PdfWriter.getInstance(document, new FileOutputStream(destinationPdf));
        document.addAuthor("iText");
        writer.setBoxSize("trim", new SizeFactory().getTrimBoxAsRectangle(pdfDocument));
        document.setPageSize(new SizeFactory().getSizeAsRectangle(pdfDocument));

        document.open();
        for (Page page : pdfDocument.getPages()) {
            page.onNewPage(writer, document);
        }
        System.err.println(new Date().getTime() + ": Renderer finished");
        finishedRender = true;

    } catch (FileNotFoundException e) {
        generatePdfRenderException(e);
    } catch (DocumentException e) {
        generatePdfRenderException(e);
    } catch (Exception e) {
        generatePdfRenderException(e);
    } finally {
        try {
            writer.close();
        } catch (Exception e) {
        }
        try {
            document.close();
        } catch (Exception e) {
        }

        ImageFactory.clear();

        if (finishedRender) {
            System.err.println(new Date().getTime() + ": document closed");
            long endTime = new Date().getTime();
            PdfAction action = new PdfAction();
            action.setFile(destinationPdf.getAbsolutePath());
            action.setExecutionOfPdfRendering(endTime - startTime);
            action.setTotalTimeOfExecution(endTime - pdfRequest.getStartExecutionTime());
            action.setSuccess(true);
            action.setParams(pdfRequest.getParams());
            PdfResponse response = new PdfResponse();
            response.setAction(action);
            onRendered(response);
        }
    }

}

From source file:Servlet.PDFServlet.java

/**
 * Handles the HTTP <code>POST</code> method.
 *
 * @param request servlet request/*ww w .j a v  a2  s  . c om*/
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    request.setCharacterEncoding("UTF-8");
    String strData = request.getParameter("hidden_pdfData");
    //System.out.println("strData_new --> " + strData);
    String[] strSplitData = strData.split("###");
    String strBerichtname;
    String strTable;

    strBerichtname = strSplitData[0];
    strTable = strSplitData[1];

    String strAusgabe = "Es ist ein unerwartetes Problem aufgetreten";
    boolean boolLeerbericht = true;
    HttpSession userSession = request.getSession();
    switch (strBerichtname) {
    case "Einsatzbericht leer":
        strAusgabe = generiereAusgabeEinsatzberichtLeer(strTable, strSplitData[2]);
        break;
    case "bungsbericht leer":
        strAusgabe = generiereAusgabeUebungsberichtLeer(strTable, strSplitData[2]);
        break;
    case "Ttigkeitsbericht leer":
        strAusgabe = generiereAusgabeTaetigkeitsberichtLeer(strTable, strSplitData[2]);
        break;
    case "Dynamisch":
        strAusgabe = "<h1>" + strBerichtname + "</h1>" + strTable;
        boolLeerbericht = false;
        break;
    case "Kursstatistik":
        if (strTable.split("<td>").length > 1 && strSplitData[2].split("<td>").length > 1) {
            strAusgabe = "<h1>" + strBerichtname + "</h1>" + strSplitData[2].replace("</br>", "")
                    + "<p>&nbsp;</p>" + strTable;
        } else if (strTable.split("<td>").length < 2) {
            strAusgabe = "<h1>" + strBerichtname + "</h1>" + strSplitData[2].replace("</br>", "");
        } else if (strSplitData[2].split("<td>").length < 2) {
            strAusgabe = "<h1>" + strBerichtname + "</h1>" + strTable;
        }
        boolLeerbericht = false;
        break;
    case "Digitales Fahrtenbuch":
        if (strSplitData.length > 2) {
            strAusgabe = "<h1>" + strBerichtname + "</h1>" + strSplitData[2] + "<p>&nbsp;</p>" + strTable;
        } else {
            strAusgabe = "<h1>" + strBerichtname + "</h1>" + strTable;
        }
        boolLeerbericht = false;
        break;
    case "Stundenauswertung je Mitglied je Instanz":
        strAusgabe = "<h1>" + strBerichtname + "</h1>"
                + generiereStundenauswertungJeMitgliedJeInstanz(strTable);
        boolLeerbericht = false;
        break;
    case "Geburtstagsliste":
        strAusgabe = "<h1>" + strBerichtname + " " + userSession.getAttribute("attJahr") + "</h1>" + strTable;
        boolLeerbericht = false;
        break;
    case "Dienstzeitliste":
        strAusgabe = "<h1>" + strBerichtname + " " + userSession.getAttribute("attJahrDienst") + "</h1>"
                + strTable;
        boolLeerbericht = false;
        break;
    default:
        strAusgabe = "<h1>" + strBerichtname + "</h1>" + strTable;
        boolLeerbericht = false;
    }
    String strContextPath = this.getServletContext().getRealPath("/");
    String strCSSPath1 = strContextPath + File.separator + "css" + File.separator + "pdfSimpel.css";
    String strFontPath = strContextPath + File.separator + "res" + File.separator + "Cambria.ttf";

    //FAIL - just ignore
    //strAusgabe = strAusgabe.substring(0, pos+5) + ("<thead>" + strAusgabe.split("<thead>")[1].split("</thead>")[0] + "</thead>") + strAusgabe.substring(pos+5);
    //String strHead = "<thead>" + strAusgabe.split("<thead>")[1].split("</thead>")[0] + "</thead>";
    //String strUeberschrift = "<h1>" + strAusgabe.split("<h1>")[1].split("</h1")[0] + "</h1>";
    if (!strBerichtname.contains("leer")) {
        strAusgabe = strAusgabe.replace("<table", "<table style='repeat-header: yes;' ");
    }

    Rectangle rect;
    try {
        Document document;
        if (liBerHochformat.contains(strBerichtname)) {
            document = new Document(PageSize.A4, 36, 36, 100, 54);
            rect = new Rectangle(36, 54, 559, 788);
        } else {
            document = new Document(PageSize.A4.rotate(), 36, 36, 70, 54);
            rect = new Rectangle(36, 54, 805, 559);
        }

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        PdfWriter writer = PdfWriter.getInstance(document, baos);
        PDF_KopfFuzeile event = new PDF_KopfFuzeile(strFontPath, writer);
        writer.setBoxSize("pageRect", rect);
        writer.setPageEvent(event);

        document.open();
        HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
        htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory());
        CSSResolver cssResolver = XMLWorkerHelper.getInstance().getDefaultCssResolver(false);
        //hier werden die CSS files eingebunden
        cssResolver.addCssFile(strCSSPath1, true);

        if (liBerHochformat.contains(strBerichtname)) {
            cssResolver.addCssFile(strCSSPath1.replace("Simpel", "Hoch"), true);
        } else {
            cssResolver.addCssFile(strCSSPath1.replace("Simpel", "Quer"), true);
        }
        if (!boolLeerbericht) {
            cssResolver.addCssFile(strCSSPath1.replace("Simpel", "StandartBericht"), true);
        } else {
            cssResolver.addCssFile(strCSSPath1.replace("Simpel", "Leerbericht"), true);
        }
        Pipeline<?> pipeline = new CssResolverPipeline(cssResolver,
                new HtmlPipeline(htmlContext, new PdfWriterPipeline(document, writer)));

        XMLWorker worker = new XMLWorker(pipeline, true);
        XMLParser p = new XMLParser(worker);
        XMLParser p2 = new XMLParser(worker);
        p.toString();
        //ByteArrayInputStream bis = new ByteArrayInputStream(strAusgabe.toString().getBytes());
        //ByteArrayInputStream cis = new ByteArrayInputStream(strCSSPath1.replace("Simple", "Hoch").toString().getBytes());
        //XMLWorkerHelper.getInstance().parseXHtml(writer, document, bis, cis);
        //p.selectState().selfClosing();

        p.parse(new StringReader(strAusgabe));

        document.close();
        writer.close();
        strBerichtname = strBerichtname.replaceAll(" ", "_");
        response.setContentType("application/pdf");
        response.setHeader("Content-Disposition", "filename=" + strBerichtname + ".pdf");
        response.setContentLength(baos.size());

        ServletOutputStream os = response.getOutputStream();
        baos.writeTo(os);
        os.flush();
        os.close();
    } catch (DocumentException de) {
        throw new IOException(de.getMessage());
    } catch (CssResolverException ex) {
        Logger.getLogger(PDFServlet.class.getName()).log(Level.SEVERE, null, ex);
    }

}