java生成pdf模板
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
竭诚为您提供优质文档/双击可除java生成pdf模板
篇一:java生成pdf
如今pdF格
式文档的使用已
经越来越普遍,
它在文档压缩、
安全等方面都表
现的非常优秀,
有关它的好处我
就不在这里多说
了。那么如何使
用java语言开
发应用来输出
pdF格式的文档
呢?在这里给大
家介绍itext,
它是一个开发源代码的项目,你可以使用itext 方便的实现pdF 的输出。这篇文章我将向大家介绍如何使用
itext来生成pdF文档。helloworld
作为一个程
序开发人员,对于helloworld 程序并不陌生,几乎每一种语言或应用开始总是会举一个helloworld的例子来向大家介绍。在开始介绍itext时,我们不妨也从
helloworld开
始
现在运行上
面的代码(记住
在这之前把
itext.jar放到
你的classpath
之中),如果一
切正常的话你会
在”c:/”看到
一个名为
hello.pdf的文
件。打开这个文
件,看到了什
么?是的文档里
有一行字符
“helloworld”,
如下图。
怎么样是不
是很简单?当然
我们在实际应用时不可能只是简单的输出一个字
符串就完事了,
还要作很多的工
作,输出更复杂
的pdF,下面就
让我们开始进一
步了解itext的
其他功能。
更复杂的设置
分析一下
document的构
造方法,我们发
现除了我们上一
个例子中的无参
数构造以外还有
两个:
/*
*createdon20xx-1-3,创建第一个helloworld程序*/
packagetest1;
importjava.io.FilenotFoundexception; importjava.io.Fileoutputstream;
importcom.lowagie.text.*;
importcom.lowagie.text.pdf.*;
publicclasshelloworld{
publicstaticvoidmain(string[]args){
//创建一个文档对象
documentdoc=newdocument();
try{//定义输出位置并把文档对象装入输出对象中
pdfwriter.getinstance(doc,newFileoutputstream("c:/h ello.pdf"));//打开文档对象doc.open();
//加入文字“helloworld”
doc.add(newparagraph("helloworld"));
//关闭文档对象,释放资源
doc.close();
}catch(FilenotFoundexceptione){
e.printstacktrace();
}catch(documentexceptione){
e.printstacktrace();
}
}
}
publicdocument();
publicdocument(Rectanglepagesize);
publicdocument(Rectanglepagesize,
intmarginleft,
intmarginRight,
intmargintop,
intmarginbottom);
第一个设置
文档的页面大
小,第二个除了
设置文档的页面
大小还设置页面
边距。下面我分
别给出例子。Rectanglepsize=newRectangle(144,90); //文档的背景色
psize.setbackgroundcolor(color.blue);
//创建一个文档对象,并设置他的初始化大小
do
cumentdoc=new
document(psize
);
Rectanglepsize=newRectangle(144,90);
//文档的背景色
psize.setbackgroundcolor(color.blue);
//创建
一个文档对象,设置初始化大小和页边距
docume
ntdoc=new document(psize
,5,5,5,5);
将第一个例子中
的代码按上面的
方法修改然后运行,你可以看到
输出的pdF文档
将是这个样子,
文档变得很小而
且背景是蓝色:
在上面的例子中
我们通过Rectangle设置
了文档的大小,
其实itext已经
为我们定义好了
许多常用的页
面,比如:a0-a10,
legal,letteR
等等,这些都放在
com.lowagie.te
xt.pagesize这个类中,你可以通过
调用pagesize中
的静态方法直接引
用页面信息。比如:
pagesize.a4;
设置字体
使用itext可以设置文字的字体,对于我们中国的程序员来说如何显示中文是最紧要的问题。幸好itext中有一个专门的包用来设置亚洲国家的字体你可以从
/downloads/itextasian.j ar下载这个包。然后把它直接放到你的classpath中就可以了。如何设置字体呢?
baseFontbfchinese=baseFont.createFont("stsong-light ","unigb-ucs2-h",baseFont.not_embedded);
FontFontchinese=newFont(bfchinese,12,Font.noRmal);