servlet中如何生成pdf呢?
下文笔者讲述在servlet开发中--如何直接在后台生成pdf,然后发送到前端呢?
pdf简介
pdf是一种电脑上常用的阅读格式 也是我们web打印常采用的格式,那么servlet中如何直接生成pdf呢? 下文笔者将一一道来,如下所示
实现思路: 使用itext中的PDfWrite生成pdf 然后使用流的方式发送到前端浏览器中即可例:
public class PdfServlet extends HttpServlet { protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { // 获取生成pdf所需的文本 String text = request.getParameter("text"); if (text == null || text.trim().length() == 0) { text = "pdf中没有任何文本信息"; } // step 1 Document document = new Document(); // step 2 ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfWriter.getInstance(document, baos); // step 3 document.open(); // step 4 document.add(new Paragraph(String.format( "You have submitted the following text using the %s method:", request.getMethod()))); document.add(new Paragraph(text)); // step 5 document.close(); // setting some response headers response.setHeader("Expires", "0"); response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0"); response.setHeader("Pragma", "public"); // setting the content type response.setContentType("application/pdf"); // the contentlength response.setContentLength(baos.size()); // write ByteArrayOutputStream to the ServletOutputStream OutputStream os = response.getOutputStream(); baos.writeTo(os); os.flush(); os.close(); } catch(DocumentException e) { throw new IOException(e.getMessage()); } } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。