在rails app中优化pdf文件大小

时间:2011-07-20 08:37:15

标签: ruby-on-rails

对于一个与上传图片重量级pdf文件有很多作用的rails应用程序,我正在寻找一种优化上传pdf文件大小的方法。

Adob​​e Acrobat有一个“保存为缩小文件大小的pdf”选项,当包含图像时,它通常会将文件大小减半。

我想在我的rails应用程序中上传文件后执行类似的操作。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

虽然@ lzap的评论可能属实,但如果你仍然想试一试,你可以看看pdftk(PDF工具包)。它是一个用于操作和创建PDF文件的库,看起来它提供了compress a given pdf file的能力。

该库可以安装在大多数主要操作系统上,因此如果您能够在主机上安装它,那么只需调用:

system("pdftk uncompressed-input.pdf output compressed-outpu.pdf compress")
只要您想压缩特定的PDF文件,就可以在rails app中使用

。我不知道这需要多长时间,如果你同时压缩许多PDF,你可能要考虑转交给后台工作(如果没有这个,Rails会等到压缩完成后再将任何内容返回到浏览器,可能会导致长时间运行的压缩调用组出现超时错误。)

此外,如果您的文件名来自用户输入,请务必小心谨慎以避免injection attacks