前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言奇淫巧技之pdftools包

R语言奇淫巧技之pdftools包

作者头像
生信技能树
发布2020-09-30 10:26:51
2.7K0
发布2020-09-30 10:26:51
举报
文章被收录于专栏:生信技能树

我们前面讲解过了使用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()

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

本文分享自 生信技能树 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 首先是拆分PDF文件
  • 合并PDF文件
  • 如果你要把多个图片写入到同一个pdf里面,每个图片是一个页面
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档