仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 996|回复: 18
打印 上一主题 下一主题

[学习教程] JAVA网站制作之利用Java天生Pdf文档

[复制链接]
若天明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:40:36 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
再说第三点:我并没有提到服务器也要整合,然后是IDE,一个好的IDE能够200%提高开发的速度,就说图形方面:你是经过简单托拽和点击就能实现功能好那。

现在PDF格局文档的利用已愈来愈广泛,它在文档紧缩、平安等方面都体现的十分优异,有关它的优点我就不在这里多说了。那末怎样利用Java言语开辟使用来输入PDF格局的文档呢?在这里给人人先容iText,它是一个开辟源代码的项目,你可使用iText便利的完成PDF的输入。这篇文章我将向人人先容怎样利用iText来天生PDF文档。

HelloWorld

作为一个程序开辟职员,关于HelloWorld程序其实不生疏,几近每种言语或使用入手下手老是会举一个HelloWorld的例子来向人人先容。在入手下手先容iText时,我们无妨也从HelloWorld入手下手







如今运转下面的代码(记着在这之前把itext.jar放到你的ClassPath当中),假如统统一般的话你会在”c:/”看到一个名为hello.pdf的文件。翻开这个文件,看到了甚么?是的文档里有一行字符“HelloWorld”,以下图。


怎样是否是很复杂?固然我们在实践使用时不成能只是复杂的输入一个字符串就完事了,还要作良多的事情,输入更庞大的PDF,上面就让我们入手下手进一步懂得iText的其他功效。

更庞大的设置

剖析一下Document的机关办法,我们发明除我们上一个例子中的无参数机关之外另有两个:

/*

*Createdon2004-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:/hello.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);

//创立一个文档对象,并设置他的初始化巨细

Documentdoc=newDocument(pSize);



RectanglepSize=newRectangle(144,90);

//文档的背景致

pSize.setBackgroundColor(Color.blue);



//创立一个文档对象,设置初始化巨细和页边距

Documentdoc=newDocument(pSize,5,5,5,5);

将第一个例子中的代码按下面的办法修正然后运转,你能够看到输入的PDF文档将是这个模样,文档变得很小并且背景是蓝色:


在下面的例子中我们经由过程Rectangle设置了文档的巨细,实在iText已为我们界说好了很多经常使用的页面,好比:A0-A10,LEGAL,LETTER等等,这些都放在com.lowagie.text.PageSize这个类中,你能够经由过程挪用PageSize中的静态办法间接援用页面信息。好比:

PageSize.A4;



设置字体

利用iText能够设置笔墨的字体,关于我们中国的程序员来讲怎样显现中文是最紧急的成绩。幸亏iText中有一个专门的包用来设置亚洲国度的字体你能够从http://itext.sourceforge.net/downloads/iTextAsian.jar下载这个包。然后把它间接放到你的ClassPath中就能够了。怎样设置字体呢?



BaseFontbfChinese=BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);

FontFontChinese=newFont(bfChinese,12,Font.NORMAL);

在下面的代码中设置了中笔墨体的显现,你只需利用上面的代码就能够包中文加到PDF中了

Stringtitle="我爱喝咖啡";

Paragrapht=newParagraph(title,FontChinese);

doc.add(t);



假如你以为如许设置很贫苦的话,呵呵,那你要本人扩大它的源代码了,设置字体全体在谁人BaseFont里边。




编纂表格

iText中的表格很像HTML中表格的利用不外它有一个cell代表一个格子,基础上这里的Table和Swing中的Table对象是分歧的,好比下面代码中关于表格的设置:

//界说一个表格

Tabletable=newTable(2);

//设置表格边框

table.setBorderWidth(1);

Cellcell=newCell("MatrixIII");

cell.setHeader(true);

//排列

cell.setColspan(2);

cell.setBackgroundColor(Color.blue);

table.addCell(cell);





安排图片

如今你必定晓得怎样把一个图片加到文档中了,没错只需声明一个Image对象就能够了,这里的Image和AWT中的Image利用办法是一样的。

//界说一个图片

Imagejpeg=Image.getInstance("C:/matrix.jpg");

//图片居中

jpeg.setAlignment(Image.ALIGN_CENTER);

停止

有关iText的利用我就大抵先容这些,更深切的工具只要人人参考源代码本人体味了。





令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-22 03:26

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表