在linux中使用命令行展平透明pdf图像

在linux中使用命令行展平透明pdf图像,linux,r,graphics,vector-graphics,Linux,R,Graphics,Vector Graphics,我使用R生成具有许多透明层的图形。我希望输出为pdf格式,但当有这么多透明层时,文件大小会爆炸。我可以在GIMP中手动打开每一个,并在那里将其展平,但我希望通过调用R中的system()来实现这一点,这样过程就可以自动化。有人知道这样做的方法吗 下面是一个愚蠢的重复性示例: set.seed(2) x = sort(runif(100))*10 y = rgamma(100,shape = x*rexp(100),scale=1/exp(rnorm(100))) plot(x,y) for (i

我使用R生成具有许多透明层的图形。我希望输出为pdf格式,但当有这么多透明层时,文件大小会爆炸。我可以在GIMP中手动打开每一个,并在那里将其展平,但我希望通过调用R中的
system()
来实现这一点,这样过程就可以自动化。有人知道这样做的方法吗

下面是一个愚蠢的重复性示例:

set.seed(2)
x = sort(runif(100))*10
y = rgamma(100,shape = x*rexp(100),scale=1/exp(rnorm(100)))
plot(x,y)
for (i in 1:200){
y = rgamma(100,shape = x*rexp(100),scale=1/exp(rnorm(100)))
fit = loess(y~x)
points(x,y,col=rgb(0,1,0,.3))
lines(x,predict(fit),col=rgb(1,0,0,.3))
}
现在,我希望能够执行
dev.copy2pdf(file=“dumb\u graph.pdf”)
,然后执行
system(something)
以展平图像。或者,很可能是一系列不同的系统调用。有人知道有什么实用程序可以做到这一点吗

编辑:我正在寻找特定于linux的解决方案,但我想其他平台上的解决方案对于将来可能搜索此内容的其他人来说会很有用


Edit2:输出应该是矢量。

考虑使用
imageMagick
,在命令行上,它可以通过
convert…
用于操作各种图形文件…这类工作<代码>转换哑图.pdf-展平平面图.pdf。唯一的问题是分辨率变得很差…编辑:它不再是矢量图像。所以你有一个新问题:)我想展平图像,但保持它的矢量!:)就像GIMP一样。