RSS
当前位置 : 电脑维修 > 电脑维修 > itext能翻转表格吗

itext能翻转表格吗

来源:未知 作者:老黑 时间:09-10-10 打印
itext能翻转表格吗 如今PDF格式文档的使用已越来越普遍,他在文档压缩、安全等方面都表现的很优秀,有关他的好处我就不在这里多说了。那么如何使用Java语言研发应用来输出PDF格式的文档呢?在这里给大家介绍iText,他是个研发源代码的项目,您能够使用iText方便的实现PDF的输出。这篇文章我将向大家介绍如何使用iText来生成PDF文档。

HelloWorld

作为一个程式研发人员,对于HelloWorld程式并不陌生,几乎每一种语言或应用开始总是会举一个HelloWorld的例子来向大家介绍。在开始介绍iText时,我们不妨也从HelloWorld开始







现在运行上面的代码(记住在这之前把itext.jar放到您的ClassPath 之中),假如一切正常的话您会在”c:/”看到一个名为hello.pdf的文档。打开这个文档,看到了什么?是的文档里有一行字符“HelloWorld”,如下图。


怎么样是不是很简单?当然我们在实际应用时不可能只是简单的输出一个字符串就完事了,还要作很多的工作,输出更复杂的PDF,下面就让我们开始进一步 fef 解iText的其他功能。

更复杂的配置

分析一下Document的构造方法,我们发现除了我们上一个例子中的无参数构造以外更有两个:

/*

* Created on 2004-1-3,创建第一个Hello World程式

*/

package test1;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import com.lowagie.text.*;

import com.lowagie.text.pdf.*;

public class HelloWorld {

public static void main(String[] args) {

//创建一个文档对象

Document doc=new Document();

try {

//定义输出位置并把文档对象装入输出对象中

PdfWriter.getInstance(doc, new FileOutputStream("c:/hello.pdf"));

//打开文档对象

doc.open();

// 加入文字“Hello World”

doc.add(new Paragraph("HelloWorld"));

// 关闭文档对象,释放资源

doc.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (DocumentException e) {

e.printStackTrace();

}

}

}

public Document();

public Document(Rectangle pageSize);

public Document(Rectangle pageSize,

int marginLeft,

int marginRight,

int marginTop,

int marginBottom);



第一个配置文档的页面大小,第二个除了配置文档的页面大小还配置页面边距。下面我分别给出例子。

Rectangle pSize=new Rectangle(144,90);

//文档的背景色

pSize.setBackgroundColor(Color.blue);

//创建一个文档对象,并配置他的初始化大小

Document doc=new Document(pSize);



Rectangle pSize=new Rectangle(144,90);

//文档的背景色

pSize.setBackgroundColor(Color.blue);



//创建一个文档对象,配置初始化大小和页边距

Document doc=new Document(pSize,5,5,5,5);

将第一个例子中的代码按上面的方法修改然后运行,您能够看到输出的PDF文档将是这个样子,文档变得很小而且背景是蓝色:


在上面的例子中我们通过Rectangle配置了文档的大小,其实iText已为我们定义好了许多常用的页面,比如:A0-A10, LEGAL, LETTER等等,这些都放在com.lowagie.text.PageSize这个类中,您能够通过调用PageSize中的静态方法直接引用页面信息。比如:

PageSize.A4;



配置字体

使用iText能够配置文字的字体,对于我们中国的程式员来说如何显示中文是最紧要的问题。幸好iText中有一个专门的包用来配置亚洲国家的字体您能够从a href="itext.sourceforge/downloads/iTextAsian.jar" target="_blank"itext.sourceforge/downloads/iTextAsian.jar/a下载这个包。然后把他直接放到您的ClassPath中就能够了。如何配置字体呢?



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

Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);

在上面的代码中配置了中文字体的显示,您只要使用下面的代码就能够包中文加到PDF中了

String title = "我爱喝咖啡";

Paragraph t = new Paragraph(title, FontChinese);

doc.add(t);



假如您觉得这样配置很麻烦的话,呵呵,那您要自己扩展他的源代码了,配置字体全部在那个BaseFont里边。




编辑表格

iText中的表格很像HTML中表格的使用但是他有一个cell代表一个格子,基本上这里的Table和Swing中的Table对象是一致的,比如上面代码中对于表格的配置:

//定义一个表格

Table table = new Table(2);

//配置表格边框

table.setBorderWidth(1);

Cell cell = new Cell("Matrix III");

cell.setHeader(true);

//分列
cell.setColspan(2);

cell.setBackgroundColor(Color.blue);

table.addCell(cell);





放置图片

现在您一定知道如何把一个图片加到文档中了,没错只要声明一个Image对象就能够了,这里的Image和AWT中的Image使用方法是相同的。

//定义一个图片

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

//图片居中

jpeg.setAlignment(Image.ALIGN_CENTER);

结束

有关iText的使用我就大致介绍这些,更深入的东西只有大家参考源代码自己体会了。  
最新评论共有位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名评论