gpt4 book ai didi

java - 如何使用 iText api 提取 PDF 水印内容

转载 作者:行者123 更新时间:2023-11-30 04:02:35 24 4
gpt4 key购买 nike

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

所以我有一个包含水印文本/图像的 pdf 文档,我想提取该文本或图像并验证我无法执行的操作。

如何使用iText api提取水印内容?或者还有其他方法来验证水印内容吗?

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

引用文献:

最佳答案

How to extract watermark content using iText apis? Or is there any other way to validate watermark content?

提取水印内容?

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

  • 在内容流中出现得很早,而其他内容则在流中较晚出现,因此 被绘制在其上方;或者他们

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

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

此外,不同的 PDF 生成软件套件都提供了添加水印的方法,并以各自的方式进行添加。因此,您甚至无法通过以某种特定的独特模式完成的某些特殊操作来识别水印。

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

  • MovieCountries2 只是使用有角度的基线绘制一些灰色的大文本。
  • StampStationery 将某个 PDF 中的完整页面(其本身可能在视觉上具有前景和背景 Material )复制到目标 PDF 内的单独对象中,并在每个页面的开头添加对此对象的引用目标的。
  • InsertPages 同样在每个新生成的目标文档页面上引用某个 PDF 中的页面。

因此,盲目水印提取实际上是不可能的。

正在验证水印内容!

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

iText 提供了parser 包的类,允许从内容流中提取文本和/或位图图像。查看关键字PARSING PDF > EXTRACTING IMAGES引用的样本和 PARSING PDF > EXTRACTING TEXT .

您只需检查这些类是否可以找到您期望的图像或文本,这些类的位置和样式是否符合您的期望。

关于java - 如何使用 iText api 提取 PDF 水印内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21610545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com