2013-05-27 70 views
3

我正在用Rnw文件将我knit转换为pdf报告。如何减少knitr生成的pdf文件的大小?

目前为止所有工作都很顺利,但我的报告是由相当数量的数字和地图组成的。

所以现在出现的问题是报告的最终版本超过了200MB,这让分享变得非常痛苦。我相信这主要是由矢量(pdf)图形引起的。

是否有任何解决方案/策略来减小这种大型报告的大小?

+2

如果矢量图形得到这么大的(找出确切的图表)最好将它们转换成具有良好分辨率的PNG。 – Roland

+0

@罗兰感谢您的提示。有没有办法从'knitr'内做到这一点? – radek

回答

4

您可以使用设备功能来设置使用哪个图形设备来记录图。乳胶是PDF在默认情况下,将其更改为PNG(由@Roland提到的)例如,您可以这样做:

<<my-label, eval=TRUE, dev='png'>>= 
set.seed(1213) # for reproducibility 
x = cumsum(rnorm(100)) 
mean(x) # mean of x 
plot(x, type = 'l') # Brownian motion 
@ 
+2

谢谢你 - 解决了这个问题。我改变了'opts_chunk $ set'中的全局块选项,并且pdf已经减少到8MB。主要罪魁祸首似乎是大地图。当然,图像质量显着降低,但作为“工作副本”,它完美地工作。 – radek