我有一个有多个JPEG文件的文件夹。 我如何在R中从这些JPEG生成PDF文件?
每个JPEG文件对应于PDF文件中的一页。 所有图像大小相同。
非常感谢您的帮助。
% This is some Sweave file
\documentclass{article}
\usepackage{graphicx}
\begin{document}
<<results=tex,echo=FALSE>>=
mypics <- dir('mypics')
for(i in mypics){
cat("\\includegraphics{", i, "}\n\n", sep = "")
}
@
\end{document}
好的,你需要设置Sweave管道,但稍加调整即可轻松自动化整个过程。
lf = list.files(pattern = "jpeg") # image filenames
library(jpeg)
jpegs = lapply(lf, readJPG)
library(grid)
pdf("output.pdf", width=8, height=4)
grid.raster(jpegs[[1]])
lapply(jpegs[-1], function(x) {grid.newpage() ; grid.raster(x)} ) -> bquiet
dev.off()
pdf
绘图设备,使用par
设置边距(默认可能太大且不居中),然后在循环中使用plot.new
开始新页面和plot.window
设置坐标等等,而不绘制轴等,使用ReadImages包中的read.jpeg
函数(或其他读取工具/包,EBImage是另一种可能性),然后使用rasterImage
将jpeg绘制到pdf设备上(或用其他图像绘制函数替换其中的某些步骤,例如ReadImages中的plot方法)。
system
调用像 Ghostscript 这样的工具算不算使用“一个工具”? ;) - A5C1D2H2I1M1N2O1R2T1