php实现打印票据
PHP 实现打印票据的方法
使用 PHP 直接生成打印内容
PHP 可以通过生成 HTML 或文本内容直接发送到打印机。使用 echo 或 print 输出内容,并通过浏览器打印功能实现。
<?php
// 示例:生成简单的票据内容
$content = "<h3>销售票据</h3>";
$content .= "<p>日期: " . date('Y-m-d H:i:s') . "</p>";
$content .= "<p>商品: 示例商品</p>";
$content .= "<p>金额: 100元</p>";
echo $content;
?>
调用浏览器打印功能
通过 JavaScript 的 window.print() 方法触发浏览器打印对话框。

<?php
$content = "<h3>销售票据</h3>";
$content .= "<p>日期: " . date('Y-m-d H:i:s') . "</p>";
$content .= "<script>window.print();</script>";
echo $content;
?>
使用 PHP 打印命令(Linux)
在 Linux 环境下,可以通过 exec 或 system 调用系统打印命令(如 lp)。
<?php
$content = "销售票据\n日期: " . date('Y-m-d H:i:s') . "\n金额: 100元";
file_put_contents('ticket.txt', $content);
exec('lp ticket.txt');
?>
使用第三方库(如 mPDF)
通过 mPDF 等库生成 PDF 文件并打印。

<?php
require_once __DIR__ . '/vendor/autoload.php';
$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML('<h3>销售票据</h3>');
$mpdf->Output('ticket.pdf', 'I'); // 在浏览器中打开并打印
?>
直接连接打印机(Windows)
在 Windows 环境下,可以通过 COM 组件连接打印机。
<?php
$content = "销售票据\n日期: " . date('Y-m-d H:i:s') . "\n金额: 100元";
$printer = new COM('WinPrint');
$printer->Write($content);
?>
使用 ESC/POS 指令打印
针对热敏打印机,可以使用 ESC/POS 指令直接控制打印机。
<?php
$printer = fopen("php://stdout", "w");
fwrite($printer, "\x1B@"); // 初始化打印机
fwrite($printer, "销售票据\n");
fwrite($printer, "\x1Bd3"); // 切纸
fclose($printer);
?>
注意事项
- 浏览器打印功能依赖用户操作,无法完全自动化。
- 系统打印命令需要服务器权限支持。
- 第三方库(如
mPDF)需要额外安装。 - ESC/POS 指令需根据打印机型号调整。






