虾 gem 有一个初始化选项:compress
,描述的是here http://www.rubydoc.info/github/sandal/prawn/Prawn%2FDocument%3Ainitialize.
显然它"Compresses content streams before rendering them"
.
有和没有compress: true
我两次生成了相同的 14 页 pdf。每页有两张照片和各种文字。生成的文件大小完全相同。
所以我的问题是:在制作大量照片时,我会看到文件大小的差异吗?或者可能compress: true
在处理过程中消耗更多还是更少的RAM?它的目的是什么?
我终于找到了这三个问题的完整答案
1. 在制作大量照片时,我会发现文件大小有差异吗?
- 并不真地。Prawn 不会缩减采样或缩放
提供的任何图像;我们按原样嵌入图像数据 https://groups.google.com/forum/#!searchin/prawn-ruby/compression%7Csort:relevance/prawn-ruby/RoEHWLgQNtI/IZLnm4Cfh_sJ
2.或者也许compress: true
在处理过程中消耗更多还是更少的RAM?
- 有趣的是,对于小文件(compress: true可以忽略不计或不存在。对于较大的文件大小,您的结果可能会有所不同。
3.它是什么(:compress
) 目的?
-
:compress
压缩 pdf 内容流大虾文档 http://www.rubydoc.info/github/sandal/prawn/Prawn%2FDocument%3Ainitialize
- pdf 内容流是 pdf 对象的二进制数据。多个 pdf 对象可以组合成一个内容流。每个内容流都有一个未压缩的文本标头,它告诉PDF解析器如何查找并提取PDF对象,但所有PDF对象本身都可以被压缩。这使得 PDF 更小、更安全并且加载速度可能更快。 https://blog.idrsolutions.com/2010/09/understanding-the-pdf-file-format-pdf-object-streams/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)