Heim >Backend-Entwicklung >PHP-Tutorial >谁熟悉php_printer如何使用php操作连接到windows的打印机?

谁熟悉php_printer如何使用php操作连接到windows的打印机?

WBOY
WBOYOriginal
2016-06-06 20:06:151625Durchsuche

打印机是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_printer如何使用php操作连接到windows的打印机?

回复内容:

打印机是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_printer如何使用php操作连接到windows的打印机?

最终找到的一个可能的原因是,使用浏览器执行php 去访问打印机,应该会读取浏览器的打印配置(只是可能原因),在命令行中直接执行调用打印机的php脚本,可以正确进行打印,可以正确读取打印机的配置首选项。

另外:因为ez1105这款标签打印机是属于一个入门版的打印机,并且只能通过usb方式进行连接.

  1. 如果是网络打印机的话,可以使用socket直接进行通信

  2. 如果你的打印机支持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>,这样打印机看到的是完全不同的内容了。自己搜索一下,这方面的例子应该挺常见的。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn