从多张图片到一个 PDF 文件
楚新元 / 2022-07-10
同事给监管部门报送中层管理人员任职资格,需要将一部分图片文件和一部分后缀为 .PDF
文件合并成一个 .pdf
文件报送1。图片转 PDF 文件对于他们来说,就是放在 Word 里另存,这样倒也行吧!多个 PDF 文件合并成一个 PDF 文件对他们就有点难了。
这个需求对于 R 来说简直不值一提,但是考虑到可能其他人可能也会用到,所以在此提供下源代码方便后来者吧!当然,多年后的我或许也会拿来即用。话不多说,放码出来:
# 加载相关的 R 包
library(magick)
library(qpdf)
library(purrr)
# 编写将图片转化为 .pdf 格式的函数
convert_pdf = \(file) {
file %>%
image_read(.) %>%
image_write(
format = "pdf",
gsub(tools::file_ext(file), "pdf", file)
)
}
# 定义数据文件路径
path = "./data"
# 批量转换指定路径下的图片
path %>%
list.files(
pattern = "\\.jpg$|\\.JPG$", # 可以是 magick 包支持的其他格式
full.names = TRUE
) %>%
map(convert_pdf)
# 合并所有 PDF 文件到一个文件
path %>%
list.files(
pattern = "\\.pdf$|\\.PDF$",
full.names = TRUE
) %>%
pdf_combine("result.pdf")
-
如对文件的先后顺序有要求,可以先给文件名里加上数字,这样调整起来也容易。 ↩︎