2011-06-09 77 views
0

我現在使用回形針將PDF文件轉換爲圖像。使用Imagemagick + RMagic將pdf轉換成圖像

我的代碼看起來是這樣的

def convert_keynote_to_slides 
    system('convert -size 640x300 ' + keynote.queued_for_write[:original].path + ' ' + KEYNOTE_PATH + '/' + File.basename(self.keynote_file_name)+"%02d.png") 

    slide_basename = File.basename(self.keynote_file_name) 

    files = Dir.entries(KEYNOTE_PATH).sort 
    for file in files 
     #puts file if file.include?(slide_basename +'-') 
     self.slides.build("slide" => "#{file}") if file.include?(slide_basename) 
    end 

    end 

我敢肯定,這可以被重新分解,以更好地工作。

我的問題是:

有沒有辦法如果不是怎麼會弄清楚的ImageMagick的進步,我把投入延遲作業本作爲即時通訊擔心這不會很好地進行縮放。

任何人都可以指出我如何讓​​這段代碼更好/更高效。 KEYNOTE_PATH指向公共目錄,所有圖像都保存在一個文件夾中,不知道我是否喜歡這個目錄。最好的辦法是爲每個文件分配一個隨機名稱。

回答

0

我希望你對keynote.queued_for_write[:original].pathFile.basename(self.keynote_file_name)輸入變量進行了廣泛的過濾,所以你不容易受到shell meta-character injection attacks的影響。

+0

我很確定它做了我的Paperclip,但我可能是錯的。我驗證以確保該文件僅爲PDF。文件的路徑在其上傳後。 – 2011-06-09 11:37:44

相關問題