HttpPrinter是一款基于HTTP协议的跨平台Web打印解决方案,支持静默打印、远程控制及多格式输出(HTML/PDF/图片),适用于企业级报表打印等场景。其核心特点包括:
跨平台兼容:通过本地服务与Electron协作,规避浏览器安全限制,支持主流浏览器。
功能全面:支持纸张大小、边距等自定义配置,并可集成FastReport等报表工具。
易用性:仅需几行代码即可实现打印,无需安装插件或复杂配置。
传统方案(如Lodop)需安装控件且兼容性差,而HttpPrinter通过轻量API实现稳定输出。快速入门可参考官方文档或示例代码。
HttpPrinter快速配置清单(5分钟完成)
一、端口设置
启动本地服务
下载官方一键安装包或使用Electron工具部署本地服务。
默认端口通常为12345(以实际安装提示为准),可通过配置文件修改。
验证端口
在浏览器输入 http://localhost:端口号,确认服务返回欢迎页。
二、打印机参数配置
指定打印机名称
在控制面板查看打印机名称(如EPSON LQ-630K ESC/P2)。
代码中通过PrinterName参数指定:
javascript
Copy Code
{
"PrinterName": encodeURIComponent("您的打印机名称"),
"ReportName": "report.grf"
}
纸张与边距设置
支持自定义纸张大小、方向、边距等参数。
示例:
javascript
Copy Code
{
"PaperSize": "A4",
"Orientation": "Portrait",
"Margins": { "Top": 20, "Bottom": 20, "Left": 15, "Right": 15 }
}
三、核心API调用示例
javascript
Copy Code
// 打印PDF文件示例
async function printPdf() {
await fetch('http://localhost:12345/print/pdf', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
"PrinterName": "EPSON LQ-630K ESC/P2",
"ReportName": "invoice.pdf",
"Copies": 2
})
});
}
四、常见问题排查
端口冲突:修改config.json中的Port字段。
打印机未响应:检查名称是否与系统完全一致,或重启服务。
提示:完整参数列表请参考官方文档。