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

Когда я использую 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, 204x196 и 204x98. Я хочу получить тот же результат, что и при установке разрешения 72 в Ghostview, как при использовании Ghostsript gswin32c.exe.

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

РЕДАКТИРОВАТЬ 2: Версия gsview — 4.9, а установленная версия ghostscript — 9.01, моя операционная система — Windows 7 32-битная, у меня установлена ​​только одна версия 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, оно все равно не давало такого же результата.

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


person Joe    schedule 24.05.2011    source источник
comment
@Joe: Вам нужно более высокое разрешение и лучшее качество. Это вы можете получить, но у этого есть цена: цена оплачивается большим размером файла. Обычно вы не можете получить одновременно: более высокое разрешение/лучшее качество И меньший размер файла.   -  person Kurt Pfeifle    schedule 26.05.2011
comment
@Joe: чтобы проверить детали вывода TIFF, запустите эту команду для каждого из ваших результатов: identify -verbose file.tif. Ищите там свои реальные размеры и разрешение изображения. (identify является частью набора приложений ImageMagick и доступен для всех основных платформ ОС.)   -  person Kurt Pfeifle    schedule 26.05.2011
comment
@Joe: Вы говорите, что ваша команда GS дает вам небольшой файл с разрешением 595x842. Это недоразумение. Разрешение измеряется в точках на дюйм (dpi), и ваша команда явно запросила 72 dpi. То, что представляет собой 595x842, является выходным размером страницы, измеренным в пунктах PostScript. То же самое для вашего результата 4958x7017. Поскольку 72 points == 1 Inch (по определению), при разрешении 72 dpi размер 595x842 дает размер страницы 8,26 дюйма (== 210 мм) на 11,69 дюйма (== 297 мм). При ~200 dpi размер 4958x7017 точек соответствует размеру страницы 24,3 дюйма (= 617,2 мм) на 35,8 дюйма (= 909,3 мм).   -  person Kurt Pfeifle    schedule 26.05.2011
comment
@pipitas: После установки Imagemagick и использования идентификации кажется, что разрешение для обоих изображений составляет 600x600. Что отличается, под серым цветом: среднее:, стандартное отклонение:, эксцесс:, асимметрия:. Файл, созданный с помощью gswin32c, имеет немного более высокие значения среднего значения, эксцесса и асимметрии, но немного меньше стандартного отклонения, я думаю, в этом и есть разница? В любом случае, чтобы контролировать это при создании файла с помощью gswin32c?   -  person Joe    schedule 27.05.2011
comment
@Joe: кусочки информации, которые вы предоставляете, как-то не сочетаются друг с другом. Без реальных файлов, которые вы используете, я не могу проанализировать, что происходит....   -  person Kurt Pfeifle    schedule 27.05.2011
comment
@Joe: Итак, для обоих файлов identify говорит, что они имеют разрешение 600x600?! Несмотря на то, что вы использовали -r72 для командной строки GS?!?! Что идентификация говорит вам о Filesize: и Number Pixels:?   -  person Kurt Pfeifle    schedule 27.05.2011
comment
Нет, я не использовал -r72, я использую разрешение 72 в gsview, но по какой-то причине разрешение становится 600. А с gswin32c я использую -r600, потому что увидел, что они наиболее похожи по размеру страницы (оба 4958x7017). Но даже несмотря на то, что они имеют одинаковое разрешение и размер страницы, файлы различаются по стандартному отклонению, эксцессу, среднему значению и асимметрии.   -  person Joe    schedule 27.05.2011
comment
@Joe: ты видел мой второй ответ?   -  person Kurt Pfeifle    schedule 27.05.2011
comment
@pipitas: Да, я пробовал, и я пробовал это раньше, но он все равно не создает точно такой же файл, как при использовании gsview:/ Я очень ценю помощь, которую вы мне оказываете, может быть, нет решения для это, и что это просто зависит от программного обеспечения gsview, которое делает что-то по-другому.   -  person Joe    schedule 27.05.2011
comment
@Joe: Нет, GSView - это просто интерфейс с графическим интерфейсом. Под его поверхностью работает движок Ghostscript, и больше ничего. Я установлю его завтра позже, чтобы перепроверить себя, и я вернусь к этому вопросу позже в эти выходные....   -  person Kurt Pfeifle    schedule 27.05.2011
comment
@pipitas: Похоже, есть еще несколько настроек, с которыми можно поиграться, которые ОЧЕНЬ сильно влияют на результат. Например, опция -dDITHERPPI= влияет на многое, хотя я все еще не получил желаемого результата. Вы смотрели что-нибудь еще по проблеме?   -  person Joe    schedule 09.06.2011
comment
@Joe: Можете ли вы предоставить ссылки на: (a) исходный PDF-файл, который вы конвертируете в TIFF с помощью Ghostview; (b) TIFF, преобразованный с помощью Ghostview; (c) TIFF, который вы создали с помощью команды, указанной в моем втором ответе?   -  person Kurt Pfeifle    schedule 09.06.2011
comment
@pipitas: два файла tiff, созданные из файла postscript. img705.imageshack.us/img705/9581/gsviewtiffcrle72.png img16.imageshack.us/img16/9006/gswin32ctiffcrle600.png 2shared.com/file/z212AqAg/E1D72CFD-30AD-433A-9823-FD95C2. html   -  person Joe    schedule 13.06.2011
comment
@Joe: Извините, это совсем не то, о чем я просил. Два файла изображений имеют формат PNG, а не TIFF. Третий файл — это не исходный PDF, а файл PostScript.   -  person Kurt Pfeifle    schedule 14.06.2011
comment
@pipitas: два файла были tif, когда я их создал, а исходный файл представляет собой файл постскриптума, созданный из файла слова. Я снова загрузил его по этой ссылке: 2shared.com/file/sZZB9IdV/tifftest.html< /а>   -  person Joe    schedule 14.06.2011
comment
@Joe: если мы хотим отладить различия файлов TIFF, нам нужны сами файлы TIFF, а не любые PNG, сделанные из них ....   -  person Kurt Pfeifle    schedule 14.06.2011
comment
@Joe: Файл TIFF, который вы назвали gsview72.tif, НЕ имеет разрешение 72 dpi. У него 600 dpi.   -  person Kurt Pfeifle    schedule 14.06.2011
comment
@pipitas: я знаю, но я выбрал 72 в gsview. Как видите, размеры файлов разные, несмотря на то, что они сделаны из одного и того же файла и имеют одинаковое разрешение. Мне интересно, знаете ли вы обо всех различных командах, которые влияют на выходной файл tif?   -  person Joe    schedule 14.06.2011
comment
@Joe: Конечно, я знаю все различные параметры командной строки, влияющие на выходной файл TIFF. Но это слишком много, чтобы просить полный учебник по этой теме. Вы не сказали мне, какую команду (с полными параметрами) вы использовали для создания файла TIFF. Был ли это именно тот, который я привел в качестве примера в моем втором ответе (как я намекнул в пункте «(c)» пару ответов здесь)...   -  person Kurt Pfeifle    schedule 14.06.2011
comment
@pipitas: gswin32c.exe -q -dNOPAUSE -sDEVICE=tiffcrle -r600 -sOutputFile=a.tif a.ps — это командная строка, которую я использую в cmd. В gsview я установил tiffcrle и разрешение 72. Если я использую ту же команду, что и вы, я получаю другой файл, который намного меньше, чем тот, который я создал с помощью gsview с разрешением 72. Это потому, что gsview не устанавливает это разрешение 72, хотя я выбираю его и вместо этого устанавливаю разрешение 600, а также с некоторыми дополнительными параметрами, которые отличают выходной файл от того, когда я использую команду r600 в cmd.   -  person Joe    schedule 15.06.2011
comment
Привет, ребята, пожалуйста, не используйте систему комментариев в качестве чата. Это для того, чтобы оставить несколько комментариев и подсказок для получения дополнительной информации на вопрос или ответ, а не для долгих дебатов. Причина этого в том, что большую часть времени (и это один из них) многие, если не все комментарии относятся к вопросу/ответу как правки, чтобы сделать его более полным. Если мне нужно прочитать ответ на полстраницы + 3 страницы комментариев, акцент на комментариях будет слишком большим. Вместо этого отредактируйте соответствующие детали в ответе. Если вам очень нужно пообщаться, найдите/создайте чат на сайте Чат, ссылка вверху страницы   -  person Lasse V. Karlsen    schedule 16.06.2011


Ответы (3)


По умолчанию Ghostscript использует разрешение 72 dpi для всех (пиксельных) устройств вывода изображения. Но для устройства вывода pdfwrite используется разрешение 720 dpi. Эти значения по умолчанию применяются, если в вашей командной строке не указано другое значение, например -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
person Kurt Pfeifle    schedule 25.05.2011
comment
Спасибо за ответ, но, похоже, этого недостаточно. Программа говорит мне, что использует 204.0 196.0, но когда я использую это в -r204x196, я все равно не получаю того результата, который искал. Это действительно странно, и я понятия не имею, почему это так, можно ли как-то отлаживать gsview, чтобы я мог видеть настройки, которые применяются при конвертации с помощью программного обеспечения? - person Joe; 25.05.2011
comment
@Joe: Как и КенС, я тоже не совсем понимаю, чего ты хочешь достичь. Не могли бы вы обновить свой вопрос, пожалуйста? Опишите каждый шаг, который вы используете при преобразовании файла с помощью Ghostview. Затем мы можем сказать вам, какую команду использовать с Ghostscript для достижения точно такого же результата. Также укажите: Какую версию Ghostscript вы используете? - У вас установлены разные версии Ghostscript? - Какая у вас операционная система? - Какую версию Ghostview вы используете? - person Kurt Pfeifle; 25.05.2011
comment
Я отредактировал свой текст и записал, как я создаю файлы с помощью gsview и какие версии. :) - person Joe; 26.05.2011

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

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

person KenS    schedule 24.05.2011
comment
Я имею в виду, что в ghostsview, версии ghostscript с графическим интерфейсом, я могу установить разрешение, скажем, для tiffcrl на 72, 96, 204x196 и 204x98. Что я хочу, так это получить тот же результат, что и при установке разрешения 72 в ghostview, как при использовании Ghostsript gswin32c.exe. - person Joe; 24.05.2011
comment
Ghostview — это не версия Ghostscript с графическим интерфейсом, это отдельное приложение от Ghostgum Pty, которое использует Ghostscript. В Windows версия Ghostscript с графическим интерфейсом — gswin32, а версия командной строки — gswin32c. Если вам нужно разрешение 72 dpi, установите -r72 в командной строке GS. - person KenS; 24.05.2011
comment
Хорошо, я понимаю, но установка разрешения на -r72 по какой-то причине не помогает ... есть ли какие-либо другие переключатели параметров, которые необходимо установить? разрешение, которое я хочу, 4958x7017 - person Joe; 25.05.2011
comment
@Joe: AFAIU, под 4958x7017 вы имеете в виду размеры страницы в пунктах. Вы можете указать это, добавив -g4958x7017. - person Kurt Pfeifle; 25.05.2011

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

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

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

person Kurt Pfeifle    schedule 26.05.2011