Java 使用 iText动态生成PDF文档

2008-02-23 09:15:06来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

iText是一个开发源代码的项目,你可以使用iText方便的实现PDF的输出。
一、iText的下载:

你可以在 http://www.lowagie.com/iText/ 查看关于iText的相关信息,包括源代码,文档..

1. itext-src-1.4.zip(源代码)

http://jaist.dl.sourceforge.net/sourceforge/itext/itext-src-1.4.zip

2. itext-1.4.jar(可以直接导入的jar文件)

http://jaist.dl.sourceforge.net/sourceforge/itext/itext-1.4.jar

3. 亚洲语言包

http://itextdocs.lowagie.com/downloads/iTextAsian.jar (或者)

http://itextdocs.lowagie.com/downloads/iTextAsianCmaps.jar

二、示例程序:

首先把上面的这几个jar包的完整路径添加到环境变量 classpath 中,然后再下面的程序
中导入相应的包

/**
* HelloWorld.Java
*/

import java.io.FileOutputStream;
import java.io.IOException;

import com.lowagie.text.*;
import com.lowagie.text.pdf.PdfWriter;

public class HelloWorld {

public static void main(String[] args) {

System.out.println("Hello World");

// 创建一个Document对象
Document document = new Document();

try
{

// 生成名为 HelloWorld.pdf 的文档
PdfWriter.getInstance(document, new FileOutputStream("HelloWorld.pdf"));

// 添加PDF文档的一些信息
document.addTitle("Hello World example");
document.addAuthor("Bruno Lowagie");
document.addSubject("This example explains how to add metadata.");
document.addKeywords("iText, Hello World, step 3, metadata");
document.addCreator("My program using iText");

// 打开文档,将要写入内容
document.open();

// 插入一个段落
document.add(new Paragraph("Hello World!"));

}
catch (DocumentException de)
{
System.err.println(de.getMessage());
}
catch (IOException ioe)
{
System.err.println(ioe.getMessage());
}

// 关闭打开的文档
document.close();
}
}

编译运行以后,我们可以在运行的目录发现生成的HelloWorld.pdf,打开可以看到我们写的文字:

Hello World



三、中文问题:

由于iText不支持东亚语言,我们下载了iTextAsian.jar 以后,就可以在PDF里面写中文:

/**
* AsianTest.java
*/

import java.io.FileOutputStream;
import java.io.IOException;

import com.lowagie.text.*;
import com.lowagie.text.pdf.PdfWriter;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.Font;
import java.awt.Color;

public class AsianTest{

public static void main(String[] args) {

// 创建一个Document对象
Document document = new Document();

try
{

// 生成名为 AsianTest.pdf 的文档
PdfWriter.getInstance(document, new FileOutputStream("AsianTest.pdf"));

/** 新建一个字体,iText的方法

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Apache中多任务并发处理机制研究(1)

下一篇:浅谈JAVA的标准数据流[原创]