【问题标题】:PHP printer not printing on a new linePHP打印机没有在新行上打印
【发布时间】:2018-01-15 00:55:48
【问题描述】:

我正在将 80 毫米热敏打印机连接到我的 Windows 服务器,它工作得很好,但是当文本长于页面宽度时,其余文本会消失而不是移动到下一个自动行。这是我的代码

$handle = printer_open("POS"); 
printer_set_option($handle, PRINTER_PAPER_FORMAT, PRINTER_FORMAT_CUSTOM);
printer_set_option($handle, PRINTER_PAPER_WIDTH, "80");
printer_set_option($handle, PRINTER_MODE, "RAW");
printer_start_doc($handle, "My Document");
printer_start_page($handle);
$font = printer_create_font("Arial", 40, 30, 400, false, false, false, 0);
printer_select_font($handle, $font);
printer_draw_text($handle, $lipsum, 10, 10);
printer_delete_font($font);
printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);

【问题讨论】:

  • 这只是一个猜测,但请尝试删除 80 左右的引号,例如 printer_set_option($handle, PRINTER_PAPER_WIDTH, 80); - 因为查看此 docs.php.net/manual/da/function.printer-set-option.php 的手册,其中一个选项显示不带引号的整数 printer_set_option($handle, PRINTER_SCALE, 75); 给那是一个漩涡。
  • $handle = printer_open("POS"); 确保在控制面板中为此选择了正确的打印机及其板载选项。

标签: php printing thermal-printer


【解决方案1】:
try this: 

$handle = printer_open("POS"); 
printer_set_option($handle, PRINTER_PAPER_FORMAT, PRINTER_FORMAT_CUSTOM);
printer_set_option($handle, PRINTER_PAPER_WIDTH, "80");
printer_set_option($handle, PRINTER_MODE, "RAW");
printer_start_doc($handle, "My Document");
printer_start_page($handle);
$font = printer_create_font("Arial", 40, 30, 400, false, false, false, 0);
printer_select_font($handle, $font);



printer_draw_text($handle, 'TEST 1', 10, 10);
printer_draw_text($handle, 'TEST 2', 10, 40);
printer_draw_text($handle, 'TEST 3', 10, 70);



printer_delete_font($font);
printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-05
    • 2012-10-05
    • 1970-01-01
    • 2021-02-22
    相关资源
    最近更新 更多