Ich versuche, einen Powershell-Prozess zu erstellen, mit dem ich meine lokale Webseite automatisch ausdrucken kann.
start-process "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --headless --disable-gpu --print-to-pdf="C:\Temp\createPdf180304023549.pdf" http://localhost/
Das Problem dabei ist jedoch, dass immer wieder gesagt wird
Es kann kein Positionsparameter gefunden werden, der das Argument --disable-gpu akzeptiert
Die Befehle, die ich verwende, sind jedoch kopiert vonhttps://developers.google.com/web/updates/2017/04/headless-chrome
Was habe ich falsch gemacht?
Antwort1
Fügen Sie den ArgumentList
Parameter wie folgt zu Ihrem Befehl hinzu:
start-process "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -ArgumentList @"--headless --disable-gpu --print-to-pdf="C:\Temp\createPdf180304023549.pdf" http://localhost/"
Beachten Sie, dass die Argumente in doppelte Anführungszeichen eingeschlossen und mit einem At-Zeichen (@) versehen wurden, um die doppelten Anführungszeichen im Argument „Als PDF drucken“ zu umgehen.
Ohne diesen Parameter interpretiert PowerShell die für Chrome vorgesehenen Argumente als Argumente für das Cmdlet „Start-Process“.
Antwort2
Es funktioniert bei mir
start-process chrome.exe -ArgumentList "--headless --print-to-pdf=C:\Users\{User}\Desktop\AllPdf\pdf4.pdf https://www.google.com"