【问题标题】:Merging PDF's in multiple locations with pdftk使用 pdftk 合并多个位置的 PDF
【发布时间】:2012-08-13 00:13:50
【问题描述】:

我正在尝试从批处理或 VBS 脚本文件合并多个调用 pdftk 的 PDF。 问题是 PDF 都位于公共父目录中的子文件夹中。示例:父文件夹> 子文件夹1、子文件夹2、子文件夹3,其中脚本/BAT 文件位于父文件夹 中,每个子文件夹 包含一个PDF。

pdftk调用如下:pdftk.exe *.pdf cat outputOutputFile.pdf

这将只合并当前目录中的 PDF,而不是子文件夹中的 PDF。 有没有办法执行以下操作之一:

  1. 使用 VBS/BAT 文件将子文件夹中的所有 PDF 复制到另一个目录,如果某些子文件夹为空,则不会出错
  2. 让 pdftk 查看子文件夹以选择要合并的 PDF

任何帮助将不胜感激。

【问题讨论】:

    标签: vbscript batch-file merge pdftk


    【解决方案1】:

    试试这个:

    Wscript.Echo "begin."
    Dim pdffiles
    pdffiles=""
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objSuperFolder = objFSO.GetFolder(WScript.Arguments(0))
    Call ShowSubfolders (objSuperFolder)
    
    Dim objShell
    Set objShell = CreateObject("Shell.Application")
    objShell.ShellExecute "pdftk.exe", pdffiles & " output combined.pdf", "", "runas", 1
    
    Wscript.Echo "end."
    
    WScript.Quit 0
    
    Sub ShowSubFolders(fFolder)
        Set objFolder = objFSO.GetFolder(fFolder.Path)
        Set colFiles = objFolder.Files
        For Each objFile in colFiles
            If UCase(objFSO.GetExtensionName(objFile.name)) = "PDF" Then
                pdffiles=pdffiles & " " & objFile.Name
            End If
        Next
    
        For Each Subfolder in fFolder.SubFolders
            ShowSubFolders(Subfolder)
        Next
    End Sub
    

    【讨论】:

    • 谢谢,这看起来很棒。我没有测试它,因为我找到了使用 BAT 文件的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2017-10-21
    • 1970-01-01
    • 2013-05-15
    • 1970-01-01
    • 2013-09-16
    • 1970-01-01
    • 2017-08-16
    • 1970-01-01
    相关资源
    最近更新 更多