Какова эквивалентность настройки разрешения 72 в ghostview при использовании ghostscript? - PullRequest
2 голосов
/ 24 мая 2011

Когда я использую ghostsview для преобразования файла postscript в tiff, я использую формат 72, но если я хочу использовать тот же формат при использовании ghostscript, какое разрешение мне следует использовать? например

gswin32c.exe -q -dNOPAUSE -sDEVICE=tiffg4 -r????? -sOutputFile=a.tif a.ps

Кажется, что это

gswin32c.exe -q -dNOPAUSE -sDEVICE=tiffg4 -r600 -sOutputFile=a.tif a.ps

Но это не совсем правильно.

EDIT: Я имею в виду, что в ghostsview, который является версией ghostscript для графического интерфейса пользователя, я могу установить разрешение, скажем, «tiffcrl», равное 72, 96, 204x196 и 204x98. Я хочу получить тот же вывод, который получаю при установке разрешения 72 в ghostview, как при использовании Ghostsript gswin32c.exe

Каковы настройки по умолчанию в gsview, чтобы я мог перенести их непосредственно в командную строку, чтобы выходные результаты были такими же?

EDIT2: Версия gsview 4.9, а установленная версия ghostscript - 9.01, моя операционная система - Windows 7 32bit, у меня установлена ​​только одна версия ghostscript.

Я открываю PostScript-файл с помощью gsview, а затем нажимаю «Конвертировать» в разделе «Файл». После этого я выбираю устройство tiffcrle и разрешение 72. Все остальные параметры в любом месте являются настройками по умолчанию (я, так сказать, не перепутал их). Файл, который я получаю при этом, имеет разрешение 4958x7017.

Когда я делаю это с ghostscript

gswin32c.exe -q -dNOPAUSE -sDEVICE=tiffcrle -r72 -sOutputFile=a.tif a.ps

Я получаю файл намного меньшего размера (в кб) с разрешением 595x842, с совершенно дерьмовым разрешением.

Я также попробовал ту же команду, но с использованием -r600, который дает мне файл с тем же разрешением, что и файл, созданный в gsview, но он имеет другой размер (в килобайтах).

Когда я пытаюсь ввести команду, вы предоставили мне @pipitas:

gswin32c.exe -o nul -sDEVICE=tiffcrle -c "currentpagedevice {exch ==only ( ) print == } forall" | findstr /i resolution

Я получаю результат

/.MarginsHWResolution [204.0 196.0] /HWResolution [204.0 196.0]

Когда я пробовал это разрешение под -r204x196, оно все равно не давало того же вывода.

С наилучшими пожеланиями!

Ответы [ 3 ]

5 голосов
/ 25 мая 2011

По умолчанию Ghostscript использует разрешение 72 точек на дюйм для всех (пиксельных) устройств вывода изображения.Но он использует 720dpi для устройства вывода pdfwrite.Эти значения по умолчанию применяются, если в командной строке не указано другое значение, например -r200 или -r204x196.

. Чтобы определить общий размер выходной страницы, можно использовать -gWWWxHHH, чтобы указатьширина и высота в пикселях.

Ghostview - это оболочка GUI для Ghostscript, но созданная другой разработчиком / компанией.Ghostview использует Ghostscript внутри себя в качестве интерпретатора и средства визуализации.Он позволяет вам устанавливать различные разрешения -rNNxMM через графический интерфейс.

В Windows есть две команды Ghostscript:

  • gswin32c.exe : выводитвсе на экране cmd.exe, а также принимает все входные данные (если вы находитесь в интерактивном режиме).
  • gswin32.exe : открывается новое окно для вывода stdout (а также для ввода в интерактивном режиме)

Обе эти команды принимают параметры -rNNxMM и -gWWWxHHH.Чтобы полностью понять, как они работают, вы должны поиграть с различными вариантами

 gswin32.exe -rNNNxMMM -gWWWxHHH c:/path/to/file.pdf

В любом случае, краткий ответ на ваш вопрос в заголовке: Эквивалент для установки разрешения в Ghostview равным 72 dpi,для Ghostscript: добавить -r72 к параметрам командной строки Ghostscript.(Но это значение используется для вывода JPEG, PNG, TIFF и других изображений в любом случае ...)


Обновление

Вы можете запросить все значения по умолчанию, которые использует Ghostscriptдля конкретного устройства вывода.Попробуйте, например, для вывода tiffg4, выполнив следующую команду:

gswin32c.exe ^
  -o nul ^
  -sDEVICE=tiffg4 ^
  -c "currentpagedevice {exch ==only ( ) print == } forall"

Поскольку вас интересует разрешение, измените его в Windows следующим образом:

gswin32c.exe ^
  -o nul ^
  -sDEVICE=tiffg4 ^
  -c "currentpagedevice {exch ==only ( ) print == } forall" | findstr /i resol

, и вам следуетпосмотрите этот вывод:

  /.MarginsHWResolution [72.0 72.0]
  /HWResolution [72.0 72.0]

Другое устройство, такое как pdfwrite, даст другой результат, потому что оно использует разные значения по умолчанию:

C:\> gswin32c -o nul -sDEVICE=pdfwrite -c "currentpagedevice{exch print ==}forall"|findstr/i resolution

  /.MarginsHWResolution [720.0 720.0]
  /MonoImageResolution 300
  /GrayImageResolution 72
  /HWResolution [720.0 720.0]
  /ColorImageResolution 72
2 голосов
/ 24 мая 2011

Переключатели Ghostscript описаны в / gs / doc, который можно начать с Use.html.

Разрешение устанавливается с помощью ключа -r, если вы хотите разрешение 72 dpi, вы должны установить -r72.Для меня не очевидно, что вы подразумеваете под «использовать формат 72», это не (или мне не кажется) формат.Но из-за вашей команды кажется, что вам нужно разрешение.

1 голос
/ 26 мая 2011

Посмотрев, как вы продолжили работу с Ghostview для создания выходного файла TIFF из входного PS-файла, я теперь полностью убежден, что следующая команда Ghostscript даст тот же результат:

gswin32c.exe ^
    -o output.tif ^
    -sDEVICE=tiffcrle ^
    -r72x72 ^
    -g595x842 ^
     input.ps

(Предполагается, что вы оставили настройку по умолчанию в Ghostsview на «Фиксированный размер страницы» .

...