Уж не знаю почему, но evince не может отправить на сетевой принтер PDF. Решение для себя я нашёл такое: в "~/.gnome2/nautilus-scripts
" создал файл "Printing_a_PDF
" следующего содержания:
#!/bin/bash for FILENAME in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS do file $FILENAME | grep -qi 'PDF'; if [ $? -eq 0 ]; then zenity --info --text="Печатаем $FILENAME" tmp=$(tempfile) printer=$(LANG=C lpstat -d | sed 's/^[^:]*: \(.*\)$/\1/') trap "rm -f -- \"$tmp\"" EXIT pdftops $FILENAME $tmp lpr -P $printer $tmp rm -f -- "$tmp" trap - EXIT else zenity --info --text="$FILENAME не является PDF. Печать отменена." fi done
Это решение сформирует нам элемент в контекстном меню ("Scripts
", "Printing_a_PDF
"), с помощью которого можно отправить один или несколько выделенных PDF на принтер по-умолчанию. Если файл не является PDF, будет выведено соответствующее уведомление и печать будет отменена.
Основной код этот:
pdftops $FILENAME $tmp lpr -P $printer $tmp
Первая команда преобразует PDF в PostScript-файл, который готов к отправке на принтер любыми доступными нам средствами. А вторая команда, собственно, и отправляет подготовленный PostScript-файл на принтер. Эти две команды достаточны, если необходимо отправить PDF на принтер из командной строки.