PDFTK-无法找到输入文件

PDFTK-无法找到输入文件

我正在尝试使用 Access 2007 VBA 合并 2 个 pdf 文件,我已检查所有文件都位于正确的位置,但当我进行合并时,PDFTK 找不到输入文件。如有任何帮助或建议,我将不胜感激。

我已经复制了我的 vba 代码如下

Reportstring = ""
Reportstring = Environ("userprofile") & "\Documents\Datafiles\BatleyHousingSurveys\BookletinputFiles\1_BookletFrontPage.pdf" & " "
Reportstring = Reportstring & Environ("userprofile") & "\Documents\Datafiles\BatleyHousingSurveys\BookletinputFiles\2_BookletContentsPage.pdf" & " "
Reportstring = Reportstring + "Cat Output " + Environ("userprofile") & "\Documents\Datafiles\BatleyHousingSurveys\BookletinputFiles\HousingBooklet.pdf"

Shell (Environ("programfiles") & "\PDFtk Server\bin\PDFTK.exe " + Reportstring), 3

为什么它说找不到文件?

答案1

PDFTK 可执行文件的路径中有空格。

您希望命令看起来如下:

  • 可执行文件:C:\Program Files\PDFtk Server\bin\pdftk.exe
  • 论点:(C:\Users\user\Documents\Datafiles\...不会粘贴整个内容)

以下是系统实际看到的内容:

  • 可执行文件:C:\Program
  • 参数:Files\PDFtk Server\bin\pdftk.exe C:\Users\user\Documents\Datafiles\...

当然,没有这样的可执行文件C:\Program,所以这就是您收到的错误。

您需要将可执行文件名称放在引号 ( ") 中,以防止空格引起问题。(出于习惯和良好做法,您还应该将文件名放在引号中。)

我可能会这样编写此代码(分成更多行,以便于阅读和将来修改):

DblQuote = """" ' This is a single (") character

BaseFilePath = Environ("userprofile") & "\Documents\Datafiles\BatleyHousingSurveys\BookletinputFiles\"

FirstFilePath = DblQuote & BaseFilePath & "1_BookletFrontPage.pdf" & DblQuote
SecondFilePath = DblQuote & BaseFilePath & "2_BookletContentsPage.pdf" & DblQuote
Operations = "cat output"
OutputFilePath = DblQuote & BaseFilePath & "HousingBooklet.pdf" & DblQuote

ArgumentString = FirstFilePath & " " & SecondFilePath & " " & Operations & " " & OutputFilePath

ExecutablePath = DblQuote & Environ("programfiles") & "\PDFtk Server\bin\PDFTK.exe" & DblQuote

Shell (ExecutablePath & " " & ArgumentString), 3

相关内容