Peach-Printer Web 打印服务解决方案
系统介绍
Peach-Print是一套Web打印服务解决方案。打印后台组件基于JAVA平台;能适应各种操作系统的开发需求。支持预览、直接打印、导出PDF等功能,支持打印HTML,支持Table标签表头表尾分页;模版设计器操作简单方便,方便系统使用人员实现自主报表打印。
下载使用
控件下载
下载地址1: 百度网盘
下载地址2: CSDN
在线编辑器下载
设计器
打印模版有两种布局打印模版、表格打印模版(正在研发中)
- 布局打印模版:
通过拖拉拽的方式布局打印元素,目前支持的打印元素有线条、文本、图片、条码、二维码、HTML

完成模版布局后点击【代码】按钮生成模版JSON字符串,web应用可根据实际替换模版中文本内容、图片Base64字节码、条码二维码值域,以及动态生成的HTML片段;

html元素在打印时控件可根据尺寸进行分页,其他元素则会在每页重复显示。
文本框元素可显示 系统变量: ${pageCount}(总页数), ${pageNum}(当前页数), ${now}(当前时间格式:yyyy-MM-dd HH:mm:ss), ${date}(当前日期格式:yyyy-MM-dd)
- 表格打印模版:(略)
控件调用
js代码与打印控件交互使用http协议,网页通过向本地控件发送post请求,调用控件打印。下面提供了原生JS的调用方式供大家参考使用。
打印预览
1 var template = {};//模版json字符串 2 var xhr = new XMLHttpRequest(); 3 xhr.open("POST", "http://localhost:9523/preview", true); 4 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8") 5 xhr.addEventListener("readystatechange", function() { 6 if (this.readyState === 4 ) { 7 console.log(this.responseText); 8 } 9 }); 10 xhr.send("template="+JSON.stringify(template));
直接打印
1 var template = {};//模版json字符串 2 var xhr = new XMLHttpRequest(); 3 xhr.open("POST", "http://localhost:9523/print", true); 4 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8") 5 xhr.addEventListener("readystatechange", function() { 6 if (this.readyState === 4 ) { 7 console.log(this.responseText); 8 } 9 }); 10 xhr.send("template="+JSON.stringify(template));
下载PDF文件
1 var template = {};//模版json字符串 2 var xhr = new XMLHttpRequest(); 3 xhr.open("POST", "http://localhost:9523/loadpdf", true); 4 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8") 5 xhr.responseType = "blob"; //返回类型blob 6 xhr.addEventListener("readystatechange", function() { 7 if (xhr.readyState == 4 && xhr.status == 200) { 8 //从响应头中获取文件名 9 var defaultFileName = xhr.getResponseHeader("Content-Disposition").split(";")[1].split("filename=")[1]; 10 var filename = decodeURI(defaultFileName); //解码 11 // 数据在 this.response 保存 12 // excel 的 MIME 格式为 application/vnd.ms-excel 13 var blob = new Blob([this.response], { 14 type: "application/pdf" 15 }); 16 // 创建a链接 href链接地址 download为下载下来后文件的名称 17 var aa = document.createElement('a'); 18 aa.href = URL.createObjectURL(blob); 19 aa.innerHTML = 'a链接'; 20 aa.download = filename; 21 aa.style.display = 'none'; //隐藏a标签 直接调用a标签的点击事件 22 document.body.appendChild(aa); 23 aa.click(); 24 } 25 }); 26 xhr.send("template="+JSON.stringify(template));
联系作者
QQ:1050147920
邮箱:1050147920@qq.com

浙公网安备 33010602011771号