iText中文教程 ==第一部分:iText的一般应用(下)

====================================================================
这段时间一直很忙,一直没有继续写下去,不过第一章算是完成了,现在贴出来
小站开张了 www.passtwo.com 欢迎光临!
====================================================================

第三步:打开文档

       调用Document.open()是非常关键的。当你向一个没有打开的document对象里面添加内容的时候iText会抛出一个异常。在你打开这个document之前会做一些初始化工作。这同样适用于本教程的其他地方。我们先来看一下下面两个例子:

       简单加密的文档

       如果你想创建一个加密的文档,你应该在文档打开之前调用document对象的setEncryption方法。如果你试图在文档打开之后调用setEncryption方法,那么iText将会抛出DocumentException异常,显示的错误消息是:Encryption can only be added before opening the document.(加密只能在文档打开之前调用)

       相关java文件:com.lowagie.examples.general.HelloEncrypted

       输出结果:HelloEncrypted.pdf (密码:hello

      

       meta数据

       如果我们在Acrobat阅览器里面查看文档的属性(在文件菜单下),默认情况下,我们可以看到一些空的字段(如下图:)

HelloWorld without metadata

默认情况下iText只调用下面两个metadata方法:addProducer() addCreationDate(),你可以改变producer(制作者)creation date(制作日期),但是你不需要这么做。我们也可以使用下面的方法来改变Description部分的metadata

Title(标题):

addTitle(java.lang.String)

Author(作者):

addAuthor(java.lang.String)

Subject(主题)

addSubject(java.lang.String)

Keywords(关键字)

addKeywords(java.lang.String)

Application(应用)

addCreator(java.lang.String)

如果使用下面的示例代码:

document.addTitle("Hello World example");

document.addAuthor("Bruno Lowagie");

document.addSubject("This example explains how to add metadata.");

document.addKeywords("iText, Hello World, step 3, metadata");

document.addCreator("My program using iText");

最后的结果如下:

HelloWorld with metadata

示例JAVA文件:com.lowagie.examples.general.HelloWorldMeta

输出结果:HelloWorldMeta.pdf

       如果你看了API文档的话,你将会看到一个一般的方法:addHeader(java.lang.String, java.lang.String)。但是这个方法对PdfWriter没有任何的影响,但是会影响HtmlWriter

第四步:添加内容

       向一个PDF文档中添加内容的方法有很多种,最简单的方法是使用high level objects(高级对象),就像Chunk, Phrase, Paragraph等等。认识到这一点是非常重要的:并不是所有的类型都能支持所有的Writer。例如:PdfPTable对象只支持PDF,不能在RTF或者HTML中使用。如果你将一个PdfPTable对象添加到一个文档,那么RtfWriterHtmlWriter对象将会忽略这个对象。

       如果你不需要RTF或者HTML文档,你也可以在绝对位置添加对象。在iText里面使用了大量的PDF标准语法。所以,你可以使用iText做很多功能强大的事情。

       使用PdfGraphics2D-object向文档中添加内容也是允许的,你可以在本教程的其他地方了解到更多

第五步:关闭文档

       关闭文档是非常重要的一步,这个操作将会把添加的内容写到Write对象所对应的输出流中,然后关闭这个输出流,在finalize方法中同样会调用Close方法,但是不要指望,你最好自己关闭这个文档。

 

2006 7 21   第一节翻译完毕

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值