Я пытаюсь создать процесс PowerShell, с помощью которого я смогу распечатать свою локальную веб-страницу с помощью автоматизации.
start-process "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --headless --disable-gpu --print-to-pdf="C:\Temp\createPdf180304023549.pdf" http://localhost/
Проблема в том, что он постоянно говорит:
Не найден позиционный параметр, принимающий аргумент --disable-gpu
Однако команды, которые я использую, скопированы изhttps://developers.google.com/web/updates/2017/04/headless-chrome
Что я сделал не так?
решение1
Добавьте ArgumentList
параметр в вашу команду следующим образом:
start-process "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -ArgumentList @"--headless --disable-gpu --print-to-pdf="C:\Temp\createPdf180304023549.pdf" http://localhost/"
Обратите внимание, что аргументы заключены в двойные кавычки и дополнены знаком @, чтобы экранировать двойные кавычки в аргументе print-to-pdf.
Без этого параметра PowerShell будет интерпретировать аргументы, предназначенные для Chrome, как аргументы для командлета Start-Process.
решение2
У меня это работает.
start-process chrome.exe -ArgumentList "--headless --print-to-pdf=C:\Users\{User}\Desktop\AllPdf\pdf4.pdf https://www.google.com"