使用R合并现有PDF文件

使用R合并现有PDF文件,r,pdf,R,Pdf,我想使用R合并已经存在(已经保存在我的计算机中)的PDF文件 我已经尝试使用开源软件来合并它们,效果很好,但由于我有数百个文件要合并在一起,我希望能找到更快的东西(我的目标是自动创建或更新文件,只需运行R命令) 我习惯了R,所以我想找到一种方法来创建这个新的多页PDF使用这个程序。有什么功能可以为我做到这一点吗 谢谢 如果安装了pdftk(已找到),则可以使用以下功能: concatenate_pdfs <- function(input_filepaths, output_filepat

我想使用R合并已经存在(已经保存在我的计算机中)的PDF文件

我已经尝试使用开源软件来合并它们,效果很好,但由于我有数百个文件要合并在一起,我希望能找到更快的东西(我的目标是自动创建或更新文件,只需运行R命令)

我习惯了R,所以我想找到一种方法来创建这个新的多页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)
}
这只是调用以下系统命令的一种用户友好方式:

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"