Ghostscript - это интерпретатор PostScript, он также включает в себя программу PostScript, которая будет интерполировать файлы PDF. Вот и все. Он (в настоящее время) напрямую не читает какие-либо форматы изображений.
Однако PostScript - это язык программирования, и есть вспомогательные программы PostScript, поставляемые с Ghostscript, которые будут читать некоторые форматы изображений.
Ваша первая командная строка запускает viewjpeg, затем ps выполняет переключатель -c
, который заставляет командную строку считываться как программа PostScript до следующего -f
. «Test-JPG.jpg viewJPEG» недействителен PostScript (в языке PostScript или программе ViewJPEG.ps нет оператора или функции под названием Test-JPG.jpg), поэтому он не работает.
Вторая командная строка, по сути, такая же, только заключена в "", поэтому она тоже не работает. Она также не предоставляет полный путь к viewjpeg.ps, поэтому, вероятно, не удается найти viewjpg.ps.
Ваша третья командная строка даже не использует viewjpeg.ps, поэтому она пытается прочитать содержимое JPEG как PostScript, что, что неудивительно, также не работает.
Если вы читаете viewjpeg.ps, это на самом деле есть пример использования в комментариях:
% Usage example:
% (jpeg-6/testimg.jpg) viewJPEG
Обратите внимание на () вокруг имени файла, они отсутствуют в ваших командных строках. Если вы сделаете это:
gswin64c -sDEVICE=pdfwrite -o myFile.pdf "C:\Program Files\gs\gs9.52\lib\viewjpeg.ps" -c "(Test-JPG.jpg) viewJPEG" -f
Тогда он , вероятно, будет работать. Если все файлы находятся в нужном месте.
Однако, начиная с версии 9.50, поведение Ghostscript по умолчанию - SAFER
, а не NOSAFER
. Это означает, что программы PostScript (например, vi ewJPEG.ps) не разрешен доступ к произвольным файлам с диска.
Ghostscript делает все возможное, чтобы попытаться убедиться, что все файлы, указанные в командной строке как входные или выходные файлы , имеют разрешено, но если вы хотите, чтобы программа PostScript читала файл, вы должны либо запускать его с -dNOSAFER
, что в данном случае безопасно, но я бы не рекомендовал это делать, либо вам нужно добавить файл в список разрешенных для чтения файлов.
Это объясняется в документации здесь прокрутите вниз до БЕЗОПАСНО, чтобы увидеть это.