Я уже рассматривал такую задачу в заметке
сейчас же я хочу сделать это на Raspberry Pi 3 Model B
Первым делом поднимаю сервис CUPS по заметке tips_raspberry_pi_3_cupsd_v1.odt после устанавливаю утилиту которая будет основой данного повествования:
pi@raspberrypi:~ $ sudo apt-get install cups-pdf -y
После чего нужен каталог где будут хранится формируемые PDF документы отправленные с виртуального устройства «PDF-принтер» локально на рабочим местах которые подключили данное устройства у себя по аналогии, как подключали принтер заведенный на CUPS:
pi@raspberrypi:~ $ sudo mkdir -p /media/usb/PDF
pi@raspberrypi:~ $ sudo chown pi:lpadmin /media/usb/PDF/
pi@raspberrypi:~ $ sudo chmod 777 /media/usb/PDF/
pi@raspberrypi:~ $ sudo cp /etc/cups/cups-pdf.conf /etc/cups/cups-pdf.conf.backup
pi@raspberrypi:~ $ sudo nano /etc/cups/cups-pdf.conf
#AnonDirName /var/spool/cups-pdf/ANONYMOUS
AnonDirName /media/usb/PDF
#Out ${HOME}/PDF
Out /media/usb/PDF
#Spool /var/spool/cups-pdf/SPOOL
Spool /media/usb/PDF
#TitlePref 0
TitlePref 1
pi@raspberrypi:~ $ cupsd -t
"/etc/cups/cups-files.conf" is OK.
"/etc/cups/cupsd.conf" is OK.
pi@raspberrypi:~ $ sudo service cups restart
На заметку: Текущий драйвер — Generic CUPS-PDF Printer
После перехожу на Web-страницу управления CUPS, затем во вкладку «Принтеры» и вижу, то сейчас под управлением сервиса два принтера:
- CabIT: https://10.7.9.161:631/printers/CabIT
- PDF: https://10.7.9.161:631/printers/PDF
На заметку: в Windows системе добавлять нужно по полному имени выше только без указания https, а только http. (Собственный опыт)
Под Windows 7 Pro SP1
- Изготовитель: Generic
- Принтер: MS Publisher Color Print
и нажимаю «ОК», установка данного виртуального устройства проходит успешно:
Нажимаю «Далее», снимаю галочку «Использовать этот принтер по умолчанию» и нажимаю «Готово»
Проверяю, как идет печать и какой полученный PDF документ:
Win + R → notepad.exe
privet blog http://www.ekzorchik.ru
Файл — Печать — выбираю устройство «PDF на http://10.7.9.161:631
» и нажимаю «Печать», вроде как документ формируется, но вот как его просмотреть на Windows 7?
См. логи сервиса CUPS-PDF:
pi@raspberrypi:~ $ sudo tail -f /var/log/cups/error_log
E [02/Sep/2017:09:23:18 +0300] [Client 11] Returning IPP client-error-not-authorized for Print-Job (http://10.7.9.161:631/printers/PDF) from 10.7.8.185
Ошибка означает что для этого устройства не включен «Совместный доступ». Чтобы это дело поправить заходит в панель управления https://IP&DNS:631/admin — нужный принтер, Обслуживание: Изменить принтер
, «Продолжить
» и ставим галочку: «Разрешить совместный доступ к этому принтеру
» и нажимаем «Продолжить», «Сохранить»
После чего снова отправляем документ на виртуальный принтер: «PDF на http://10.7.9.161:631
» и смотрю на Raspberry Pi 3 Model B появилось ли что-то в каталоге назначенном на сохранение преобразованных PDF документов:
pi@raspberrypi:~ $ ls /media/usb/PDF/
Безымянный_—_Блокнот.pdf
pi@raspberrypi:~ $ file /media/usb/PDF/Безымянный_—_Блокнот.pdf
/media/usb/PDF/Безымянный_—_Блокнот.pdf: PDF document, version 1.4
Отлично файл есть, но как же на Windows станции его посмотреть, есть решение нужно поднять сервис SAMBA:
pi@raspberrypi:~ $ sudo apt-get install samba -y
pi@raspberrypi:~ $ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup
pi@raspberrypi:~ $ sudo nano /etc/samba/smb.conf
server role = standalone server
# map to guest = bad user
map to guest = bad password
# опции относящиеся к printers & profiles & print комментирую посредством символа решетки «#» они не нужны
[pdf]
path = /media/usb/PDF
guest ok = yes
read only = no
create mask = 0777
directory mask = 0777
После не забываем сохранить внесенные изменения.
На заметку: если стоит map to guest = bad user
то будет запрос на ввод имени учетной записи и пароля, а для map to guest = bad password
такого запроса не будет.
Проверяю конфигурационный файл на ошибки прежде чем перезапускать сервис SAMBA:
pi@raspberrypi:~ $ sudo testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[homes]"
Processing section "[pdf]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Так нужно изменить значение rlimit_max:
pi@raspberrypi:~ $ sudo nano /etc/security/limits.conf
*<TAB><TAB>-<TAB>nofile<TAB>16385
Для принятия изменений нужно сделать Logoff & Logon текущей сессии к оси Raspbian.
Проверяю снова на наличии ошибок — ошибок нет.
Перезапускаю сервис SAMBA:
pi@raspberrypi:~ $ sudo service smbd restart
Теперь с Windows системы обращаюсь к IP или DNS миникомпьютера (если в локальной сети настроена службы DNS) и вижу каталог PDF.
Перехожу в него и я должен увидеть сформированный при печати документы его аналог в виде PDF документа
Работает. Что и было задумано, а в последствии сделано. А в итоге я получил для себя новую пошаговую заметку что и как нужно сделать. На этом всё, с уважением автор блога Олло Александр aka ekzorchik.