如何将隐藏图像添加到PDF文档?

时间:2012-09-06 14:08:41

标签: java image pdf itext

我有一个程序。它输出到pdf,但这几乎不可能再次读取。所以我需要一个附加到我的PDF的附加文件,以便能够在我的程序中编辑它。将文件附加到PDF是一个好主意,但这对用户是可见的,我不会这样做。

另一种方法是将我可读的文件格式隐藏在图像中,该图像将被添加到第一页顶部的某个位置,在其他所有内容之前......如果可能的话,甚至是元数据......

这样我就可以使用PDF库(iText)从pdf中提取图像,并从中读取。

我的问题是如何将图像添加到PDF中以便隐藏(视觉上和可访问性)。并且它必须位于任何创建的文档相同的位置(文档的顶部或底部的某个位置,或者根本不显示的文档部分......我'我真的在这里猜测,我真的不熟悉PDF文件格式)...

有什么想法吗?

P.S。它是什么形象并不重要,我可以是一个例如完全透明的图像,1x1像素。

1 个答案:

答案 0 :(得分:2)

我不确定Image的含义,但您可以“扩展”PDF参考。

PDF由对象组成:PDF编号,PDF名称,PDF字符串,PDF数组,PDF字典,PDF流。您可能想要的是在词典中添加一个条目(选择一个:根词典,信息词典,页面树的根,...),这些条目未在PDF参考中定义,因此它不是在PDF查看器中呈现。

此类条目的密钥必须是PDF名称。为避免与现有名称(属于当前PDF规范的名称或将成为未来规范的一部分)发生冲突,建议使用ISO注册四个字母的密钥。例如,Adobe注册了adbe,iText注册了ITXT并使用该名称和下划线。例如,如果我们需要您描述的功能,ITXT_OriginalData将是一个好名字。

此类条目的值将是PDF流。在iText中,您需要PdfStream类。