我想使用R合并已存在的PDF文件(已保存在我的电脑上)。
我已经尝试过使用开源软件将它们合并,而且效果很好,但由于我有几百个文件需要合并,所以我希望找到一些更快的方法(我的目标是仅通过运行一个R命令就能自动创建或更新文件)。
我熟悉R,因此希望能找到一种使用这个程序创建这个新的多页PDF的方法。是否有任何函数可以为我完成这项工作?
谢谢!
对于不依赖于调用底层操作系统的 system()
或 system2()
的 R 语言解决方案,我建议使用 {qpdf} 包。
您可以按照以下步骤安装此包:
install.packages("qpdf")
接下来您需要使用pdf_combine()
函数。请查看它的文档:
?qpdf::pdf_combine
您可以合并任意数量的PDF文件。这里我将file.pdf
,file2.pdf
和file3.pdf
合并成一个名为output.pdf
的新文件:
qpdf::pdf_combine(input = c("file.pdf", "file2.pdf", "file3.pdf"),
output = "output.pdf")
如果您安装了pdftk
(可在此处找到),则可以使用以下函数:
concatenate_pdfs <- function(input_filepaths, output_filepath) {
# Take the filepath arguments and format them for use in a system command
quoted_names <- paste0('"', input_filepaths, '"')
file_list <- paste(quoted_names, collapse = " ")
output_filepath <- paste0('"', output_filepath, '"')
# Construct a system command to pdftk
system_command <- paste("pdftk",
file_list,
"cat",
"output",
output_filepath,
sep = " ")
# Invoke the command
system(command = system_command)
}
以下可称作:
concatenate_pdfs(input_filepaths = c("My First File.pdf", "My Second File.pdf"),
output_filepath = "My Combined File.pdf")
pdftk "My First File.pdf" "My Second File.pdf" cat output "My Combined File.pdf"
pdftk
гҖӮдҪ еҸҜд»ҘдҪҝз”Ё?system
еңЁR
дёӯзј–еҶҷи„ҡжң¬зӣҙжҺҘи°ғз”Ёе®ғгҖӮ - Justin