Я уже рассматривал такую задачу в заметке

сейчас же я хочу сделать это на 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. (Собственный опыт)

В CUPS сейчас два принтера

Под Windows 7 Pro SP1

  • Изготовитель: Generic
  • Принтер: MS Publisher Color Print

и нажимаю «ОК», установка данного виртуального устройства проходит успешно:

Установка виртуального принтера под Windows 7

Нажимаю «Далее», снимаю галочку «Использовать этот принтер по умолчанию» и нажимаю «Готово»

Проверяю, как идет печать и какой полученный 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Перехожу в него и я должен увидеть сформированный при печати документы его аналог в виде PDF документа

Сформированный PDF файлРаботает. Что и было задумано, а в последствии сделано. А в итоге я получил для себя новую пошаговую заметку что и как нужно сделать. На этом всё, с уважением автор блога Олло Александр aka ekzorchik.

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору. Также прошу на https://win.ekzorchik.ru https://lin.ekzorchik.ru https://net.ekzorchik.ru https://voip.ekzorchik.ru https;//home.ekzorchik.ru