2011-11-28 106 views
0

我正在用PHP直接从PDF文件中提取低级图像,因为GhostScript太慢了,而且我做得很好。但问题是,我无法弄清楚它说图像属于哪个页面的地方。我从PDF中获取图像没有问题,但我无法弄清楚它们的顺序。如何知道PDF规范中图像属于哪个页面?

在PDF数据中的哪个位置表示图像应显示在哪个页面上?

+0

如果你可以分享你在做的细节,我们可以帮助 – aWebDeveloper

+0

我从PDF中提取图像...用记事本+ +打开PDF,你会看到它的样子。 – Alasdair

+0

搜索分页符,但你做什么可能是不对的 – aWebDeveloper

回答

2

图像作为独立对象存储在PDF中。它们通过页面的资源字典XObject子字典从页面引用。关系是页面 - >资源 - >图像,所以为了知道图像属于哪个页面,您必须扫描所有页面的所有资源字典,并查看您的图像出现在哪些资源字典中。图像可以从多个资源字典中引用。这是非常低级别的PDF操作,我不知道你的代码工作水平有多低。

+0

明白了。因此,页面对象引用资源对象,该对象引用引用图像的xobjects对象。你能否现在回答我这个问题:它在哪里说图像放置在页面上的什么位置? – Alasdair

+1

为了了解图像在页面上的位置,您必须解析并执行页面内容流。该图像使用Do操作符绘制在页面上,其操作数是资源字典中的图像标识。页面上图像的位置和大小取决于执行Do操作符时的当前转换矩阵。 – iPDFdev

+1

还有'内联'图像,其中图像数据直接存储在页面内容流中而不是XObject。只是让你意识到并非所有的图像都是XObject! – KenS

相关问题