Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用iText API提取PDF水印内容_Java_Itext - Fatal编程技术网

Java 如何使用iText API提取PDF水印内容

Java 如何使用iText API提取PDF水印内容,java,itext,Java,Itext,我正在浏览iTextAPI文档&我能够创建一个带有水印图像或文本的pdf,但没有找到从pdf中获取/提取水印内容的方法 因此,我有一个包含水印文本/图像的pdf文档&我想提取该文本或img并验证我无法做到的事情 如何使用iText API提取水印内容?或者是否有其他方法验证水印内容 通过验证,我的意思是,如果我有一个带有水印文本的现有pdf/图像[如上面参考中的第二个链接所做的那样],我想检查它是否有预期的文本/图像 参考资料: 如何使用iText API提取水印内容?或者是否有其他方法

我正在浏览iTextAPI文档&我能够创建一个带有水印图像或文本的pdf,但没有找到从pdf中获取/提取水印内容的方法

因此,我有一个包含水印文本/图像的pdf文档&我想提取该文本或img并验证我无法做到的事情

如何使用iText API提取水印内容?或者是否有其他方法验证水印内容

通过验证,我的意思是,如果我有一个带有水印文本的现有pdf/图像[如上面参考中的第二个链接所做的那样],我想检查它是否有预期的文本/图像

参考资料:

如何使用iText API提取水印内容?或者是否有其他方法验证水印内容

提取水印内容? 与常规页面内容相比,PDF中的水印没有什么特别之处。他们只是

  • 在内容流中出现得很早,其他内容在流中出现得比较晚,因此,被画在上面;或者他们

  • 在内容流中出现得很晚,但应用了某种透明度

实际上还有另一种类型的水印,特殊的,即所谓的水印注释。但是,由于这些注释在合并文档或以其他方式操作文档时很容易丢失,因此很少使用它们

此外,提供添加水印方法的不同PDF生成软件套件以各自的方式添加水印。因此,您甚至无法通过在特定的唯一模式中执行的某些特殊操作来识别水印

您提到的iText示例已经应用了不同类型的水印

  • MovieCountries2
    只需使用有角度的基线绘制一些灰色大文本
  • StampStationery
    将某个PDF(其本身可能具有可视的前景和背景材料)中的完整页面复制到目标PDF中的一个单独对象中,并在目标PDF的每个页面的开头添加对此对象的引用
  • InsertPages
    在每个新生成的目标文档页面上类似地引用某个PDF中的页面
因此,盲水印提取实际上是不可能的

正在验证水印内容! 不过,如果您知道要搜索什么,您可以尝试一些验证。您不仅要搜索一些(PDF中不存在的)固定水印流,还要搜索整个页面内容

iText提供了
解析器
包的类,这些类允许从内容流中提取文本和/或位图图像。查看关键字和中引用的示例


您只需检查您所期望的图像或文本是否可以通过这些按您所期望的方式定位和设置样式的类找到。

在此上下文中,验证是什么意思?检查一个数字签名,或者其他什么?@LeonardBrünings:我的意思是,如果我有一些带水印文本的现有pdf[如上面参考中的第二个链接所做的那样]。我想检查它是否有预期的文本。我不是专家,但你可以检查信息。然而,这将不是一项微不足道的任务。