Добавить команду PJL в файл PDF с кодом PHP

Как я могу вставить команду PJL в PDF без необходимости конвертировать PDF в PostScript

*STARTPJL
@PJL SET STAPLE=LEFTTOP
*ENDPJL

после того, как я отправлю его на принтер через FTP или LPR.

Я использую Zend_Pdf для создания PDF документов.

** Я безуспешно пытался этот код

$a .= "<ESC>%-12345X@PJL<CR><LF>";
$a .= "@PJL SET OUTBIN=OUTBIN101<CR><LF>";
$a .= "@PJL SET STAPLE=LEFTTOP<CR><LF>";
$a .= "@PJL ENTER LANGUAGE = PDF<CR><LF>";
$a .= file_get_contents("/www/zendsvr/htdocs/GDA/public/pdf/test.pdf");
$a .= "<ESC>%-12345X";

$myfile = fopen("/www/zendsvr/htdocs/GDA/public/pdf/t.pdf", "w");
fwrite($myfile, $a);
fclose($myfile);

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

5

Решение

Я не собираюсь объяснять, как достичь следующих пунктов с помощью PHP. Эти пункты просто объясняют наиболее важные основы, которые необходимо знать при работе с PJL и с PJL в отношении заданий на печать в формате PDF. Вы должны «перевести» эту общую информацию на PHP самостоятельно ….


Ты не можешь вставить Команды PJL в PDF. Но вы можете перед именем PJL команды для задания печати PDF.

Кроме того, это не имеет смысла делать это после Вы отправляете его на принтер через FTP или через LPR. Это имеет смысл, только если вы делаете это до отправка файла.

Далее, ваш пример кода PJL не подходит для большинства целей. Стандартный способ добавления строк PJL к файлу задания на печать PDF заключается в следующем:

<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

Пояснения:

  • Вот <ESC> обозначает побег персонаж (27 в десятичном виде, 1B в шестнадцатеричном виде).
  • <CR> обозначает возврат каретки персонаж (13 в декабре, 0D в шестнадцатеричном виде). это необязательный в пределах PJL.
  • <LF> обозначает перевод строки характер (10 в декабре, 0A в шестнадцатеричном виде). это требуется в пределах PJL.
  • <ESC>%-12345X обозначает «Универсальный выходной язык» команда (UEL). это требуется в пдж. Он определяет начало и конец любого потока данных на основе PJL.

И наконец, обратите внимание:

  1. Не все принтеры и не все службы печати LPR могут работать с заданиями на печать в формате PDF.

  2. Кроме того, не все принтеры и не все службы печати LPR могут выполнять команды PJL, которые предшествуют файлам заданий на печать.

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]