2013-10-06 70 views
0

我有一個pdf,我想用它作爲模板來創建一個新的pdf。目標是將圖像放置在原始PDF中的特定佔位符矩形內。原始pdf的創建由我控制,但佔位符矩形/邊界可能在pdf中的任何位置。我正在考慮在原始PDF中使用一個虛擬圖像(具有相同的尺寸)作爲佔位符矩形。查找PDF中圖像的座標以替換爲另一個圖像

Prawn gem支持將圖像放置在頁面內給定的絕對/相對位置。

麻煩的是,因爲矩形或虛擬圖像可以在原始PDF在任何地方,我不知道是什麼值以用於以下

pdf.image "/path/to/image", :at => [x,y]蝦呼叫

是否有辦法以原始PDF格式獲取圖像的座標。我的原始理解告訴我必須渲染整個pdf才能知道這一點。是對的嗎 ?如果是的話,什麼是在內存中渲染pdf的好方法(無頭),並獲得各種pdf對象的座標(如邊界矩形,圖像等)。

只要我能以編程方式觸發它,我不受語言/運行時限制。

對這個問題有什麼其他的解決方法?

回答

1

沒有答案(例如我不知道Ruby語言),而是代替其他任何人,並且因爲我目前還不能發表評論,所以這是我的想法。

如果上述條件爲真(佔位符和替換圖像尺寸完全相同,並且顏色模型相同,例如RGB 24 bps),並且您控制模板創建(因此您可以將佔位符存儲在未壓縮的PDF內),它可以快速作爲字節串處理的文件中的原始替換髒。例如。佔位符用紅色填充,然後搜索模式(0xFF0000)x W * H並將其替換爲原始圖像數據。當然,你可以通過任何你喜歡的方式,例如:

convert my_image.jpg RGB: - | ...

如果此解決方案是否過髒或情況不完全一樣,然後解析頁面內容流的結構像

寬度0 0高度XY釐米
/名稱做

這也不是最乾淨的,但對於大量的簡單頁面描述xy是您正在尋找的座標。此外,如果您控制模板創建,爲什麼不在pdf中存儲其他信息,例如, Info字典中的自定義鍵,然後在使用模板時將其讀回。

相關問題