Ich arbeite am Aufruf einer .exe-Datei mit einer WScript.shell activeX. Die Datei ist wkhtmltopdf.exe und dient zum Konvertieren einer HTML-Seite in eine .pdf-Datei. Alles funktioniert gut, wenn ich nur C: \ wkhtmltopdf.exe im Code anrufe. Es läuft und schließt dann korrekt. Aber mein Problem ist, dass Sie es von cmd mit dem Programmnamen und dem Namen der HTML-Datei, die Sie lesen, gefolgt von dem .pdf-Namen, den Sie erstellen möchten, ausführen müssen.Verwenden einer WScript.shell activeX zum Ausführen einer Befehlszeile
Zum Beispiel:
c:\wkhtmltopdf.exe c:\PDFTestPage.html c:\TEST.pdf
Diese wkhtmltopdf.exe nennen, lesen Sie c: \ PDFTestPage.html, dann c: \ test.pdf. Funktioniert gut, wenn ich es in cmd eintippe.
Kennt jemand eine activeX, die nicht nur ausführen und .exe aber tatsächlich eine Befehlszeile ausführen?
Hier ist mein Code, den ich derzeit verwende.
function callShellApplication(){
var objShell = new ActiveXObject("WScript.shell");
objShell.run('"c:\wkhtmltopdf.exe"');
}
Würde es wirklich, das folgende zu sein.
function callShellApplication(){
var objShell = new ActiveXObject("WScript.shell");
objShell.run('"c:\wkhtmltopdf.exe c:\PDFTestPage.html c:\TEST.pdf"');
}
Auch Randnotiz. Aus irgendeinem Grund kann ich die .exe nicht von einem absoluten Pfad starten. Ich muss in das Verzeichnis wechseln und dann wkhtmltopdf.exe eingeben. Der Füllungspfad ist:
C:\Program Files (x86)\wkhtmltopdf\wkhtmltopdf.exe
ich wirklich nur mit UNIX arbeiten, so bin ich über Leerzeichen im Pfad nicht sicher. Ich kann einen Chdir mit den Leerzeichen machen, aber ich kann den Füllpfad nicht benutzen, wenn ich ihn ausführe. Jede Information wäre hilfreich. Vielen Dank im Voraus.
Warum Sie nicht über eine einfache cgi machen, die es tut und activeX zu vermeiden, die nur IE ist und ein Berechtigungs Alptraum? – epascarello
Dies muss in einem Intranet ausgeführt werden und IE ist immer der Standardbrowser. – JoBaxter