2011-07-20 40 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