一、直接导出成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. ubuntu 14.04 安装mysql server的分支MariaDB Server初级教程

    序,MariaDB Server是Mysql的fork版本,与Mysql完美兼容,mysql在10年被sun收购,后sun被oracle收购,后mysql的创建者及项目长期技术带头人之一的Michae ...

  2. freemarker初级教程(一)

    序,freemarker是一个模板引擎 一.好处 MVC分离 易于扩展 分离可视化设计和应用程序逻辑 分离页面设计员和程序员. 处理XML和HTML都可以,可以从文本文件读取 二.

  3. PHP 使用命名空间(namespace),实现自动加载

    示例: #/DB/MySql.class.php也就是DB文件夹下有MySql.class.php文件 namespace DB; class MySql { public function __co ...

  4. java httpclient发送json 请求 ,go服务端接收

    /***java客户端发送http请求*/package com.xx.httptest; /** * Created by yq on 16/6/27. */ import java.io.IOEx ...

  5. PHP文件操作 读取与写入

    基本知识: PHP文件系统是基于Unix系统的 文件数据基本类型:二进制数据.文本数据 文件输入流:数据从源文件到内存的流动 文件输出流:数据从内存保存到文件的流动 文件操作函数: >>& ...

  6. 微信封号浪潮再起 A货假代购还能在朋友圈泛滥多久?

    你的微信朋友圈是不是很活跃?是不是被很多所谓的名品所包围?没错,这些很多都是A货或假代购的伎俩.如果xmyanke的微信朋友圈出现这些东东,我就会直接屏蔽他的朋友圈权限.具体方法是:打开他的微信详细资 ...

  7. git之create local reposition(创建本地仓库)

    1.创建名为git-reposition的仓库 mkdir home/sunjf/git-reposition 注:home/sunjf可以指定为你想要的路径下面 2.初始化仓库 cd ~/git-r ...

  8. 【转】 GridView 72般绝技

    说明:准备出一个系列,所谓精髓讲C#语言要点.这个系列没有先后顺序,不过尽量做到精.可能会不断增删整理,本系列最原始出处是csdn博客,谢谢关注. C#精髓 第四讲 GridView 72般绝技 作者 ...

  9. Laravel 5.1 文档攻略 —— Eloquent:模型对象序列化

    在写api的时候,数据一般是以json格式进行传输的,没有对象可以直接使用.这个时候,对数据的序列化转换就很重要,Eloquent提供了很方便的方法和约定,不仅可以转换,还可以控制里面的键值. 基本用 ...

  10. BZOJ 3111: [Zjoi2013]蚂蚁寻路

    Sol DP. 首先观察转折,画画图,看看移动路线,可以非常轻易的发现如果走到起点的下方是回不去的.. 然后它就相当于一个底部是平的,顶部凹凹凸凸的形状,每右转两次或左转两次就会形成小矩阵,这样就可以 ...