OA办公软件与PDF文件联系紧密,PDF格式的文件也是办公人员必须掌握的!  设为首页 加入收藏夹 我来推荐 
您的位置:首页 > PDF应用技术 > PDF开发技术
PDF开发技术
用C#语言制作PDF文件全攻略图文教程
日期:2009-04-17 20:59:48 人气: 标签:

u       加密

打开文档之前还要做的一件事情就是加密(如果你希望该文档加密),要达到这个目的,你可以使用下面的方法:

public void setEncryption(boolean strength, String userPassword, String ownerPassword, int permissions);

  • strength 是下面两个常量之一:
    • PdfWriter.STRENGTH40BITS: 40 位
    • PdfWriter.STRENGTH128BITS: 128位 (Acrobat Reader 5.0及以上版本支持)
  • UserPassword和ownerPassword 可以为空或零长度, 这种情况下, ownerPassword 将被随机的字符串代替
  • Permissions 为下列常量之一:
    • PdfWriter.AllowPrinting
    • PdfWriter.AllowModifyContents
    • PdfWriter.AllowCopy
    • PdfWriter.AllowModifyAnnotations
    • PdfWriter.AllowFillIn
    • PdfWriter.AllowScreenReaders
    • PdfWriter.AllowAssembly
    • PdfWriter.AllowDegradedPrinting

该功能参见示例代码0109和示例代码0110。

writer.setEncryption(PdfWriter.STRENGTH40BITS, null, null, PdfWriter.AllowCopy);

示例代码0109产生的文件能够被打开而无须密码,但用户不能打印、修改本文档。

writer.setEncryption(PdfWriter.STRENGTH128BITS, "userpass", "ownerpass", PdfWriter.AllowCopy | PdfWriter.AllowPrinting);

打你试图打开示例代码0110产生的文件时,将要求输入密码('userpass'),因为添加了AllowPrinting参数,你可以打印该文档而不会发生任何问题。

第四步 添加内容

在解释第一步到第三步的不同示例中,你可能已经遇到了一些对象如Phrase, Paragraph等 在接下来的几章中,所有这些问题都将得到详细解释。

有时你可能想一个writer故意忽略document产生的行为,如示例代码0111:

当我们创建了两个writer: writerA 和 writerB:

PdfWriter writerA = PdfWriter.getInstance(document, new FileStream("Chap0111a.pdf", FileMode.Create));

PdfWriter writerB = PdfWriter.getInstance(document, new FileStream("Chap0111b.pdf", FileMode.Create));

我们可以创建两个有细微差别的文档:

writerA.Pause();

document.add(new Paragraph("This paragraph will only be added to Chap0111b.pdf, not to Chap0111a.pdf"));

writerA.resume();

你可以比较文件: Chap0111a.pdfChap0111b.pdf的区别

第五步,关闭 document

关闭 document 非常重要, 因为它将关闭正在运行的Writer并将内容写入文件,该方法在最后被调用,你应该总是要关闭文档。

高级话题:阅读PDF文件

该部分内容介绍了iText只能产生PDF格式的文件而不能解析PDF格式文件,不再翻译。

共有条评论信息评论信息
栏目分类

站点说明 | 站点导航 | 站点公告 |
OAPDF.COM版权所有 2009 V1.1