一、直接导出成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文档了。

JAVA导出pdf实例的更多相关文章

  1. java导出pdf功能记录

    这几天已在做处理导出pdf文件的功能,摸索了几天总算可以了.记录下这几天遇到的问题. 1.网上基本都是基于Itext5和Itext7来处理的.我最终是在Itext5上成功了,itext7应该是模板出问 ...

  2. Java导出Pdf格式表单

    前言   作为开发人员,工作中难免会遇到复杂表单的导出,接下来介绍一种通过Java利用模板便捷导出Pdf表单的方式 模拟需求   需求:按照下面格式导出pdf格式的学生成绩单 准备工作 Excel软件 ...

  3. Java导出pdf文件数据

    提示:导出pdf文件,需要3个jar包iText-2.1.5.jar,iTextAsian.jar,iText-rtf-2.1.4.jar. public boolean outputPdfJhsy( ...

  4. java导出pdf

    //导出          public void ScoringAnnouncementdownLoad() throws MalformedURLException, IOException, D ...

  5. 一次java导出pdf的经历

    近期由于工作需要,需要将html代码导入到pdf中,经过了几种pdf的方案对比后发现IText是最简单和便捷的一种方式,于是乎采用了Itext. PDF生成 第一步:导入Maven依赖 <!-- ...

  6. java根据模板导出PDF详细教程

    原文:https://blog.csdn.net/pengyufight/article/details/75305128 题记:由于业务的需要,需要根据模板定制pdf文档,经测试根据模板导出word ...

  7. java根据模板导出pdf

    在网上看了一些Java生成pdf文件的,写的有点乱,有的不支持写入中文字体,有的不支持模板,有的只是随便把数据放里面生成文件,完全不考虑数据怎样放置的以及以后的维护性,想想还是自己总结一个完全版的导出 ...

  8. java利用itext导出pdf

    项目中有一功能是导出历史记录,可以导出pdf和excel,这里先说导出pdf.在网上查可以用那些方式导出pdf,用itext比较多广泛. 导出pdf可以使用两种方式,一是可以根据已有的pdf模板,进行 ...

  9. java根据模板文件导出pdf

    原文:https://www.cnblogs.com/wangpeng00700/p/8418594.html 在网上看了一些Java生成pdf文件的,写的有点乱,有的不支持写入中文字体,有的不支持模 ...

随机推荐

  1. jQuery源码-dom操作之jQuery.fn.html

    写在前面 前面陆陆续续写了jQuery源码的一些分析,尽可能地想要cover里面的源码细节,结果导致进度有些缓慢.jQuery的源码本来就比较晦涩,里面还有很多为了解决兼容问题很引入的神代码,如果不g ...

  2. 【JavaScript】JS_Object跟Function的区别

    JS_Object和Function的区别 我们本次的解释,主要通过下图 粗看该图,估计你不一定能看明白.不过接下来让我逐行向你解释. 最左侧:意思是,有两个对象f1和f2,他们是通过new Foo( ...

  3. JUnit之持续集成(CI,Continuous Integration)

    序,测试驱动开发告诉我们,要尽早测试,经常测试.如果我们进行一点小改动时,都把所有的单元测试.集成测试和功能测试执行一遍,这就会非常浪费时间.为了避免这一点,在开发期间我们只执行单元测试,那么集成测试 ...

  4. GATK软件介绍

    背景介绍 GATK全称是The Genome Analysis Toolkit,是Broad Institute(The Broad Institute, formerly the Broad Ins ...

  5. SGU 495. Kids and Prizes

    水概率....SGU里难得的水题.... 495. Kids and Prizes Time limit per test: 0.5 second(s)Memory limit: 262144 kil ...

  6. 【转】(笔记)CANopen协议【CANFestival】移植方法

    一.背景 CAN组网就必须得要应用层协议,原因就在于 * 便于网络管理与控制 * 确认数据的收发 * 发送大于8个字节的数据块(CAN每帧数据传输大小为8字节) * 为不同节点分配不同的报文标识符 * ...

  7. Hadoop 之MongoDB

    NoSql 简介: COUCH DB REDIS MONGODB NEO4J HBASE BIGTABLE 存储非结构化数据 索引多:单键,多键,数组,全文,2D. MonggoDB数据类型: nul ...

  8. Ubuntu 14 安装 “宋体,微软雅黑,WPS Office的symbol、wingdings、wingdings 2、wingdings 3、webding字体,Consolas雅黑混合版编程字体” 等 Windows 7 下的字体

    Windows平台下,“宋体”.“微软雅黑”.“Courier New(编程字体)”用的比较多,看的也习惯了.那如何在 Ubuntu下也安装这些字体呢? 操作步骤如下: 第一步:从 Windows 7 ...

  9. Redis学习笔记六:独立功能之 Lua 脚本

    Redis 2.6 开始支持 Lua 脚本,通过在服务器环境嵌入 Lua 环境,Redis 客户端中可以原子地执行多个 Redis 命令. 使用 eval 命令可以直接对输入的脚本求值: 127.0. ...

  10. 淘宝(阿里百川)手机客户端开发日记第十篇 阿里百川服务器环境介绍之API文档的快速链接(四)

    个人感觉比较重要的快速链接: http://open.taobao.com/doc/detail.htm?id=102513 http://open.taobao.com/doc/detail.htm ...