iText能识别PDF中的隐形文字吗?

时间:2014-10-30 18:40:56

标签: pdf itextsharp itext pdfbox acrobat

我正在使用iText来解析PDF文件中的文本。我发现有些文字被退回但不可见。 例如,我得到了

  • 金融衍生产品”,页面上确实存在
  • 财务衍生”这是可见的,但仍然由iText返回。此外,它们不能由Adobe acrobat或Foxit选择。

iText是否有办法区分可见/不可见的文字?或者PDF格式是否有与此相关的任何规范?

1 个答案:

答案 0 :(得分:2)

由于您没有提供任何代码,因此很难建议实际代码......但是,使文本不可见的习惯方法是使用文本呈现模式。 PDF中的所有文本都具有这样的文本呈现模式,它确定文本是呈现为填充文本(正常),描边文本,填充和描边......其中一种可能性是"不可见"这样可以确保文字没有显示出来。

在解析页面上的文本时,iText和其他内容允许您过滤返回的文本 - 例如,请参阅FilteredRenderListener。在过滤过程中,您可以确定您是否对文本感兴趣。有很多关于可以使用TextRenderInfo对象检查的文本的信息。这个对象有一个名为" getTextRenderMode"这将返回上面的文本渲染模式。如果该调用返回" 3",您知道文本是无形的。

现在,如果你想确定这个文本是否确实是无形的(并且没有使用@jongware在他的评论中提出的其他讨厌的技巧之一,你必须检查PDF或分享一个例子)和我们一起看看。​​