R包-pedtools

使用 pdftools 包处理 PDF 文件,用于读取、解析和转换 PDF 文件。常用功能是将 PDF 转为图片

安装

1
2
install.packages("pdftools")
library(pdftools)

或者用 conda

1
conda install -c conda-forge r-pdftools

PDF转图片

举例如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
library(pdftools)

pdfs <- c(
"PC3plot.pdf",
"kin_heatmap.pdf",
"Frequency.plot_T.pdf",
"Normal_test_QQ_T.pdf"
)

for (f in pdfs) {
if (file.exists(f)) {
pdf_convert(f, format = "png", dpi = 300, antialias = TRUE)
} else {
warning(paste("File not found:", f))
}
}

核心转换命令为

1
pdf_convert("PC3plot.pdf", format = "png", dpi = 300, antialias = TRUE)

参数解释如下

参数 含义
"PC3plot.pdf" 输入的 PDF 文件
format = "png" 输出为 PNG 格式,可支持的格式见下表
pages = NULL 需要转换的页码,默认转换 所有页面
filenames = NULL 默认自动命名(命名规则为文件名加上页码,如 PC3plot_1.png);如果自己设定的话,需要是一个元素个数是页码数目的输出文件名的列表(每一个元素对于一个页码的结果)
dpi = 300 高分辨率(适合论文/报告)
antialias = TRUE 抗锯齿,字体更平滑
opw = "" Owner password(无)
upw = "" User password(无)
verbose = TRUE 打印转换进度

以下是 pdf_convert()官方支持的输出格式及其适用场景:

格式代码 全称 特点 推荐场景
“png” Portable Network Graphics 无损压缩,支持透明背景 网页报告、截图、图表(首选)
“jpeg” / "jpg" Joint Photographic Experts Group 有损压缩,文件小,不支持透明 照片、预览图
“tiff” Tagged Image File Format 无损,质量极高,文件巨大 印刷出版、存档
“bmp” Bitmap 无压缩,体积最大,兼容性一般 特殊工业软件
“ps” PostScript 矢量格式(非像素) 早期打印机、特定排版
“eps” Encapsulated PostScript 矢量格式,适合嵌入LaTeX 学术论文插图
“svg” Scalable Vector Graphics 矢量格式,无限放大不失真 网页交互、D3.js
“pdf” Portable Document Format 矢量格式,相当于复制原文件 保留矢量特性

提取文本内容

举例如下

1
2
txt <- pdf_text("input.pdf")
cat(txt[1])

✅ 特点:

  • 按页返回字符向量
  • 保留段落结构(不完全精确)

📌 常用于:

  • 批量读取 PDF 报告
  • 文献摘要提取
  • 日志 / 账单解析

提取内嵌图片

举例如下

1
pdf_extract_images("input.pdf", dpi = 300)

✅ 提取 PDF 中原始的 JPG / PNG / TIFF
❌ 不能“渲染”页面内容

📌 适合:

  • 从论文中提取已有图片
  • 批量收集图表
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2019-2026 Vincere Zhou
  • 访问人数: | 浏览次数:

请我喝杯茶吧~

支付宝
微信