List of usage examples for com.itextpdf.text.pdf PdfWriter close
@Override public void close()
Document
was closed and that no other Elements
will be added. 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> </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> </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); } }