Mega Code Archive

 
Categories / Java Tutorial / PDF
 

Set ContentType and transfer Pdf document to client

import java.io.ByteArrayOutputStream; import java.io.IOException; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.lowagie.text.Chunk; import com.lowagie.text.Document; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfWriter; public class OutSimplePdf extends HttpServlet {   public void init(ServletConfig config) throws ServletException {     super.init(config);   }   public void doGet(HttpServletRequest request, HttpServletResponse response)       throws ServletException, IOException {     makePdf(request, response, "GET");   }   protected void doPost(HttpServletRequest request,       HttpServletResponse response) throws ServletException, IOException {     makePdf(request, response, "POST");   }   public void makePdf(HttpServletRequest request,       HttpServletResponse response, String methodGetPost)       throws ServletException, IOException {     try {       String msg = "your message";       Document document = new Document();       ByteArrayOutputStream baos = new ByteArrayOutputStream();       PdfWriter.getInstance(document, baos);       document.open();       document.add(new Paragraph(msg));       document.add(Chunk.NEWLINE);       document.add(new Paragraph("a paragraph"));       document.close();       response.setHeader("Expires", "0");       response.setHeader("Cache-Control","must-revalidate, post-check=0, pre-check=0");       response.setHeader("Pragma", "public");       response.setContentType("application/pdf");       response.setContentLength(baos.size());       ServletOutputStream out = response.getOutputStream();       baos.writeTo(out);       out.flush();     } catch (Exception e2) {       System.out.println("Error in " + getClass().getName() + "\n" + e2);     }   }   public void destroy() {   } }