多年以前,小编还在读博士的时候,实验室评选重点实验室。为了迎接教育部的检查,需要把实验室近10年发表的文章的首页都打印出来,因为首页上有作者和单位。你要知道小编的实验室是做生物信息学的,加上实验室人丁兴旺,因此相当的高产。我被分到了其中一年发表的文章,有三四十篇。
其实老老实实一篇一篇打开,打印第一页,估计十几二十分钟也能搞定。但是小编是一个“很懒”的人,这种简单的重复劳动,不应该让机器来做吗?于是吭哧吭哧在那里写perl代码来实现。花了估计一两个小时,总算是做出来了。其他的同学们早就已经干完了。不过还是挺开心的,虽然这次花的时间比较久,后面就可以一劳永逸,事半功倍了。
当时的perl代码已经找不到了,但是思路还在。就是先提取每个pdf文件的首页,然后合并成一个pdf文件,送到打印机里面单页打印就可以了。今天就用R来实现一下
代码语言:javascript复制install.packages("pdftools")
library(pdftools)
#创建一个文件夹来存放每篇文章的首页
dir.create("cover")
#假设所有的文章都存在ATAC这个文件夹中
#获取ATAC文件夹中的所有pdf文件
pdfs<-list.files("ATAC",full.names = T)
for(i in seq_along(pdfs)){
#pages控制提取的页面,2:5就是从第二页到第五页
pdf_subset(pdfs[i], pages = 1:1, output = paste0("cover/",i,".pdf"))
}
#获取cover文件夹中所有的pdf文件
covers<-list.files("cover",full.names = T)
#合并成一个pdf文件
pdf_combine(covers, output = "joined_covers.pdf")
合并以前
提取到的所有首页
合并以后