使用R合并现有PDF文件
我想使用R合并已经存在(已经保存在我的计算机中)的PDF文件 我已经尝试使用开源软件来合并它们,效果很好,但由于我有数百个文件要合并在一起,我希望能找到更快的东西(我的目标是自动创建或更新文件,只需运行R命令) 我习惯了R,所以我想找到一种方法来创建这个新的多页PDF使用这个程序。有什么功能可以为我做到这一点吗使用R合并现有PDF文件,r,pdf,R,Pdf,我想使用R合并已经存在(已经保存在我的计算机中)的PDF文件 我已经尝试使用开源软件来合并它们,效果很好,但由于我有数百个文件要合并在一起,我希望能找到更快的东西(我的目标是自动创建或更新文件,只需运行R命令) 我习惯了R,所以我想找到一种方法来创建这个新的多页PDF使用这个程序。有什么功能可以为我做到这一点吗 谢谢 如果安装了pdftk(已找到),则可以使用以下功能: concatenate_pdfs <- function(input_filepaths, output_filepat
谢谢 如果安装了
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)
}
这只是调用以下系统命令的一种用户友好方式:
pdftk "My First File.pdf" "My Second File.pdf" cat output "My Combined File.pdf"
对于基于R的解决方案,它不依赖于使用
system()
或system2()
,我建议使用
您可以通过以下方式安装此软件包:
install.packages(“qpdf”)
然后您需要使用combine()
函数。检查它
文件如下:
?qpdf::联合收割机
然后可以合并任意多个PDF。这里我合并了file.pdf
,
file2.pdf
和file3.pdf
放入名为output.pdf
的新文件中:
qpdf::pdf_combine(c(“file.pdf”、“file2.pdf”、“file3.pdf”)、“output.pdf”)
如果您在linux上,我建议您从命令行使用
pdftk
。您可以在R
中编写一个脚本,使用?system
直接调用它。回应@Justin的评论,请参阅和。需要“ghostscript”,所以可以在任何平台上使用。谢谢你们的回答,我会用“gostscript”试试。(我不在linux上,所以“pdftk”对我不起作用)有适用于Windows和OSX的pdftk
pdftk "My First File.pdf" "My Second File.pdf" cat output "My Combined File.pdf"