Pracuję nad wywołaniem pliku .exe przy pomocy skryptu WScript.shell activeX. Plik to wkhtmltopdf.exe i służy do konwersji strony HTML do pliku .pdf. Wszystko działa dobrze, gdy po prostu wywołuję kod C: \ wkhtmltopdf.exe w kodzie. Działa, a następnie zamyka się prawidłowo. Ale moim problemem jest to, aby uruchomić go z cmd z nazwą programu, a następnie nazwę pliku HTML, który czytasz, a następnie nazwę .pdf, którą chcesz utworzyć jako.Używanie obiektu WScript.shell activeX do uruchamiania wiersza polecenia
Na przykład:
c:\wkhtmltopdf.exe c:\PDFTestPage.html c:\TEST.pdf
Ten wkhtmltopdf.exe zadzwoni, przeczytaj c: \ PDFTestPage.html, a następnie utworzyć c: \ test.pdf. Działa dobrze, gdy wpisuję go w cmd.
Czy ktoś wie, activeX, który nie będzie po prostu uruchomić i. Exe, ale faktycznie wykonać wiersz polecenia?
Oto mój kod, którego obecnie używam.
function callShellApplication(){
var objShell = new ActiveXObject("WScript.shell");
objShell.run('"c:\wkhtmltopdf.exe"');
}
Naprawdę podoba mi się, że jest następujący.
function callShellApplication(){
var objShell = new ActiveXObject("WScript.shell");
objShell.run('"c:\wkhtmltopdf.exe c:\PDFTestPage.html c:\TEST.pdf"');
}
Uwaga dodatkowa. Z jakiegoś powodu nie mogę uruchomić .exe z absolutnej ścieżki. Muszę przejść do katalogu, a następnie po prostu wpisać w wkhtmltopdf.exe. Ścieżka wypełnienia to:
C:\Program Files (x86)\wkhtmltopdf\wkhtmltopdf.exe
Naprawdę działam tylko z systemem UNIX, więc nie jestem pewien co do spacji na ścieżce. Mogę zrobić chdir ze spacjami, ale nie mogę użyć ścieżki wypełnienia podczas jej wykonywania. Wszelkie informacje byłyby pomocne. Z góry dziękuję.
Dlaczego nie można zrobić prosty CGI, który robi to i uniknąć ActiveX, który jest tylko IE i uprawnienia koszmar? – epascarello
To musi działać w intranecie, a IE zawsze jest domyślną przeglądarką. – JoBaxter