List of usage examples for com.lowagie.text.pdf PdfWriter close
public void close()
Document
was closed and that no other Elements
will be added. From source file:se.kth.ict.iv1201.recsys.controller.PdfServlet.java
/** * Servlet GET, returns a PDF with inforation specified as * parameters if the user is logged in and of right user role * //from ww w. ja v a 2s. c o m * @param request * @param response * @throws ServletException * @throws IOException */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { Principal user = request.getUserPrincipal(); if (user == null || !request.isUserInRole("recruiter")) throw new ServletException("Not logged in"); String name = request.getParameter("name"); String surname = request.getParameter("surname"); String submitDate = request.getParameter("submitdate"); String[] competences = request.getParameter("comp").split("_"); String[] availabilities = request.getParameter("avail").split("_"); Font titleFont = FontFactory.getFont("Times-Roman", 18, Font.BOLD); response.setContentType("application/pdf"); response.setHeader("Content-disposition", "attachment; filename=" + name + surname + "-application.pdf"); response.setHeader("Cache-Control", "private, no-store, no-cache, must-revalidate"); Document doc = new Document(); ByteArrayOutputStream baosPDF = new ByteArrayOutputStream(); PdfWriter docWriter = PdfWriter.getInstance(doc, baosPDF); doc.open(); doc.add(new Paragraph("Application", titleFont)); doc.add(new Paragraph( "Name: " + name + "\nSurname: " + surname + "\nApplication submit date: " + submitDate)); doc.add(new Paragraph("Competences", titleFont)); StringBuilder sb = new StringBuilder(); for (String comp : competences) { sb.append(comp + "\n"); } doc.add(new Paragraph(sb.toString())); doc.add(new Paragraph("Availabilities", titleFont)); sb = new StringBuilder(); for (String avail : availabilities) { sb.append(avail + "\n"); } doc.add(new Paragraph(sb.toString())); doc.close(); docWriter.close(); response.setContentLength(baosPDF.size()); ServletOutputStream sos = response.getOutputStream(); baosPDF.writeTo(sos); sos.flush(); } catch (DocumentException ex) { Logger.getLogger(PdfServlet.class.getName()).log(Level.SEVERE, null, ex); } }