пятница, 24 июля 2009 г.

Печать в PDF

Для печати в файл PDF, на компьютерах под управлением Линукс, можно использовать специальную компоненту для CUPS, под названием CUPS-PDF. 

Для установки и настройки виртуального принтера необходимо проделать следующее:

Установить из репозитория пакет cups-pdf:
$sudo urpmi cups-pdf

Изменить в /etc/cups/cupsd.conf запись:
RunAsUser Yes
на
RunAsUser No
В моём случае, на Mandiva 2009.1, записи RunAsUser в файле конфигурации вообще не было и добавление её никак не повлияло на работу CUPS. Думаю эту операцию стоит провести в случае возникновения проблем.

Перезагрузить подсистему печати:
sudo service cups restart

Добавть новый принтер, я обычно это делаю через родную панель управления CUPS доступную по адресу https://localhost:631
Administration->Add Printer, указать название принтера, его расположение и описание, например: "PDF Printer", “Local Printer”, “Печать в PDF”. На следующем этапе выбрать из списка устройство: "CUPS-PDF (Virtual PDF Printer). Далее указать производителя "Generic" и затем драйвер "Generic CUPS-PDF Printer".

После этого в системе будет доступен новый принтер, при выводе печати на который создается файл формата PDF в указанном каталоге, по умолчанию это домашняя директория или рабочий стол пользователя. Эти файлы получают название в соответствии с названием задания на печать, из-за этого я столкнулся с проблемой такого рода: например, при печати страниц из браузера Opera, все файлы выводятся с одним и тем-же именем, заменяя прежние, поэтому приходится сразу после печати переносить файл в другое место или переименовывать его.

Для изменения пути сохранения файлов PDF следует в файле /etc/cups/cups-pdf.conf изменить ключ Out.
Для указания пути применяются следующие переменные:

  • ${HOME} - домашняя папка пользователя
  • ${USER} - имя пользователя
  • ${DESKTOP} - путь к рабочему столу пользователя

Например, можно указать путь к сохранению фалов таким образом:
Out /var/spool/cups-pdf/${USER}
или
Out ${HOME}/cups-pdf