繁体   English   中英

使用 XFINIUM.PDF 确定视觉对象在 PDF 中是否可见

[英]Determine whether visual object is visible in a PDF using XFINIUM.PDF

在使用 XFINIUM.PDF 提取 pdf 中可视对象的边界时,我注意到一些可视对象实际上并不可见。
但是,我找不到任何可以用来确定它是否实际可见的属性。
相反,我不关心不可见的文本,因为它位于图像后面。

这是我的意思的一个例子。 出于某种原因,此 pdf 包含许多在页面上实际上不可见的文本。 其中一部分是实际可见文本的副本,另一部分可能来自下一页。 pdf 上的黑色矩形是右上角所选文本的边界框。

从 XFINIUM.PDF Inspector 获取的示例图像

所有不可见文本都是 Form XObject 的子元素,但我不能忽略 XObject,因为顶部的图形也是 XObject 的子元素,包括轴描述,我不想排除这些。

我注意到可见文本在 PdfGrayColorSpace(包括轴描述)中,而不可见文本在 PdfIccColorSpace 中,但我认为仅忽略所有 IccColorSpace 内容会在其他一些 pdf 中失败。 我试过将它转换为 RGB,但它转换为 (0, 0, 0) 这显然没有帮助。
知道如何确定视觉对象是否可见吗?

pdf 可在此处获得,示例在第 9 页。

您已经确定不可见文本位于 Form XObject 中。 它不可见的原因是它在该 XObject 的边界之外:

339 0 obj
<<
  /Type /XObject
  /Subtype /Form
  /BBox [ 253.4743 617.9332 447.7891 726.5818 ]
  ...

如果将边界框增加到整页的尺寸

  ...
  /BBox [ 0 0 612 792 ]
  ...

第 9 页看起来像这样:

第 9 页,带有放大形式的 XObject 边界

(显然 XObject 包含页面的旧版本。可能是图形的原始文件丢失了,因此使用了早期版本的该页面的副本。)


因此:

知道如何确定视觉对象是否可见吗?

测试 Form XObject 内容是否在其BBox 内

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM