Java 如何在PDF文件中隐藏文本?

Java 如何在PDF文件中隐藏文本?,java,pdf,pdf-generation,steganography,Java,Pdf,Pdf Generation,Steganography,如何向pdf文档中添加不可见的文本 文档操作应该在java中完成。用例是在文档签名和归档之前向文档添加更多元数据(以专有格式,约40kb) 我试过: 大小为0,0的批注字段 .txt文件附件 但是,这让PDF的读者很恼火,因为他们看到了不同之处(评论/附件栏) 是否有注释对象或语法来注释PDF文档中的行 编辑: 我尝试在PDF对象之间添加文本。这是可行的,问题是:acrobat reader在关闭窗口时要求重新保存文件 在%EOF之后添加文本不是一个解决方案,因为签名不应用于元数据,这是一个

如何向pdf文档中添加不可见的文本

文档操作应该在java中完成。用例是在文档签名和归档之前向文档添加更多元数据(以专有格式,约40kb)

我试过:

  • 大小为0,0的批注字段
  • .txt文件附件
但是,这让PDF的读者很恼火,因为他们看到了不同之处(评论/附件栏)

是否有注释对象或语法来注释PDF文档中的行

编辑: 我尝试在PDF对象之间添加文本。这是可行的,问题是:acrobat reader在关闭窗口时要求重新保存文件


在%EOF之后添加文本不是一个解决方案,因为签名不应用于元数据,这是一个必需的功能。

我见过PDF的页脚中有一堆元数据,只是白色,而背景也是白色,因此通常在查看PDF时您无法识别它。但是这很糟糕。

向PDF添加元数据的正确方法是通过XMP。它允许您添加任意元数据,并允许在同一PDF文件中定义元数据类型(如果您正在存档,您确实应该这样做,这是PDF/a等存档标准的要求)

XMP数据可以由不了解PDF格式的读者使用简单的文本扫描算法提取,但同时它将位于文档内部,因此将受到您应用的数字签名的保护


您可以在此处阅读更多信息:

您可以绘制smth并隐藏其背后的文本,或以与背景相同的颜色书写,请查看此帖子,了解注册自定义PDF名称的可能副本,只需将包含数据的流添加到PDF中,并使用PDF目录中的自定义名称引用它即可。谢谢您的提示,但这将破坏许多工具的导出文本功能。如果您想使用信息字典,请知道PDF 2.0中将不推荐使用信息字典,而使用XMP。顺便说一句:我是委员会的成员,正在为ISO-32000-2编写关于XMP的部分。