首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何利用iText apis提取PDF水印内容

如何利用iText apis提取PDF水印内容
EN

Stack Overflow用户
提问于 2014-02-06 18:01:17
回答 1查看 2.5K关注 0票数 1

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

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

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

通过验证我的意思是,如果我有一个现有的pdf/图像与一些水印文本,如在上面的参考文献第二链接,我想检查它是否期望文本/图像。

参考文献:

  • http://itextpdf.com/themes/keyword.php?id=226
  • http://www.java-connect.com/itext/add-watermark-in-PDF-document-using-java-iText-library.html
EN

回答 1

Stack Overflow用户

发布于 2014-02-06 22:34:45

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

提取水印内容?

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

  • 在内容流中出现得非常早,在流的后面出现其他内容,因此,在流的上方绘制;或者
  • 在内容流中出现得很晚,但是应用了某种透明度。

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

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

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

  • MovieCountries2只是使用一个角度的基线绘制一些灰色的大文本。
  • StampStationery将一个完整的页面从某个PDF (它本身可能具有前景和背景材料)复制到目标PDF中的一个单独的对象中,并在目标的每个页面的开头添加对该对象的引用。
  • InsertPages类似地在每个新生成的目标文档页上引用来自某个PDF的页面。

因此,盲水印提取几乎是不可能的。

验证水印内容!

不过,如果你知道你在寻找什么,你可能会尝试一些验证。您不仅仅是搜索一些固定的水印流(在PDF中不存在),而是搜索整个页面的内容。

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21610545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档