我们前面讲解过了使用R语言做爬虫,处理图片,写网页应用等等,都在生信基石之R语言,B站的10个小时教学视频!
最近逛r-bloggers这个论坛发现pdftools包这个神器,原文链接是:https://www.r-bloggers.com/2019/04/join-split-and-compress-pdf-files-with-pdftools/ 也是值得推荐一下。
首先是拆分PDF文件
比如我们想打印文献,十几个PDF文件,但是每个PDF文件末尾都是参考文献等等并不是很想浪费金钱去打印它,就可以删除指定的页面在每个pdf文件里面。
就可以使用pdftools包的pdf_subset()函数,示例代码如下:
代码语言:javascript复制# Load pdftools
library(pdftools)
# extract some pages
pdf_subset('https://cran.r-project.org/doc/manuals/r-release/R-intro.pdf',
pages = 1:3, output = "subset.pdf")
# Should say 3
pdf_length("subset.pdf")
当然了,如果你有客户端的PDF编辑器就是可视化很方便,不过它不能批量化。代码的魅力就在于批量和自动化,嘻嘻
合并PDF文件
而我们想把十几个PDF文件的文献发给商家,就可以先合并成为一个pdf文件,发送起来也是方便你我他。
就可以使用pdftools包的pdf_combine()函数,示例代码如下:
代码语言:javascript复制# Generate another pdf
pdf("test.pdf")
plot(mtcars)
dev.off()
# Combine them with the other one
pdf_combine(c("test.pdf", "subset.pdf"), output = "joined.pdf")
# Should say 4
pdf_length("joined.pdf")
同样的道理,代码的魅力就在于批量和自动化,嘻嘻。
如果你要把多个图片写入到同一个pdf里面,每个图片是一个页面
参考:https://stackoverflow.com/questions/1395410/how-to-print-r-graphics-to-multiple-pages-of-a-pdf-and-multiple-pdfs 示例代码如下:
代码语言:javascript复制pdf("myOut.pdf")
for (i in 1:10){
plot(rnorm(10))
}
dev.off()