在PHP中使用PCL和PJL打印PDF

在PHP中使用PCL和PJL打印PDF,php,pdf,printing,printer-control-language,Php,Pdf,Printing,Printer Control Language,我们办公室里有一些理光打印机,我们希望使用一个简单的插座从php打印,但有些文档是预打印的,位于纸盘2中。默认纸张位于纸盘1中。我希望能够选择使用PJL PDF和PJL PCL语言组合的打印机托盘。有人有想法吗?我在论坛上发现: <ESC>%-12345X@PJL<CR><LF> @PJL SET STAPLE=LEFTTOP<CR><LF> @PJL [... more PJL commands if required ...]

我们办公室里有一些理光打印机,我们希望使用一个简单的插座从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
%-12345X@PJL
@PJL设置装订=左上
@PJL[…更多PJL命令(如果需要)…]
@PJL输入语言=PDF
[…PDF文件的所有字节,以“%PDF-1”开头。…]
[…PDF文件的所有字节]
[…PDF文件的所有字节]
[…PDF文件的所有字节,以“%%EOF”结尾]
%-12345X
它打印我的pdf,但是当我添加

@PJL ENTER LANGUAGE = PCL<CR><LF>
<ESC>&l1H <CR><LF>
@PJL输入语言=PCL
&l1H
围绕着代码。 我得到了一些奇怪的结果。。。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
%-12345X@PJL
@PJL输入语言=PCL
&l1H
%-12345X@PJL
@PJL设置装订=左上
@PJL[…更多PJL命令(如果需要)…]
@PJL输入语言=PDF
[…PDF文件的所有字节,以“%PDF-1”开头。…]
[…PDF文件的所有字节]
[…PDF文件的所有字节]
[…PDF文件的所有字节,以“%%EOF”结尾]
%-12345X
然而,这再次从纸盘1打印文件,似乎在尝试打印pdf文件时丢失了设置


有没有人能给我一些提示或者帮我改正?我想我快到了…

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

并非所有具有PDF直接打印功能的打印机都支持PJL mediasource指令;e、 理光aficio打印机没有。 经过数周的努力,我终于找到了理光支持的有关PJL指令的手册。 理光支持@PJL SET MEDIATYPE=SPECIAL–SPECIAL是为特定纸盘定义的纸张。您可以为纸盘指定特定的纸张类型,因此需要特定的纸张会导致使用特定的纸盘。如果打印机配置正确(纸盘需要设置为“自动选择”),最终可以正常工作

资料来源:

我还对使用PJL包装pdf的无人驾驶打印感兴趣,并与理光打印机合作,plase保持我的更新。 你和哪位理光模特合作


TIA

是的,这就是我解决这个问题的方法,我们使用理光mp c3003。在打印机的“设置”窗格下,我在纸盘2上添加了特殊纸张类型(带有纸张设置),并使用@PJL SET MEDIATYPE=special这是哪种品牌的打印机?因为这取决于它。佳能:
@PJL COMMENT CANPJL SET stude=ONEUPLEFT
理光:
@PJL SET stude=LEFTTOP
嗨,我在回答中评论道,这是理光mp c3003