prawn gem有一个初始化选项:compress
,描述为here。
显然是"Compresses content streams before rendering them"
。
有和没有compress: true
我生成相同的14页pdf两次。每页有2张照片和各种文字。生成的文件大小完全相同。
所以我的问题是:在大量照片的制作中,我会看到文件大小的差异吗?或者compress: true
在处理过程中可能会占用更多或更少的RAM?它的目的是什么?
答案 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?
compress: true
相关的额外RAM消耗可忽略不计或不存在。对于较大的文件大小,您的结果可能会有所不同。 第3。它的目的是什么(:compress
?
:compress
按照prawn docs