现在的位置: 首页 > 综合 > 正文

iText使用入门,输出pdf到浏览器

2013年02月01日 ⁄ 综合 ⁄ 共 1743字 ⁄ 字号 评论关闭
  1. package com.laozizhu.lowagie.itext;
  2. import java.io.IOException;
  3. import javax.servlet.ServletException;
  4. import javax.servlet.http.HttpServlet;
  5. import javax.servlet.http.HttpServletRequest;
  6. import javax.servlet.http.HttpServletResponse;
  7. import com.lowagie.text.Document;
  8. import com.lowagie.text.Font;
  9. import com.lowagie.text.Paragraph;
  10. import com.lowagie.text.pdf.BaseFont;
  11. import com.lowagie.text.pdf.PdfWriter;
  12. /**
  13.  * iText使用之输出pdf到浏览器。
  14.  * 
  15.  * @author 老紫竹(laozizhu.com)
  16.  */
  17. public class HelloWorldServlet extends HttpServlet {
  18.   public void doGet(HttpServletRequest request, HttpServletResponse response)
  19.       throws ServletException, IOException {
  20.     response.setContentType("application/pdf");
  21.     response.setHeader("Expires""0");
  22.     response.setHeader("Cache-Control""must-revalidate, post-check=0, pre-check=0");
  23.     response.setHeader("Pragma""public");
  24.     try {
  25.       // 新建一个文档,默认是A4纸的大小,4个边框为36
  26.       Document document = new Document();
  27.       // 将文档输出,我们写到输出流里面
  28.       PdfWriter.getInstance(document, response.getOutputStream());
  29.       // 以下的代码没有特殊的东西了。
  30.       document.addTitle("Hello World example");
  31.       document.addAuthor("老紫竹");
  32.       document.addSubject("This example explains how to add metadata.");
  33.       document.addKeywords("iText, Hello World, step 3, metadata");
  34.       document.addCreator("My program using iText");
  35.       // 打开文档
  36.       document.open();
  37.       // 写入数据
  38.       document.add(new Paragraph("Hello World"));
  39.       BaseFont bfChinese = BaseFont.createFont("STSong-Light""UniGB-UCS2-H",
  40.           BaseFont.NOT_EMBEDDED);
  41.       Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);
  42.       document.add(new Paragraph("老紫竹祝大家新年好!", FontChinese));
  43.       // 关闭文档
  44.       document.close();
  45.     } catch (Exception ex) {
  46.       ex.printStackTrace();
  47.     }
  48.   }
  49. }

抱歉!评论已关闭.