В вашем вопросе не указана ОС, с которой вы работаете. Мой ответ для Debian 9.6 и для сети -подключенной Kyocera FS -1350DN, которая указана для обработки «PDF Direct print». Чашкам не должно не нужно вмешиваться в PDF-файлы -.
Чтобы узнать это, вы должны включить отладку чашек -. К сожалению,cupsctl --debug-logging
(с правами root )не удалось выполнить с сообщением об ошибке cupsctl: Forbidden
. После установки LogLevel debug
в файле /etc/cups/cupsd.conf и перезапуска cupsd я отправил задание на печать с lpr scale.pdf
. Файл содержал линейную графику из программы САПР (без оттенков серого )и печатался в масштабе 100%.
Соответствующие строки (300 всего для задания )в /var/log/cups/error _чтение журнала:
⋮
D [11/Dec/2018:17:50:02 +0100] [Job 319] Request file type is application/pdf.
⋮
D [11/Dec/2018:17:50:02 +0100] [Job 319] 3 filters for job:
D [11/Dec/2018:17:50:02 +0100] [Job 319] pdftopdf (application/pdf to application/vnd.cups-pdf, cost 66)
D [11/Dec/2018:17:50:02 +0100] [Job 319] pdftops (application/vnd.cups-pdf to application/vnd.cups-postscript, cost 100)
D [11/Dec/2018:17:50:02 +0100] [Job 319] - (application/vnd.cups-postscript to printer/fs1350, cost 0)
⋮
I [11/Dec/2018:17:50:02 +0100] [Job 319] Started filter /usr/lib/cups/filter/pdftopdf (PID 16570)
I [11/Dec/2018:17:50:02 +0100] [Job 319] Started filter /usr/lib/cups/filter/pdftops (PID 16571)
I [11/Dec/2018:17:50:02 +0100] [Job 319] Started backend /usr/lib/cups/backend/socket (PID 16572)
⋮
D [11/Dec/2018:17:50:02 +0100] [Job 319] pdftops - copying to temp print file \"/tmp/040bb5c158ce7\"
⋮
D [11/Dec/2018:17:50:02 +0100] [Job 319] PID 16570 (/usr/lib/cups/filter/pdftopdf) exited with no errors.
⋮
D [11/Dec/2018:17:50:02 +0100] [Job 319] 319 h scale.pdf 1 \'finishings=3 job-uuid=urn:uuid:045216b6-e2e0-34ee-50af-36c3bdbdc04f job-originating-host-name=192.168.0.2 date-time-at-creation= date-time-at-processing= time-at-creation=1544547002 time-at-processing=1544547002 document-name-supplied=scale.pdf\'
⋮
D [11/Dec/2018:17:50:02 +0100] [Job 319] Running command line for gs: gs -q -dNOPAUSE -dBATCH -dSAFER -dNOMEDIAATTRS -sDEVICE=ps2write -sOUTPUTFILE=%stdout -dLanguageLevel=3 -r1200 -dCompressPages=false -dCompressFonts=false -dNoT3CCITT -dNOINTERPOLATE -c \'save pop\' -f /tmp/040bb5c158ce7
D [11/Dec/2018:17:50:02 +0100] [Job 319] Started filter gs (PID 16577)
D [11/Dec/2018:17:50:02 +0100] [Job 319] Started post-processing (PID 16578)
⋮
D [11/Dec/2018:17:50:02 +0100] [Job 319] Started filter pstops (PID 16579)
⋮
D [11/Dec/2018:17:50:02 +0100] [Job 319] %!PS-Adobe-3.0
D [11/Dec/2018:17:50:02 +0100] [Job 319] %%BoundingBox: 0 0 595 842
D [11/Dec/2018:17:50:02 +0100] [Job 319] %%HiResBoundingBox: 0 0 595.00 842.00
D [11/Dec/2018:17:50:02 +0100] [Job 319] %%Creator: GPL Ghostscript 920 (ps2write)
D [11/Dec/2018:17:50:02 +0100] [Job 319] %%LanguageLevel: 2
D [11/Dec/2018:17:50:02 +0100] [Job 319] %%CreationDate: D:20181211175002+01\'00\'
D [11/Dec/2018:17:50:02 +0100] [Job 319] %%Pages: 1
D [11/Dec/2018:17:50:02 +0100] [Job 319] %%EndComments
⋮
D [11/Dec/2018:17:50:02 +0100] [Job 319] PID 16577 (gs) exited with no errors.
⋮
D [11/Dec/2018:17:50:02 +0100] [Job 319] PID 16578 (Post-processing) exited with no errors.
⋮
D [11/Dec/2018:17:50:02 +0100] [Job 319] PID 16579 (pstops) exited with no errors.
⋮
D [11/Dec/2018:17:50:02 +0100] [Job 319] PID 16571 (/usr/lib/cups/filter/pdftops) exited with no errors.
⋮
Строка, содержащая - (application/vnd.cups-postscript to printer/fs1350, cost 0)
, говорит вам, что cups использует пост -процессор (, также известный как драйвер принтера )/etc/cups/ppd/fs1350.ppd. Другой вид того же процесса можно получить с помощью команды ps
-. выдержка вывода
while true ; do date +'%N'>> log; ps axSfu | fgrep -v grep | egrep '^lp[[:space:]]|/usr/sbin/cupsd' >> log ; done
что
⋮
root 15796 0.1 0.1 171440 8536 ? Ssl 17:49 0:00 /usr/sbin/cupsd -l
lp 16571 0.0 0.0 77632 5728 ? S 17:50 0:00 \_ fs1350 319 h scale.pdf 1 finishings=3 number-up=1 job-uuid=urn:uuid:045216b6-e2e0-34ee-50af-36c3bdbdc04f job-originating-host-name=192.168.0.2 date-time-at-creation= date-time-at-processing= time-at-creation=1544547002 time-at-processing=1544547002 document-name-supplied=scale.pdf
lp 16577 0.0 0.2 129760 20836 ? R 17:50 0:00 | \_ gs -q -dNOPAUSE -dBATCH -dSAFER -dNOMEDIAATTRS -sDEVICE=ps2write -sOUTPUTFILE=%stdout -dLanguageLevel=3 -r1200 -dCompressPages=false -dCompressFonts=false -dNoT3CCITT -dNOINTERPOLATE -c save pop -f /tmp/040bb5c158ce7
lp 16578 0.0 0.0 77632 924 ? S 17:50 0:00 | \_ fs1350 319 h scale.pdf 1 finishings=3 number-up=1 job-uuid=urn:uuid:045216b6-e2e0-34ee-50af-36c3bdbdc04f job-originating-host-name=192.168.0.2 date-time-at-creation= date-time-at-processing= time-at-creation=1544547002 time-at-processing=1544547002 document-name-supplied=scale.pdf
lp 16579 0.0 0.0 75424 5288 ? S 17:50 0:00 | \_ fs1350 319 h scale.pdf 1 finishings=3 job-uuid=urn:uuid:045216b6-e2e0-34ee-50af-36c3bdbdc04f job-originating-host-name=192.168.0.2 date-time-at-creation= date-time-at-processing= time-at-creation=1544547002 time-at-processing=1544547002 document-name-supplied=scale.pdf
lp 16572 0.0 0.0 79792 5900 ? S 17:50 0:00 \_ socket://fs1350.xxxx.xxxx.xxx 319 h scale.pdf 1 finishings=3 number-up=1 job-uuid=urn:uuid:045216b6-e2e0-34ee-50af-36c3bdbdc04f job-originating-host-name=192.168.0.2 date-time-at-creation= date-time-at-processing= time-at-creation=1544547002 time-at-processing=1544547002 document-name-supplied=scale.pdf
⋮
говорит нам, что cups
вызывает предварительный фильтр (pdftops, PID 16571, названный здесь fs1350 )и бэкэнд (PID 16572, названный socket ://fs1350.xxxx.xxxx.xxx здесь ). Предварительный фильтр вызывает gs
. Поскольку вся обработка занимает менее 0,2 с, имеет смысл собрать вывод в файл. date +'%N'
здесь только для того, чтобы получить представление о времени.
Нежелательное масштабирование с помощью evince (, о котором я писал в своем комментарии ), произошло потому, что evince→Print→Print Setup→Scale→100%
был молча перезаписан с помощью evince→Print→Page Handling→Fit to Printable Area
. Так что проверяйте свои клиенты печати с большой осторожностью.
Увы, это еще не все. Чтобы обойти чашки и использовать функцию «Прямая печать PDF» принтера, я отправил файл напрямую :nc fs1350.xxxx.xxxx.xxx 9100 < scale.pdf
. После более чем 10 минут обработки принтер отправил бумагу.
Необработанная печать с использованием netcat, цифры отражают размер в миллиметрах.
Распечатка с помощью lpr→cups
Растровое изображение файла (1200 dpi)
Независимо от настройки принтера «Переопределить A4/LT», масштаб необработанной печати составляет 97,7%, в то время как масштаб печати lpr→cups в порядке. Для необработанного отпечатка небольшое растискивание, тогда как отпечаток lpr→cups получается немного скудным.
Уменьшение размера страницы чертежа перед необработанной печатью привело к увеличению масштаба.
Короткий ответ: вы не можете, потому что icecast — это система потоковой передачи аудио, а не сервер потоковой передачи видео.