GhostscriptЭто невероятно важная программа
для печати в Linux. Большинство печатающего программного обеспечения
под Unix генерирует PostScript, поддержка которого принтером
обходится примерно в $100 долларов на каждый принтер. Тем не
менее Ghostscript, является свободным и генерирует вывод на языке
вашего принтера из PostScript. Когда он связан с входным фильтром
вашего lpd
, это дает вам виртуальный PostScript-принтер и
значительно упрощает жизнь.
Ghostscript доступен в двух формах. Коммерческая версия Ghostscript, называемая Aladdin Ghostscript, mможет быть использована свободно для персонального использования, но не может распространяться с коммерческими дистрибутивами Linux. В общем она примерно на год впереди свободной версии Ghostscript; в настоящее время, например, она поддерживает много цветных струйных принтеров, в то время как старый Ghostscripts не делает этого.
Свободная версия Ghostscript называется GNU Ghostscript, и это просто устаревшая версия Aladdin Ghostscript любезно предоставленная для GNU. (Спасибо славному Aladdin за эту договоренность; больше производителей программного обеспечения должны поддерживать свободное программное обеспечение этим способом, если они не могут сделать распространение кода в терминах GPL).
Что бы вы не делали с
gs
, будьте
уверены что запускаете его с опцией запрещающей доступ к файлам
(-dSAFER
). PostScript это полнофункциональный язык, и плохая
программа на PostScript может доставить вам достаточно неприятностей.
Честно говоря разговор на PDF, (Формате Переносимого Документа Adobe) это в действительности чуть больше чем организованный PostScript в сжатом файле. Ghostscript может обрабатывать ввод в PDF также как это делает с PostScript. Так вы можете быть первым в вашем квартале с принтером имеющим возможность обработки PDF.
Обычно ghostscript будет запускаться magic-фильтром, которым вы пользуетесь (Я рекомендую пакет apsfilter, если ваш поставщик не поставил вам этот пакет), но для целей отладки очень часто удобно запускать его прямо.
gs -help
даст вам коротки, информативный список опций и
доступных драйверов (заметим, что этот список является списком
вкомпилированных драйверов, не основным списком доступных
драйверов).
Вы можете запустить gs для тестирования примерно так: gs
options -q -dSAFER -sOutputFile=/dev/lp1 test.ps
.
Существует набор вещей которые вы можете сделать если вывод gs не удовлетворителен (пожалуйста вы можете латать что угодно, поскольку вы имеете исходные тексты).
Расположение, размер и коэффициент сжатия изображения на странице контролируются принтер-специфичным драйвером в ghostscript. Если вы обнаружили, что ваши страницы получаются слишком короткими, или слишком длинными или со слишком большим фактором увеличения, вы можете посмотреть в исходный код модуля драйвера и выровнять необходимые для вас параметры. К сожалению каждый драйвер написан по разному, так что я не могу сказать что исправлять, но большинство из них довольно неплохо прокоментированы.
Большинство не лазерных принтеров страдают от факта, что их
точки немного больше. В результате картинки получаются слишком
темными. Если вы страдаете от этой проблемы, то вы должны
использовать свою собственную функцию переноса. Просто создайте
следующий файл в директории lib
ghostscript и добавьте
его имя в вызов gs перед именем нужного файла. Вам может быть
необходимо поиграть со значениями для настройки на ваш
принтер. Более низкие значения дают более яркую печать. Особенно
если ваш драйвер использует алгоритм Floyd-Steinberg для
растеризации цветов, то более низкие значения (0.2 - 0.15)
вероятно будут хорошим выбором.
---8<---- gamma.ps ----8<---
%!
%transfer functions for cyan magenta yellow black
{0.3 exp} {0.3 exp} {0.3 exp} {0.3 exp} setcolortransfer
---8<------------------8<---
Также возможно чинить принтера, которые имеют некоторый сорт проблем с цветом с помощью подбора значений указанных выше. Если у вас есть такая проблема, я рекомендую вам использовать файл colorcir.ps, который идет вместе с ghostscript (в поддиректории examples/), как тестовую страницу.
Для многих драйверов современных струйных принтеров существуют опции командной строки, или отдельный файлы upp для драйверов, которые реализуют изменения гаммы и других параметров и адаптируют принтер для разных типов бумаги. Вы должны заглянуть в них, до экспериментирования с Postscript, для того чтобы исправить проблемы.