如何使用iTextSharp为PDF文档添加安全和隐藏的附件

时间:2014-03-25 06:33:24

标签: security pdf itextsharp attachment

我想使用iTextSharp将文件附加到现有PDF文档,我可以使用pdfStamper.AddFileAttachment(...)方法完成此操作。现在我想隐藏/保护附件,使得任何人都无法看到附件,甚至无法直接从PDF中检索附件。它应该只从代码中检索。

1 个答案:

答案 0 :(得分:3)

我不会存储任何必须隐藏在文件附件中的内容。这是一种众所周知的公共机制,可以通过多个软件(通过UI)来理解和支持。

如果必须隐藏和保护,我会通过以某种方式加密文件来保护文件,然后将所有文件存储在文档中某处的私有CosStream中。最好的方法可能是“Page-Piece Dictionaries”,它提供了一种在PDF文件中存储产品私有数据的方法。私人数据可以作为一个整体附加到表格,页面或文档中。

在我的PDF规范版本中,这是第14.5段,Page-Piece Dictionaries。

为了包含对OP和mkl后续评论的关注,没有预期页面数据以任何方式编码。页面片段包含一个“私有”键,可以将任何内容作为值(因此该值可以是较小数据的字符串,可以是包含多条私有信息的字典,也可以是压缩为保持的流它很小。)

从PDF规范:“私人(密钥):(可选)任何适用于符合要求的产品的私人数据,通常以字典的形式”。注释说明中的“典型”。 PDF规范中的进一步说明阐明了存储的数据类型可能是您想要的任何内容。