【发布时间】:2013-03-12 01:02:04
【问题描述】:
我正在使用 WScript.shell activeX 调用 .exe 文件。该文件是 wkhtmltopdf.exe,它用于将 HTML 页面转换为 .pdf。当我在代码中调用 C:\wkhtmltopdf.exe 时,一切都运行良好。它运行然后正确关闭。但我的问题是您需要从 cmd 使用程序名称运行它,然后是您正在阅读的 HTML 文件名,然后是您希望将其创建为的 .pdf 名称。
例如:
c:\wkhtmltopdf.exe c:\PDFTestPage.html c:\TEST.pdf
这将调用 wkhtmltopdf.exe,读取 c:\PDFTestPage.html,然后创建 c:\TEST.pdf。当我将它输入cmd时工作正常。
有谁知道一个不仅可以运行和 .exe 还可以实际执行命令行的 activeX?
这是我目前正在使用的代码。
function callShellApplication(){
var objShell = new ActiveXObject("WScript.shell");
objShell.run('"c:\wkhtmltopdf.exe"');
}
真的很希望它是以下内容。
function callShellApplication(){
var objShell = new ActiveXObject("WScript.shell");
objShell.run('"c:\wkhtmltopdf.exe c:\PDFTestPage.html c:\TEST.pdf"');
}
另外附注。出于某种原因,我无法从绝对路径启动 .exe。我必须移动到该目录,然后输入 wkhtmltopdf.exe。填充路径为:
C:\Program Files (x86)\wkhtmltopdf\wkhtmltopdf.exe
我真的只使用 UNIX,所以我不确定路径中的空格。我可以用空格做一个 chdir,但在执行它时我不能使用填充路径。任何信息都有帮助。先感谢您。
【问题讨论】:
-
你为什么不做一个简单的 cgi 来完成它并避免只有 IE 的 activeX 和权限噩梦?
-
这需要在内网运行,IE总是默认浏览器。
标签: javascript cmd activex