R将pdf合并为一个pdf

时间:2018-02-27 13:23:19

标签: r pdf merge

我有一个包含大约400个.pdf文件的文件夹,每个.pdf文件总共2页。

所有.pdf文件名均采用以下格式:

148-c16631-27-02-2018.pdf

我想要的是合并到一个pdf文件下,R中文件名中包含特定代码的pdf文件。例如:

148-c16631-27-02-2018.pdf
148-c14369-27-02-2018.pdf
148-c101593-27-02-2018.pdf

这些代码148是唯一的,可以合并为1页pdf文件,共8页。

提前感谢您的任何意见。

1 个答案:

答案 0 :(得分:3)

安装pdftk并确保它在您的路径上(或者如果不在您的路径上,则在下面的system命令中引用它时使用完整路径名)。然后运行下面的代码。没有包使用。

setwd("...directory where pdf files are located...") ##
infiles <- Sys.glob("148-*.pdf") ##
outfile <- "148.pdf" ##
system(paste("pdftk", paste(infiles, collapse = " "), "cat output", outfile))

有些软件包提供了围绕pdftk的包装:

  • staplr包。不幸的是,它在这里可能不太有用,因为它不允许在输出中指定文件或它们的顺序 - 只能指定输入和输出目录。 **更新**当前版本的staplr现在允许指定评论中提到的文件。

  • 动画包。此程序包提供的pdftk命令比使用system直接使用pdftk稍微简单一点。对于连接,我们假设上面标有##的3行已经运行了。

    library(animation)
    ani.options(pdftk = "/path/to/pdftk") # or if on path: ani.options(pdftk = "pdftk")
    pdftk(infiles, "cat", outfile, "")
    

    这个link有一个使用动态包和pdftk来爆发页面的例子。