R语言奇淫巧技之pdftools包
时间:2022-07-26
本文章向大家介绍R语言奇淫巧技之pdftools包,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
我们前面讲解过了使用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()函数,示例代码如下:
# 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()函数,示例代码如下:
# 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 示例代码如下:
pdf("myOut.pdf")
for (i in 1:10){
plot(rnorm(10))
}
dev.off()
- Go语言读写数据库
- 一个小实验,验证一个大受欢迎数据库的容器化
- 【选择题】Java基础测试四(15道)
- GO语言并发编程之互斥锁、读写锁详解
- GO语言标准错误处理机制error用法实例
- spring框架复习大纲【面试+提高】
- Go语言中的Array、Slice、Map和Set使用详解
- go的websocket实现原理与用法详解
- go语言base64加密解密的方法
- Go语言轻量级线程Goroutine用法实例
- Go语言的队列和堆栈实现方法
- Go语言使用sort包对任意类型元素的集合进行排序的方法
- TiDB 源码阅读系列文章(五)TiDB SQL Parser 的实现
- [go语言]吐槽:怎么样实现支持并发访问的数据集合更好?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- git 常用命令介绍
- PAT (Basic Level) Practice (中文)1043 输出PATest (20 分)
- PAT (Basic Level) Practice (中文)1047 编程团体赛 (20 分)
- Vue中computed分析
- 半小时搞懂 HTTP、HTTPS和HTTP2
- RestPack Java实现Html转PDF文件
- 六、垃圾回收_判断对象是否存活算法_引用计数法详解
- webpack + express 实现文件精确缓存
- python提取视频中的音频
- Vue3 响应式原理
- vue-mergeable-table 动态生成的可合并行列的表格
- 【GOFLY】基于GO语言gin框架和websocket实现的全开源WEB客服即时通讯管理系统
- edgeXFoundry中modbus通信部署和测试(待续)
- C++面向对象学习之运算符重载(1)
- PAT (Basic Level) Practice (中文)1045 快速排序 (25 分)