在PHP中使用PCL和PJL打印PDF

时间:2016-02-22 19:24:16

标签: php pdf printing printer-control-language

我们的办公室里有一些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文件时丢失了设置......

任何人都有我的任何提示或可以纠正?我想我快到了......

1 个答案:

答案 0 :(得分:0)

将纸张类型设置为托盘选择的解决方法:

  

并非所有具有PDF直接打印功能的打印机都支持PJL mediasource指令;例如理光aficio打印机没有。   经过数周的挣扎,我终于设法获得理光所支持的有关PJL指令的理光手册。   理光支持@PJL SET MEDIATYPE = SPECIAL - 特殊纸张是为特定纸盘定义的。您可以为纸盘指定特定纸张类型,因此需要特定纸张才能使用特定纸盘。如果打印机配置正确(托盘需要设置为“自动选择”),这最终会有效。

来源:http://www.tachytelic.net/2010/10/hp-direct-pdf-printing-and-printer-tray-control/

我也对使用PJL包装pdf的无人驾驶打印感兴趣,并且还与理光打印机合作,请让我更新。 您正在使用Wich Ricoh模型吗?

TIA