Какова эквивалентность настройки разрешения 72 в ghostview при использовании ghostscript?

#tiff #ghostscript #postscript

#tiff #ghostscript #postscript

Вопрос:

Когда я использую 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
  

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

РЕДАКТИРОВАТЬ: Я имею в виду, что в ghostsview, который является версией ghostscript с графическим интерфейсом, я могу установить разрешение, скажем, для «tiffcrl», равным 72, 96, 204×196 и 204×98. Я хочу получить тот же результат, который я получаю при установке разрешения 72 в ghostview, что и при использовании Ghostsript gswin32c.exe

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

ПРАВКА 2: Версия gsview равна 4.9, а установленная версия ghostscript равна 9.01, моя операционная система — Windows 7 32bit, у меня установлена только одна версия ghostscript.

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

Когда я делаю это с помощью ghostscript

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

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

Я также пробовал ту же команду, но с использованием -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, оно все равно не выдаст тот же результат.

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

Комментарии:

1. @Joe: Вы хотите более высокое разрешение и лучшее качество. Это вы можете получить, но за это приходится платить: цена выплачивается за больший размер файла. Обычно вы не можете получить оба: более высокое разрешение / лучшее качество И меньший размер файла.

2. @Joe: чтобы проверить данные вашего вывода в формате TIFF, пожалуйста, выполните эту команду для каждого из ваших результатов: identify -verbose file.tif . Посмотрите на свои реальные размеры изображения и разрешения там. (identify является частью пакета приложений ImageMagick и доступна для всех основных платформ ОС.)

3. @Joe: Вы говорите, что ваша команда GS выдает вам «маленький» файл с «разрешением 595×842» . Это какое-то недоразумение. Разрешение измеряется в точках на дюйм (dpi), и ваша команда явно запросила 72 dpi . 595×842 представляет собой размер выходной страницы, измеряемый в точках PostScript. То же самое для вашего результата 4958×7017 . Поскольку 72 points == 1 Inch (по определению) при разрешении 72dpi размер 595×842 дает вам размер страницы 8,26 дюйма (= = 210 мм) на 11,69 дюйма (== 297 мм). При разрешении ~ 200 точек на дюйм размер 4958×7017 точек преобразуется в размер страницы 24,3 дюйма (= 617,2 мм) на 35,8 дюйма (= 909,3 мм).

4. @pipitas: После установки Imagemagick и использования identify кажется, что разрешение составляет 600×600 для обоих изображений. Что отличается, находится под «серым»: среднее значение:, стандартное отклонение:, эксцесс:, асимметрия:. Файл, созданный с помощью gswin32c, имеет немного более высокие значения среднего значения, эксцесса и асимметрии, но немного меньше стандартного отклонения, я думаю, в этом разница? В любом случае, чтобы контролировать это при создании файла с помощью gswin32c?

5. @Joe: фрагменты информации, которые вы предоставляете, каким-то образом не сочетаются друг с другом. Без фактических файлов, которые вы используете, у меня нет возможности проанализировать, что происходит….

Ответ №1:

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

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

Ghostview — это графическая оболочка вокруг 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
  

Комментарии:

1. Спасибо за ответ, но, похоже, этого недостаточно. Программа сообщает мне, что она использует 204.0 196.0, но когда я использую это в -r204x196, я все еще не получаю тот результат, который я искал. Это действительно странно, и я понятия не имею, почему это так, можно ли как-нибудь отладить gsview, чтобы я мог видеть настройки, которые применяются при конвертации с помощью программного обеспечения?

2. @Joe: Как и КенС, я тоже не до конца понимаю, чего вы хотите достичь. Не могли бы вы обновить свой вопрос, пожалуйста? Опишите каждый шаг, который вы используете при преобразовании вашего файла с помощью Ghostview. Затем мы можем сказать вам, какую команду использовать с Ghostscript для достижения точно такого же результата. Также, пожалуйста, скажите: Какую версию Ghostscript вы используете? Установлены ли у вас разные версии Ghostscript? В какой операционной системе вы работаете? Какую версию Ghostview вы используете?

3. Я отредактировал свой текст и записал, как я создаю файлы с помощью gsview и каких версий. 🙂

Ответ №2:

Переключатели Ghostscript задокументированы в / gs / doc, с которого вы могли бы начать Use.html.

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

Комментарии:

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

2. Ghostview не является версией Ghostscript с графическим интерфейсом, это отдельное приложение от Ghostgum Pty, которое использует Ghostscript. В Windows «версией GUI» Ghostscript является gswin32, в то время как версией командной строки является gswin32c. Если вы хотите разрешение 72 dpi, тогда установите -r72 в командной строке GS.

3. Хорошо, я понимаю, но установка разрешения на -r72 по какой-то причине не помогает… существуют ли какие-либо другие переключатели параметров, которые необходимо установить? требуемое мной разрешение равно 4958×7017

4. @Joe: Спасибо, под 4958×7017 ты подразумеваешь размеры страницы в пунктах. Вы можете указать это, добавив -g4958x7017 .

Ответ №3:

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

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

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