您的位置:首页 > 其它

使用iText操作pdf文件

2007-06-05 11:36 549 查看

使用iText操作pdf文件

前段时间写过一篇文章《java读取pdf文件的内容》,pig0045给我回复,说可以直接利用iText搞定,我很感激,因为以前处理pdf文件并不多,对这块相关组件并不了解,pig0045给我介绍了一个新的方法,谢谢!欣喜之余,马上google了一把iText,发现iText在生成pdf文件方面功能很强大,而在读取pdf文件内容方面似乎涉及并不多(也许是我没查到,有不同观点的朋友,大家探讨一下阿)。
同时我也查了下java领域针对pdf的相关组件,发现有很多开源的东东,都可以操作pdf,恩,很不错的。大致介绍几个:xpdf,iText,PDFBox,感兴趣的话,大家可以自己查一下。
好了,回到文章主题,查了下iText后,我也去稍微看了下相关的api,做了一些简单的demo,虽然网上相关介绍很多,但是自己写一遍程序再用自己的语言记录下来,理解会更为深刻一点。
准备工作:到http://www.lowagie.com/iText/下载最新的iText的jar包,并将其放到classpath中。
一.Hello World

iText创建pdf文件是十分简单的,为了演示其极其简单性,我们做一个HelloWorld吧,让大家体验一下。
在这个pdf文件中,我们只显示一句话"Hello World",实现方式如下:

// 创建一个文档对象
Document doc = new Document();
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,5,5,5,5);

在上面的例子中我们通过Rectangle设置了文档的大小,其实iText已经为我们定义好了许多常用的页面,比如:A0-A10,我们可以直接调用,如下:

Document doc=new Document(PageSize.A4,5,5,5,5);

三.设置字体

iText可以设置显示文本的字体,大小,颜色等,如下:

// 加入文字“Hello World”,并设置字体为粗体,大小为20,颜色为红色
doc.add(new Paragraph("HelloWorld", FontFactory.getFont(
FontFactory.COURIER, 20, Font.BOLD, new Color(255, 0, 0))));

而要实现中文支持,我们需要到http://itextdocs.lowagie.com/downloads/iTextAsian.jar下载中文支持包,然后把它放入classpath中(我试了几次,都无法下载,这里先不说这块了)。

四.编辑表格

pdf中的table和html中的table差不多,只是其单元格是cell,如下代码加入了一个2*2的表格,代码很简单,就不过多解释了。

Document doc = new Document();
Document doc = new Document();
Image jpeg;
try ...{
} catch (BadElementException e) ...{
} catch (MalformedURLException e) ...{
} catch (IOException e) ...{
} catch (DocumentException e) ...{


e.printStackTrace();


}

好了,到这里我大致也介绍完了,欢迎大家拍砖,呵呵
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: