ПЕЧАТЬ PDF с использованием PCL И PJL в PHP

у нас есть несколько принтеров ricoh в наших офисах, и мы хотим печатать с php, используя простой сокет, но некоторые документы предварительно распечатаны и находятся в лотке 2, листы по умолчанию находятся в лотке 1. я хочу иметь возможность выбирать лоток этого принтера, используя комбинацию языков PJL PDF и PJL PCL. у кого-нибудь есть идея, может быть? я нашел это на форуме:

<ESC>%-12345X@PJL<CR><LF>
@PJL SET STAPLE=LEFTTOP<CR><LF>
@PJL    [... more PJL commands if required ...]
@PJL ENTER LANGUAGE = PDF<CR><LF>
[... all bytes of the PDF file, starting with '%PDF-1.' ...]
[... all bytes of the PDF file ............................]
[... all bytes of the PDF file ............................]
[... all bytes of the PDF file, ending with '%%EOF' .......]
<ESC>%-12345X

он печатает мой PDF, однако, когда я добавляю

@PJL ENTER LANGUAGE = PCL<CR><LF>
<ESC>&l1H <CR><LF>

вокруг этого кода. я получаю некоторые странные результаты ... 1 pdf разбивается на 5 статей, не содержащих ничего, кроме потоковых данных (странные знаки).

поэтому я сделал следующее

<ESC>%-12345X@PJL<CR><LF>
@PJL ENTER LANGUAGE = PCL<CR><LF>
<ESC>&l1H <CR><LF>
<ESC>%-12345X@PJL<CR><LF>
@PJL SET STAPLE=LEFTTOP<CR><LF>
@PJL    [... more PJL commands if required ...]
@PJL ENTER LANGUAGE = PDF<CR><LF>
[... all bytes of the PDF file, starting with '%PDF-1.' ...]
[... all bytes of the PDF file ............................]
[... all bytes of the PDF file ............................]
[... all bytes of the PDF file, ending with '%%EOF' .......]
<ESC>%-12345X

однако это снова распечатало файл из лотка 1, кажется, что он потерял настройки при попытке распечатать файл PDF ...

кто-нибудь получил какие-либо советы для меня или может сделать исправление? я думаю, что я почти там...


person user1002761    schedule 22.02.2016    source источник
comment
Какая марка принтера? Потому что это зависит от него. Канон: @PJL COMMENT CANPJL SET STAPLE=ONEUPLEFT Ricoh: @PJL SET STAPLE=LEFTTOP   -  person Sandburg    schedule 10.09.2018
comment
Привет, я прокомментировал в ответе, это был ricoh mp c3003   -  person user1002761    schedule 11.09.2018


Ответы (1)


Установите тип бумаги в качестве временного решения для выбора лотка:

Не все принтеры с функцией прямой печати PDF поддерживают инструкцию источника носителя PJL; например Принтеры Ricoh aficio этого не делают. После нескольких недель борьбы мне наконец удалось получить руководства Ricoh, касающиеся инструкций PJL, поддерживаемых Ricoh. Ricoh поддерживает параметр @PJL SET MEDIATYPE=SPECIAL — специальная — это бумага, определенная для определенного лотка. Вы можете назначить определенный тип бумаги для лотка, поэтому при использовании определенного типа бумаги будет использоваться определенный лоток. И при условии, что принтер правильно настроен (лотки должны быть настроены на «автоматический выбор»), это, наконец, работает.

Источник: http://www.tachytelic.net/2010/10/hp-direct-pdf-printing-and-printer-tray-control/

Я также заинтересован в печати без драйверов с использованием PJL для переноса PDF, а также в работе с принтерами Ricoh, пожалуйста, держите меня в курсе. С какими моделями Ricoh вы работаете?

ТИА

person Nomada    schedule 02.03.2016
comment
Да, именно так я и работал с этим, мы используем ricoh mp c3003. На панели настроек принтера я добавил специальный тип бумаги (с настройками бумаги) на лоток 2 и использовал @PJL SET MEDIATYPE=SPECIAL - person user1002761; 03.03.2016