最近遇到需求,需要使用php控制公司的一个标签打印机,实时的去打印数据库中的一些信息,了解到可以在Windows下使用php_printer这个扩展进行操作,安装配置好之后,可以打印,但是一个问题有时,无法通过printer_set_option设置纸张的大小,无论设置与否都读取默认的101mm*101mm的纸张大小 所以打印出了很多的空白页。标签很小只有40mm*30mm,请教了解php_printer的同学指点迷津!下面 是主要的代码:
$handle = printer_open('Godex EZ-1105');
printer_start_doc($handle, "My");
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_ORIENTATION, PRINTER_ORIENTATION_LANDSCAPE);
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);
// printer_set_option($handle,PRINTER_TEXT_ALIGN,PRINTER_TA_TOP);printer_draw_text($handle, "MSUP...", 260, 0);
printer_delete_font($lfont);printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);

解决方案 »

  1.   


    因为现场的签到系统  是PHP开发的,所以要在签到成功打印客户的信息,用php_printer这个扩展可以做到直接控制打印机,但是遇到无法设置paper format 的尴尬问题,机会看遍了google 和stackoverflow上所有相关的内容,都没有能够解决,蛋筒ing
      

  2.   

    php 是基本于web开发使用的,试试直接更改浏览器的打印页面纸张大小设置
      

  3.   

    楼主我使用printer_open这个函数控制打印机打印的时候出现