JAVA导出pdf实例

一、直接导出成PDF 
  
Java代码 
1. import java.io.FileNotFoundException;     

2. import java.io.FileOutputStream;     

3.     
4. import com.itextpdf.text.Document;     
5. import com.itextpdf.text.DocumentException;    

 6. import com.itextpdf.text.Paragraph;     

7. import com.itextpdf.text.pdf.PdfWriter;     

8.     
9. public class ItextProduce {     

10.     
11.     public static void main(String[] args) {     

12.          Document doc = null;     

13.         try {     
14.              doc = new Document();     
15.              PdfWriter.getInstance(doc, new FileOutputStream("C:\\itext.pdf"));     

16.              doc.open();     
17.              doc.add(new Paragraph("Hello World"));     

18.          } catch (FileNotFoundException e) {     

19.              e.printStackTrace();     
20.          } catch (DocumentException e) {     

21.              e.printStackTrace();     

22.          } finally {     
23.              doc.close();    

 24.          }    

 25.      }     

26.     

27. } 

二、由Servlet导出PDF   
Java代码 
 package com.lwf.eus.servlet;      

 import java.io.ByteArrayOutputStream;     

 import java.io.IOException;        

 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.itextpdf.text.Document;     
import com.itextpdf.text.DocumentException;     

import com.itextpdf.text.Paragraph;     

 import com.itextpdf.text.pdf.PdfWriter;          

 public class ListRocarsReportServlet extends HttpServlet {     

private static final long serialVersionUID = 1L;         

    public ListRocarsReportServlet() {     

         super();     

      }         

     protected void doGet(HttpServletRequest request,     
              HttpServletResponse response) throws ServletException, IOException {  
         this.doPost(request, response);     

      }          

     protected void doPost(HttpServletRequest request,     
             HttpServletResponse response) throws ServletException, IOException{
          Document doc = new Document();     
         ByteArrayOutputStream ba = new ByteArrayOutputStream();     

        try {     
              PdfWriter writer = PdfWriter.getInstance(doc, ba);     

             doc.open();     
             doc.add(new Paragraph("Hello World"));     
      

         } catch (DocumentException e) {     

              e.printStackTrace();     

          }     
         doc.close();          

          response.setContentType("application/pdf");     

          response.setContentLength(ba.size());     
          ServletOutputStream out = response.getOutputStream();    

          ba.writeTo(out);     

         out.flush();     

      }          

 } 

 

三、由JSP导出成PDF   
Java代码 
1. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"    

2.      pageEncoding="ISO-8859-1"%>     

3. <%@ page     
4.     import="java.io.ByteArrayOutputStream,    

 5.      com.itextpdf.text.Document,     
6.      java.io.DataOutput,java.io.DataOutputStream,     

7.      com.itextpdf.text.Paragraph,     
8.      com.itextpdf.text.DocumentException,    

 9.      com.itextpdf.text.Document.*,     

10.      com.itextpdf.text.pdf.*"%>        

14. <%     
15.      response.setContentType("application/pdf");     

16.      Document doc = new Document();     
17.      ByteArrayOutputStream ba = new ByteArrayOutputStream();     

19.      PdfWriter writer = PdfWriter.getInstance(doc, ba);     

20.      doc.open();     
21.      doc.add(new Paragraph("Hello World"));     

2.      doc.close();          

24.      DataOutput output = new DataOutputStream(response.getOutputStream());
     
25.     byte[] bytes = ba.toByteArray();     
26.      response.setContentLength(bytes.length);     

27.     for (int i = 0; i < bytes.length; i++) {     

28.          output.writeByte(bytes[i]);     

29.      }     

30. %>       
Java导出pdf文档实例 
package com.helloweenvsfei.itext; import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.PageSize; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfWriter; public class FirstPDF { 
public static void main(String[] args) { // 创建文档对象,A4纸大小 
Document document = new Document(PageSize.A4); try { 
// 输出为E:\itext.pdf文件 
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("E:\\itext.pdf ")); // 打开文档 document.open(); // 在pdf文件中写入文字 
document.add(new Paragraph("Hello World, Hello iText")); // 关闭文档 

document.close(); } catch (Exception e) { e.printStackTrace(); } } } 
该程序运行后,将在E盘的根目录下生成一个itext.pdf文件,该pdf文件打开后,效果如图40.2所示。 
(点击查看大图)图40.2 iText生成的pdf文件  
通过以上的程序,总结出使用iText生成一个pdf的步骤如下: (1)创建Document对象。 
Document document = new Document(); 其中,Document有3个构造方法,如下: public Document(); 
public Document(Rectangle pageSize); 
public Document(Rectangle pageSize,int marginLeft,int marginRight,int marginTop,int marginBottom)。 
pageSize是纸张类型的大小,通常可以使用PageSize中的常量来表示,例如PageSize.A4表示A4纸张。marginLeft、marginRight、marginTop和marginBottom分别是正文距离页边的左、右、上、下的补白大小。 
(2)创建书写器(Writer)与document对象关联,通过书写器可以将文档写入磁盘中。 
PdfWriter writer = PdfWriter.getInstance(document,new FileOutputStream ("E:\\itext.pdf ")); (3)打开文档。 document.open(); (4)写入文档内容。 
document.add(new Paragraph("Hello iText")); 
写入的文档内容可以是多种类型,这里是带格式的文本Paragraph,还可以是Phrase、Paragraph、Table、Graphic对象等。 (5)关闭文档。 document.close();  

通过以上5个步骤,就可以生成pdf文档了。

posted @ 2015-06-10 15:27  牵手的承诺1  阅读(1667)  评论(0编辑  收藏  举报