zoukankan      html  css  js  c++  java
  • 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文档了。

  • 相关阅读:
    【面积并】 Atlantis
    【动态前k大 贪心】 Gone Fishing
    【复杂枚举】 library
    【双端队列bfs 网格图建图】拯救大兵瑞恩
    【奇偶传递关系 边带权】 奇偶游戏
    【权值并查集】 supermarket
    CF w4d3 A. Pythagorean Theorem II
    CF w4d2 C. Purification
    CF w4d2 B. Road Construction
    CF w4d2 A. Cakeminator
  • 原文地址:https://www.cnblogs.com/wjwen/p/4566172.html
Copyright © 2011-2022 走看看