2013-03-26 102 views
1

我有一個將Word文檔轉換爲PDF的程序。轉換後,我想在新PDF中查找所有圖像。如果圖像是特定尺寸(200x100),那麼我想在其上繪製另一個圖像。更好的是,如果我可以創建一個簽名字段並在其上繪製。如何在PDF中查找圖像並在其上繪製另一個圖像

請幫忙嗎?

回答

2

首先嚐試這個例子:ExtractImages

我知道這個例子沒有你所需要的,但看看所使用的MyImageRenderListener類。這是RenderListener接口的實現。

滿足您的要求,你應該寫自己RenderListener實現,更具體一個,讓你的圖像的座標。 iText會通過ImageRenderInfo對象爲您提供這些座標,更具體地說是getCTM()方法返回的Matrix對象。這個矩陣可以用普通的高中代數來解釋。 I31和I32給你X和Y的位置。在大多數情況下,I11和I22會爲您提供寬度和高度(除非圖像旋轉)。

一旦你有X,Y,寬度和高度,繪製任何你想要的東西很容易。如果您想添加簽名字段,請閱讀我寫的digital signatures manual

+0

謝謝。這是一個很好的起點。 – Haoest 2013-03-26 15:59:59

+0

嗨布魯諾。我能夠與XYHW非常接近。實際上,我可以通過獲取索引6,7,0和4從getImageCTM獲取這些值。但是,獲得的寬度和高度值比實際圖像小。兩者都縮小了〜= 1.367的比例。如果我將圖像作爲單個文件寫入磁盤,則尺寸是正確的;另外如果我使用調試器來觀看圖像信息,其專用字段也會顯示正確的尺寸。 你是否推薦我使用反射來從私人領域讀取,或者是否有某處我可以得到比率來乘以縮小值? – Haoest 2013-03-26 16:56:37

+0

我對這個問題感到困惑。我們必須通過一個例子來測試這個並找出哪裏出了問題。請注意,提取圖像的尺寸可能與頁面上圖像的尺寸不同。例如:尺寸爲300 x 300像素的圖像可以呈現爲72 x 72點(分辨率300 dpi)的圖像,而不管圖像中存儲的分辨率如何。 – 2013-03-27 07:32:47

相關問題