将pdf转换为R中的png

aym*_*er 6 pdf r

我正在尝试将pdf图转换为png或jpeg文件.原因是我想使用图像进行演示,我需要两种格式,具有完全相同的尺寸/缩放.

我在动画包中尝试了函数im.convert(),但输出看起来非常糟糕,包括png和jpeg.

为了能够运行以下代码,您需要"动画"包和ImageMagick软件(http://www.imagemagick.org/script/convert.php)

library("animation")
ani.options(outdir = getwd())

pdf("bm.pdf")
plot(1:10)
dev.off()

im.convert("bm.pdf", output = "bm.jpeg")
im.convert("bm.pdf", output = "bm.png")
Run Code Online (Sandbox Code Playgroud)

f3l*_*lix 12

结果im.convert可能不太令人满意,因为它使用默认分辨率,即74 dpi.您可以通过传递额外参数来提高分辨率:

im.convert("bm.pdf", output = "bm.png", extra.opts="-density 150")
Run Code Online (Sandbox Code Playgroud)

-density 150 将分辨率加倍,你的PNG和JPEG看起来会更好.

但总的来说,最好使用png()jpeg()生成图并使用适当的参数来获得与之相同的结果pdf().例如:

pdf(width=5, height=5)
plot(1:10)
dev.off() 

png(width=5, height=5, units="in", res=150) 
plot(1:10)
dev.off()
Run Code Online (Sandbox Code Playgroud)