[英]Determine whether visual object is visible in a PDF using XFINIUM.PDF
在使用 XFINIUM.PDF 提取 pdf 中可視對象的邊界時,我注意到一些可視對象實際上並不可見。
但是,我找不到任何可以用來確定它是否實際可見的屬性。
與此相反,我不關心不可見的文本,因為它位於圖像后面。
這是我的意思的一個例子。 出於某種原因,此 pdf 包含許多在頁面上實際上不可見的文本。 其中一部分是實際可見文本的副本,另一部分可能來自下一頁。 pdf 上的黑色矩形是右上角所選文本的邊界框。
所有不可見文本都是 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 頁看起來像這樣:
(顯然 XObject 包含頁面的舊版本。可能是圖形的原始文件丟失了,因此使用了早期版本的該頁面的副本。)
因此:
知道如何確定視覺對象是否可見嗎?
測試 Form XObject 內容是否在其BBox 內。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.