Ghostscript подавляет выходные окна при вызове из командной строки
Это мой сценарий:
Я конвертирую PDF-файлы в PNG-изображения, используя Ghostscript на C#. Это строка аргумента, которую я использую:
-dNOPAUSE -dBATCH -dFirstPage=1 -q -r300 -sDEVICE=png256 -sOutputFile=...
Но, таким образом, когда я вызываю Ghostscript, он показывает окно, где (прежде чем я добавил -q
) были выходные сообщения.
Я пытался добавить -dNODISPLAY
после -r300
, Но в этом случае Ghostscript не работает и не создает изображения.
Вопрос: Каким образом я могу подавить окно вывода?
2 ответа
Если вы хотите запустить Win32/Win64 Ghostscript в командной строке, не открывая отдельное окно (чтобы отобразить его <stdout>
а также <stderr>
сообщения и позволяют вам <stdin>
введите ввод), затем используйте эти двоичные файлы (в зависимости от вашей версии вашего локально установленного Ghostscript):
gswin32c.exe
(обратите внимание на добавленныйc
заcommand
/console
)gswin64c.exe
(обратите внимание на добавленныйc
заcommand
/console
)
Не использовать gswin32.exe
или же gswin64.exe
! Это версии, которые имеют свои собственные всплывающие окна...
Есть два потенциальных окна, которые могут появиться при запуске gs:
- В Windows вы можете получить всплывающее окно терминала. ⇐ Это не относится к GhostScript.
- Во всех системах вы можете получить всплывающее окно рендеринга.
Если окно, которое вы хотите подавить, является окном рендеринга, например, потому что вы хотите использовать PostScript в качестве языка программирования, вы можете изменить устройство на использование опции:
Файлhello.ps
(%stdout)(w)file (Hello, world!\n) writestring
Команда для запуска этого файла без всплывающего окна с помощьюnullpage
с-sDEVICE=nullpage
, а также подавление баннерного сообщения GhostScript с помощью-q
:
gs -q -sDEVICE=nullpage -- hello.ps