打印机是godex 的ez1105 经济型
标签打印机,使用这个打印机需要安装他的驱动以及使用相应的软件绘制条码进行打印,现在的需求是使用php对打印机进行打印内容的指定和打印操作,如何解决?除了php的方案,是否有其他的方式?
php_printer
<code><?php $handle = printer_open('Godex EZ-1105'); printer_start_doc($handle, "My Document"); printer_start_page($handle); $lfont = printer_create_font("Arial", 30,30, PRINTER_FW_BOLD, false, false, false, 0); printer_select_font($handle, $lfont); printer_set_option($handle, PRINTER_MODE, "RAW"); printer_set_option($handle, PRINTER_PAPER_FORMAT, PRINTER_FORMAT_CUSTOM); printer_set_option($handle,PRINTER_PAPER_WIDTH,42); printer_set_option($handle,PRINTER_PAPER_LENGTH,30); echo printer_get_option($handle,PRINTER_RESOLUTION_X); echo '<br ?>'; echo printer_get_option($handle,PRINTER_RESOLUTION_Y); echo "<br>"; echo 'format'.printer_get_option($handle,PRINTER_PAPER_FORMAT); echo "<br>"; echo "modal".printer_get_option($handle,PRINTER_MODE); echo "<br>"; echo "width".printer_get_option($handle,PRINTER_PAPER_WIDTH); printer_draw_text($handle, "Msup", 260, 0); printer_delete_font($lfont); printer_end_page($handle); printer_end_doc($handle); printer_close($handle); ?></code>
打印机是godex 的ez1105 经济型
标签打印机,使用这个打印机需要安装他的驱动以及使用相应的软件绘制条码进行打印,现在的需求是使用php对打印机进行打印内容的指定和打印操作,如何解决?除了php的方案,是否有其他的方式?
php_printer
<code><?php $handle = printer_open('Godex EZ-1105'); printer_start_doc($handle, "My Document"); printer_start_page($handle); $lfont = printer_create_font("Arial", 30,30, PRINTER_FW_BOLD, false, false, false, 0); printer_select_font($handle, $lfont); printer_set_option($handle, PRINTER_MODE, "RAW"); printer_set_option($handle, PRINTER_PAPER_FORMAT, PRINTER_FORMAT_CUSTOM); printer_set_option($handle,PRINTER_PAPER_WIDTH,42); printer_set_option($handle,PRINTER_PAPER_LENGTH,30); echo printer_get_option($handle,PRINTER_RESOLUTION_X); echo '<br ?>'; echo printer_get_option($handle,PRINTER_RESOLUTION_Y); echo "<br>"; echo 'format'.printer_get_option($handle,PRINTER_PAPER_FORMAT); echo "<br>"; echo "modal".printer_get_option($handle,PRINTER_MODE); echo "<br>"; echo "width".printer_get_option($handle,PRINTER_PAPER_WIDTH); printer_draw_text($handle, "Msup", 260, 0); printer_delete_font($lfont); printer_end_page($handle); printer_end_doc($handle); printer_close($handle); ?></code>
最终找到的一个可能的原因是,使用浏览器执行php 去访问打印机,应该会读取浏览器的打印配置(只是可能原因),在命令行中直接执行调用打印机的php脚本,可以正确进行打印,可以正确读取打印机的配置首选项。
另外:因为ez1105这款标签打印机是属于一个入门版的打印机,并且只能通过usb方式进行连接.
如果是网络打印机的话,可以使用socket直接进行通信
如果你的打印机支持esc pos指令集,可以使用这个库mike42/escpos-php
附:php_printer.dll扩展下载地址
最后感谢incNick同学给出的解决思路!
PHP连接打印机木有整过
有个JS控制打印机的 楼主可以参考下http://www.lodop.net/index.html
参考:https://segmentfault.com/q/1010000000476405/a-1020000000476544
另外,如果是WIFI或GPRS打印机,那一般都会有相应的PHP接口。
css就行,比如<style media="print"></style>
,这样打印机看到的是完全不同的内容了。自己搜索一下,这方面的例子应该挺常见的。