Prawn PDF压缩,压缩内容流,它做什么

时间:2016-09-15 21:13:54

标签: ruby-on-rails ruby pdf prawn

prawn gem有一个初始化选项:compress,描述为here

显然是"Compresses content streams before rendering them"

有和没有compress: true我生成相同的14页pdf两次。每页有2张照片和各种文字。生成的文件大小完全相同。

所以我的问题是:在大量照片的制作中,我会看到文件大小的差异吗?或者compress: true在处理过程中可能会占用更多或更少的RAM?它的目的是什么?

2 个答案:

答案 0 :(得分:2)

压缩PDF的一种更有效的方法是使用Ghostscript进行后处理,使用如下命令:

ghostscript -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dUseCIEColor -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=<output.pdf> <input.pdf>

这通常会将我的Prawn生成的PDF的大小减少50%或更多。可以将dPDFSETTINGS选项设置为不同的值以更改压缩量 - 请参阅Ghostscript文档。

答案 1 :(得分:0)

我终于找到了三个问题的完整答案

<强> 1。在大量照片的制作中,我会看到文件大小的差异吗?

<强> 2。或者compress: true在处理过程中可能会占用更多或更少的RAM?

  • 有趣的是,对于小型(<10MB)文件大小,与compress: true相关的额外RAM消耗可忽略不计或不存在。对于较大的文件大小,您的结果可能会有所不同。

第3。它的目的是什么(:compress

相关问题