>백엔드 개발 >PHP 튜토리얼 >printer扩展的一些使用疑问

printer扩展的一些使用疑问

WBOY
WBOY원래의
2016-06-23 14:04:591234검색

//phpinfo();exit;//打印机的名字,并初始化$handle = printer_open("EPSON LQ-735K ESC/P2");$name = "麻花藤";$address = "上海市虹梅路1801号";//转换格式,UTF8打出来乱码$name = iconv("UTF-8", "GBK", $name);$address = iconv("UTF-8", "GBK", $address);//手动设置纸张的长宽,但这步没启作用,纸张还是按照A4的大小在进行打印printer_set_option($handle,PRINTER_PAPER_FORMAT,PRINTER_FORMAT_CUSTOM);printer_set_option($handle,PRINTER_PAPER_WIDTH,320);printer_set_option($handle,PRINTER_PAPER_LENGTH,250);//开启文档printer_start_doc($handle, "Print"); // Name Document//打印次数,其实上面printer_set_option也有参数,但也没起作用for($i=1;$i<=2;$i++){	printer_start_page($handle);	printer_draw_text($handle, $name.$i.$i.$i,150,150);	printer_draw_text($handle, $address.$i.$i.$i,250,250);	printer_end_page($handle);  //	//打印图片	//printer_start_page($handle); // Start Logo	//printer_draw_bmp($handle, "c:\\logo.bmp", 60, 0);  // Logo Dir, lenght H , With V	//printer_end_page($handle);  // End Logo}printer_end_doc($handle);   // Close document printer_close($handle);     // Close Pritner

printer_set_option这步并没有起作用,还是按照A4的规格在打印,我想自己自定义规格。不知道哪位大神用过这个扩展,指教一下。(控制面板里的打印机默认的规格我也已经改成自定义的规格了,但还是按照A4的规格在打印)


回复讨论(解决方案)

先验证一下那些常量的值是否符合你所使用的打印机所支持的命令字的值

先验证一下那些常量的值是否符合你所使用的打印机所支持的命令字的值
请问应该如何验证呀?printer_set_option这个函数我试了下其他参数,也没作用。

你看看你的打印机程序员手册,所有的打印机控制指令都是 Esc 引导的一个字符串

去官网看了看,发现有人说这个问题是printer.dll的问题,里面有BUG导致printer_set_option失效,不知道真伪~但google了2天都没发现解决办法,果断转投js,发现window.print()果然强大,解决了我的问题。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.