IText 制作PDF格式的文档

       在webwork 里面VIEW层的表现可以有很多种如volecity,jsp,pdf,excel等形式的视图,还有一些第三方插件也提供了这样的功能,比如:displayTag也可以导出pdf,excel的视图格式。其实最底层的实现如PDF使用了IText,Excel使用了POI等开源项目,只不过webwork或displayTag这样的工具有对它们封装了一下。

       现在把使用IText导出PDF格式的文件和大家分享一下。

     

  1. package com.alisoft.demo;
  2. import java.io.FileNotFoundException;
  3. import java.io.FileOutputStream;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import com.lowagie.text.Document;
  7. import com.lowagie.text.DocumentException;
  8. import com.lowagie.text.Paragraph;
  9. import com.lowagie.text.pdf.BaseFont;
  10. import com.lowagie.text.pdf.PdfWriter;
  11. /**
  12.  * 项目名称: admin 后台管理系统
  13.  * 功能模块名称:IRM
  14.  * 文件名称为:PDFDemo.java
  15.  * 文件创建人:hongliang.dinghl
  16.  * 修改记录:
  17.  * 修改人  修改日期  备注
  18.  *
  19.  * @author 丁宏亮
  20.  * @version 
  21.  * @time  2008-11-11 下午02:27:34
  22.  * @copyright www.alisoft.com
  23.  */
  24. public class PDFDemo {
  25. //指定文件全路径
  26. @SuppressWarnings("finally")
  27. public boolean writerPDF(String fileName){
  28. //  创建一个文档对象   
  29.     Document doc = new Document();   
  30.     try {   
  31.         //定义输出文件的位置   
  32.         PdfWriter.getInstance(doc, new FileOutputStream(fileName));   
  33.         //开启文档   
  34.         doc.open();   
  35.         //设定字体 为的是支持中文   
  36.         BaseFont bfChinese = BaseFont.createFont("STSong-Light""UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
  37.         com.lowagie.text.Font FontChinese = new com.lowagie.text.Font(bfChinese, 12, com.lowagie.text.Font.NORMAL);  
  38.         //向文档中加入文字   
  39.         doc.add(new Paragraph("Hello你好!世界world",FontChinese));   
  40.         //关闭文档并释放资源   
  41.         doc.close();   
  42.         return true;
  43.     } catch (FileNotFoundException e) {   
  44.         e.printStackTrace();   
  45.         return false;
  46.     } catch (DocumentException e) {   
  47.         e.printStackTrace(); 
  48.         return false;
  49.     } catch (IOException e) {   
  50.         e.printStackTrace(); 
  51.         return false;
  52.     } finally{
  53.         return false;
  54.     }
  55. }
  56. //指定文件路径和文件名称
  57. public boolean writerPDF(String filePath,String fileName){
  58.     return  false;
  59. }
  60. //指定文件输入流
  61. public boolean writerPDF(InputStream inputStream){
  62.     return false;
  63. }
  64. public static void main(String args[]){
  65.     PDFDemo pdf=new PDFDemo();
  66.     pdf.writerPDF("f:/alisoft.pdf");
  67. }
  68. }

     这个功能大家还可以扩展,比如导出完以后可以下载到本地系统或发送一个Email带附件的邮件都是可以的。

   

你可能感兴趣的:(jsp,Excel,Webwork,文档,扩展,email)