6

PDF を PostScript に変換せずに PJL コマンドを PDF に挿入する方法

*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);

ドキュメントは正しく印刷されますが、引き出しやクランプは変更されません。何か提案はありますか?

4

1 に答える 1

9

PHP で次の点を達成する方法については説明しません。これらのポイントは、PJL および PDF ベースの印刷ジョブに関する PJL を扱う際に理解しておくべき最も重要な基本事項を説明するものに過ぎません。この一般的な情報を自分で 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>は、エスケープ文字 ( 2710 進数、1B16 進数) を示します。
  • <CR>キャリッジ リターン文字 ( 1310進数、16 進数)を示し0Dます。PJL 内ではオプションです。
  • <LF>改行文字 ( 1010進数、16 進数)を示し0Aます。PJL 内で必要です。
  • <ESC>%-12345X'Universal Exit Language' コマンド (UEL)を示します。PJLでは必須です。PJL ベースのデータ ストリームの開始と終了を定義します。

最後に、次の点にご注意ください。

  1. すべてのプリンターおよびすべての LPR 印刷サービスが PDF ベースの印刷ジョブを処理できるわけではありません。

  2. また、すべてのプリンタおよびすべての LPR 印刷サービスが、印刷ジョブ ファイルの先頭に追加される PJL コマンドを受け入れるわけではありません。

于 2015-01-22T17:09:34.220 に答える