首页 > 代码库 > 利用itext生成pdf的简单例子

利用itext生成pdf的简单例子

一、itext简介

iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。

iText的安装非常方便,在http://www.lowagie.com/iText/download.html网站上下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用iText类库了

二 、生成简单的pdf文件

1.先生成一个文档的文件

//其中fileName为所要创建pdf文件的路径。

public static OutputStream createFile(String fileName) {

File file = new File(fileName);

//创建一个文件之前判断他的父路径的文件夹是否存在,不存在需要创建

if (!new File(file.getParent()).exists())

new File(file.getParent()).mkdirs();

try {

//创建该文件夹
file.createNewFile();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

 

//获取所要创建pdf的文件的输出流

OutputStream os = null;
try {
os = new FileOutputStream(file);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return os;

}

2.创建一个document的文档对象.

 2.1 

②建立一个书写器(Writer)与document对象关联,通过书写器(Writer)可以将文档写入到磁盘中。  

  PdfWriter pdfWriter=new PdfWriter(createFile("你所要创建的pdf文件路径"));

2.2创建pdfDocument的对象与Writer的对象关联

  PdfDocument pdfDocument = new PdfDocument(pdfWriter);

2.3设定创建pdf的纸张大小

  PageSize pageSize = PageSize.A4;

2.4创建Document的对象

  Document document = new Document(pdfDocument, pageSize);

 

三、添加内容

// 设定标题居中显示

float w = pageSize.getWidth() - document.getLeftMargin() - document.getRightMargin();
List<TabStop> tabstops = new ArrayList();
tabstops.add(new TabStop(w / 2, TabAlignment.CENTER));
tabstops.add(new TabStop(w, TabAlignment.LEFT));

// 段落
Paragraph p = new Paragraph();
p.addTabStops(tabstops);
p.add(new Tab()).add("Text in the middle").add(new Tab());
p.add(new Tab()).add("How To Create An PDF File?").add(new Tab());

document.add(p);

document.flush();

//关闭document

document.close();

 

利用itext生成pdf的简单例子