JAVA网站制作之利用Java天生Pdf文档
再说第三点:我并没有提到服务器也要整合,然后是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的一个原因。 Java 编程语言的风格十分接近C、C++语言。 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 Java 编程语言的风格十分接近C、C++语言。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
页:
[1]