大虾PDF Compression,压缩内容流,有什么作用
Prawn PDF Compression, compress content streams, what does it do
大虾gem有一个初始化选项:compress
,描述为here。
显然是 "Compresses content streams before rendering them"
。
使用和不使用 compress: true
我生成了相同的 14 页 pdf 两次。每页有 2 张照片和各种文字。生成的文件大小完全相同。
所以我的问题是:在制作大量照片时,文件大小会有所不同吗?或者 compress: true
在处理过程中消耗了更多或更少的 RAM?它的目的是什么?
我终于找到了三个问题的完整答案
1.在制作大量照片时,文件大小会有所不同吗?
2。或者 compress: true
在处理过程中消耗或多或少的 RAM?
- 有趣的是,对于 small-ish (<10MB) 的文件大小,与
compress: true
或 non-existent 相关的额外 RAM 消耗可以忽略不计。对于更大的文件大小,您的结果可能会有所不同。
3。它的(:compress
)目的是什么?
:compress
根据 prawn docs 压缩 pdf 内容流
- pdf 内容流是 pdf objects 的二进制数据。多个 pdf objects 可以合并为一个内容流。每个内容流都有一个未压缩的文本 header 告诉 the PDF parser how to find and extract the PDF objects, but all the PDF objects themselves can be compressed. This makes the PDF smaller, potentially more secure and possibly faster to load.
一种更有效的压缩 PDF 的方法是使用 Ghostscript 进行后处理,使用如下命令:
ghostscript -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dUseCIEColor -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=<output.pdf> <input.pdf>
这通常会将我的 Prawn 生成的 PDF 的大小减少 50% 或更多。 dPDFSETTINGS
选项可以设置为不同的值以更改压缩量 - 请参阅 Ghostscript 文档。
大虾gem有一个初始化选项:compress
,描述为here。
显然是 "Compresses content streams before rendering them"
。
使用和不使用 compress: true
我生成了相同的 14 页 pdf 两次。每页有 2 张照片和各种文字。生成的文件大小完全相同。
所以我的问题是:在制作大量照片时,文件大小会有所不同吗?或者 compress: true
在处理过程中消耗了更多或更少的 RAM?它的目的是什么?
我终于找到了三个问题的完整答案
1.在制作大量照片时,文件大小会有所不同吗?
2。或者 compress: true
在处理过程中消耗或多或少的 RAM?
- 有趣的是,对于 small-ish (<10MB) 的文件大小,与
compress: true
或 non-existent 相关的额外 RAM 消耗可以忽略不计。对于更大的文件大小,您的结果可能会有所不同。
3。它的(:compress
)目的是什么?
:compress
根据 prawn docs 压缩 pdf 内容流
- pdf 内容流是 pdf objects 的二进制数据。多个 pdf objects 可以合并为一个内容流。每个内容流都有一个未压缩的文本 header 告诉 the PDF parser how to find and extract the PDF objects, but all the PDF objects themselves can be compressed. This makes the PDF smaller, potentially more secure and possibly faster to load.
一种更有效的压缩 PDF 的方法是使用 Ghostscript 进行后处理,使用如下命令:
ghostscript -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dUseCIEColor -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=<output.pdf> <input.pdf>
这通常会将我的 Prawn 生成的 PDF 的大小减少 50% 或更多。 dPDFSETTINGS
选项可以设置为不同的值以更改压缩量 - 请参阅 Ghostscript 文档。