PHP调整字体大小打印到网络热敏打印机

时间:2013-03-17 17:40:31

标签: php printing epson thermal-printer

我有以下代码,就像从PHP打印到我的epson热敏打印机的魅力一样。我们用它在办公室结账时在办公室打印客户订单。我想改变字体大小,使它看起来像一个更真实的食谱。

以下是我使用的代码示例:

$texttoprint = "RECIPT TEXT \n NEXT LINE \n MORE STUFF";
$texttoprint = stripslashes($texttoprint);

$fp = fsockopen("192.168.192.168", 9100, $errno, $errstr, 10);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
fwrite($fp, "\033\100");
$out = $texttoprint . "\r\n";
fwrite($fp, $out);
fwrite($fp, "\012\012\012\012\012\012\012\012\012\033\151\010\004\001");
fclose($fp);
}

如果你能告诉我如何改变特殊线的字体大小,这将是惊人的。感谢

从我所读到的012/012是ESC / p代码,这里是手册的链接 - http://files.support.epson.com/pdf/general/escp2ref.pdf

但我不明白如何应用这个:

ESC E - SELECT BOLD FONT - C110

答案:

对于可能需要了解您需要的用户,我在python库中找到了答案(http://code.google.com/p/python-escpos/downloads/list

这是一个如何执行ESC代码的列表(在python库中找到它)http://sheepy121.webhost4life.com/ESC.txt

以下是所有ESC代码http://files.support.epson.com/pdf/general/escp2ref.pdf

的文档

以下是使用PHP printing to local Thermal Printer, does not work without networkname的代码。

快乐印刷

2 个答案:

答案 0 :(得分:1)

这是您理解本手册的更多任务。不知道你以前怎么做其余的事。

在本手册的第C3页,您将获得命令概述。 ESC E 是选择粗体字体的命令(详见第C110页)。您想要更改字体大小,因此您需要 ESC P ESC M ESC g

ESC 代表转义字符,ASCII表中的十进制索引27或十六进制1B或八进制33.将"\033P"放在字符串中以尝试,因为这是您包含的方式PHP String manual中包含八进制代码的特殊字符。

答案 1 :(得分:0)

使用php打印选项。您还可以更改字体大小和字体系列。

此处是示例php代码...

header('Content-Type: text/plain; charset=UTF-8');

$printer = "\\\\BALA\\EPSON TM-T88IV Receipt"; 

$handle = printer_open($printer);
printer_start_doc($handle,"Testpage");
printer_start_page($handle);
$font = printer_create_font("Arial", 20, 10, 700, false, false, false, 0);
$pen = printer_create_pen(PRINTER_PEN_DOT, 1, "000000");
printer_select_pen($handle, $pen);
printer_select_font($handle, $font);
printer_draw_text($handle, "welcome", 10, 10);

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