前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >R如何提取,合并pdf文件

R如何提取,合并pdf文件

作者头像
生信交流平台
发布2022-09-21 11:35:44
发布2022-09-21 11:35:44
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

多年以前,小编还在读博士的时候,实验室评选重点实验室。为了迎接教育部的检查,需要把实验室近10年发表的文章的首页都打印出来,因为首页上有作者和单位。你要知道小编的实验室是做生物信息学的,加上实验室人丁兴旺,因此相当的高产。我被分到了其中一年发表的文章,有三四十篇。

其实老老实实一篇一篇打开,打印第一页,估计十几二十分钟也能搞定。但是小编是一个“很懒”的人,这种简单的重复劳动,不应该让机器来做吗?于是吭哧吭哧在那里写perl代码来实现。花了估计一两个小时,总算是做出来了。其他的同学们早就已经干完了。不过还是挺开心的,虽然这次花的时间比较久,后面就可以一劳永逸,事半功倍了。

当时的perl代码已经找不到了,但是思路还在。就是先提取每个pdf文件的首页,然后合并成一个pdf文件,送到打印机里面单页打印就可以了。今天就用R来实现一下

代码语言:javascript
代码运行次数:0
运行
复制
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")

合并以前

提取到的所有首页

合并以后

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信交流平台 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档