将一个 PDF 文档快速附加(合并)到 50,000 个其他文档中

Quickly append (merge) a PDF document onto 50,000 other documents

我们每月有 50,000 份文档需要在末尾附加一个不同的 pdf。

我有一个 powershell 脚本,它循环遍历 50,000 个列表并调用 PDFtk 来合并它们。但即使在具有高 RAM 的机器上,这也需要花费很多小时。

代码的核心是这样的:

foreach ($pdf in $filelist){
  <#Get all variables#>
  ...
  $merge = '"' + $TKPath + '" "' + $FirstPDFPath + '" "' + $SecondPDFPath + '" cat output "' + $OutputPDFPath + '"'
  cmd.exe /c $merge
}

这是 PDFtk 的问题吗?还是我在循环内调用 cmd.exe /c 引起了问题?我可以不通过某种方式调用 PDFtk 吗?我从来没有让它工作过。

启动 50K cmd.exe 个进程肯定会带来一些开销。

您可以尝试使用 & 调用运算符直接从 powershell 调用 pdftk

& $TKPath $FirstPDFPath $SecondPDFPath cat output $OutputPDFPath