我正在使用PDFCreator将多个文件合并为一个PDF文件。 代码如下所示:
dim pdfJob as new PDFCreator.clsPDFCreator
with pdfJob
.cOption("UseAutosave")=1
.cOption("UseAutosaveDirectory")=1
.cOption("AutosaveDirectory")=sPDFPath
.cOption("AutosaveFilename")="combine.pdf"
.cOption("Autosaveformat")=0
.cClearCache
end with
pdfJob.cPrinterStop = true
pdfJob.cPrintFile("c:\1.pdf") 'pdf-reader pops up and freezes until it is closed
sleep(2000)
pdfJob.cPrintFile("c:\2.pdf") 'pdf-reader pops up and freezes until it is closed
sleep(2000)
pdfJob.cPrintFile("c:\3.pdf") 'pdf-reader pops up and freezes until it is closed
sleep(2000)
pdfJob.cCombineAll
pdfJob.cPrinterStop = false
如果我打印.txt,.doc,这段代码将完美运行,但是当涉及PDF时,它将在每次打印时停止,直到我们关闭pdf阅读器应用程序(例如adobe pdf reader,foxit reader)(卡在pdfJob.cPrintfile line)手动(即在上面的情况下,我们将需要关闭pdf阅读器三次才会尝试组合pdf)。
我能问一下,我们是否有办法绕过这个手动关闭步骤,因为我会自动化这个过程。
注意:如果我们将pdfJob.cPrinterStop设置为false,则仍会弹出应用程序窗口,但它不会挂起(只是它不会合并pdfs)
非常感谢
答案 0 :(得分:2)
我们使用不同的工具PDFtk执行类似的操作。
我个人并不熟悉PDFCreator,但似乎它正在使用操作系统注册的.pdf文件处理程序应用程序,而这正是导致您出现问题的应用程序。如果您需要坚持使用PDFCreator,您将不得不研究您需要与应用程序进行交互的任何PDF应用程序以使其关闭(或者您可以创建代码以编程方式终止该应用程序)
使用PDFtk,它会自行打开.pdf文件并合并它们,而无需打开另一个应用程序来处理.pdf内容。