2011-02-09 74 views
5

我想提取存儲在PDF中的圖像作爲流。雖然我可以輕鬆做到這一點,但我無法獲得準確的圖像旋轉信息。我在尋找特定的信息,如MediaBox,旋轉和風景/肖像模式。PDF圖像旋轉信息存儲在哪裏?

當我提取圖像時,其對齊方式與最終用戶看到的pdf閱讀器工具不匹配。

我比較了兩個PDF(前者旋轉了90度的圖像,後者旋轉了270度的圖像),並且發現了特定流對象的差異。但是,我無法確定這些信息流是什麼。

這裏有兩個文件我講的:

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

回答

1

要存儲幾乎每一個圖像是所謂的CTM(當前變換矩陣)。它向讀者提供關於圖像的位置,旋轉和傾斜的信息。

4

圖像在頁面上顯示時的位置,大小和方向由當前轉換矩陣(CTM)確定。您必須執行整個頁面內容流才能確定顯示圖像時所在的CTM。這就像PDF頁面的虛擬渲染。

+0

每個頁面也可以在頁面對象上有一個頁面旋轉值,您可能需要考慮因素 – 2013-06-25 08:07:35

+0

頁面座標中的圖像位置不會隨着頁面旋轉而改變,但是如果您希望屏幕中的圖像位置座標(您顯示頁面,並且想要知道圖像在屏幕上顯示的位置),則還需要考慮頁面旋轉。 – iPDFdev 2013-06-25 12:08:57

0

它也可以有一個剪輯,所以你只能看到圖像的一部分。 MediaBox和旋轉涉及整個頁面。

1

檢查釐米運算符,它以pdf參考描述爲「通過連接指定矩陣修改當前變換矩陣(CTM)(參見第4.2.1節‘座標空間’)。雖然操作數指定的矩陣,他們被寫成六個不同的數字,而不是數組。「在您的PDF文檔:

  1. rotated1.pdf含有 「0 550.08 -743.04 0 743.04 0 CM」
  2. rotated2.pdf含有 「0 -​​550.08 743.04 0 0550.08釐米」

所以我們可以說您的圖像順時針旋轉90度或逆向旋轉90度。