PDF图像旋转信息存储在哪里?

时间:2011-02-09 04:10:40

标签: pdf

我正在尝试将存储在PDF中的图像作为流提取。虽然我可以轻松地做到这一点,但我无法获得准确的图像旋转信息。我正在寻找特定的信息,如MediaBox,旋转和横向/纵向模式。

当我提取图像时,它的对齐方式与最终用户使用pdf阅读器工具看到的不一致。

我二进制比较了两个PDF(其中一个图像在前者中旋转了90,同一个图像在后者中旋转了270)并且我发现了特定流对象的差异。但是,我无法弄清楚该流信息是什么。

以下是我正在讨论的两个文件:

http://bit.ly/eQZGKJ http://bit.ly/g43Whb

4 个答案:

答案 0 :(得分:4)

页面上显示的图像的位置,大小和方向由当前变换矩阵(CTM)确定。您必须执行整个页面内容流,以确定显示图像时的CTM。这就像是PDF页面的虚拟渲染。

答案 1 :(得分:1)

几乎每个图像都被称为CTM(当前变换矩阵)存储。它为读者提供有关图像位置,旋转和偏斜的信息。

答案 2 :(得分:1)

检查 cm 运算符,它在pdf参考中描述为“通过连接指定的矩阵修改当前变换矩阵(CTM)”(参见第4.2.1节“坐标空间”)。尽管操作数指定一个矩阵,它们被写成六个单独的数字,而不是数组。“在您的PDF文档中:

  1. rotating1.pdf包含“0 550.08 -743.04 0 743.04 0 cm”
  2. rotating2.pdf包含“0 -550.08 743.04 0 0 550.08 cm”
  3. 所以我们可以说你的图像顺时针旋转90度或反方向旋转90度。 (和翻译)

答案 3 :(得分:0)

它也可以有一个剪辑,因此您只能看到部分图像。 MediaBox和旋转与整个页面相关。