2011-07-20 78 views
0

對於與上傳的圖像很重要的pdf文件工作很多的rails應用程序,我正在尋找一種方法來優化上傳的pdf文件的大小。在rails應用程序中優化pdf文件大小

Adob​​e Acrobat具有「另存爲縮小文件大小pdf」選項,其中包含圖像時通常會將文件大小減半。

我想做一個類似的動作,在我的rails應用程序中上傳文件後觸發。

任何想法?

+0

你無法解決這個問題 - PDF文件可以被「鎖定」。沒有辦法修改它們。這不適用於所有情況。 – lzap

回答

0

雖然@ lzap的評論可能是真實的,但如果您仍然想要嘗試一下,您可以查看pdftk(PDF工具包)。它是一個用於處理和創建PDF文件的庫,看上去它可以提供compress a given pdf file的能力。

庫可以安裝在大多數主流操作系統,所以如果你有你的主機上安裝它的能力,那麼只需撥打:

system("pdftk uncompressed-input.pdf output compressed-outpu.pdf compress") 

您的Rails應用程序裏面,每當你想壓縮某個特定PDF文件。我不知道這需要多長時間,如果你同時壓縮很多PDF,你可能要考慮移交到後臺作業(沒有這個,Rails會等到壓縮完成後再返回任何東西瀏覽器,可能會導致長時間運行的壓縮調用組發生超時錯誤)。

此外,如果您的文件名來自用戶輸入,請特別小心以避免injection attacks