上面的实现适合在本地开发时,获取打印机并打印。当将项目部署在服务器时,如果服务器上没有安装打印机,会发现获取不到打印机。
因此可以通过前端来直接获取打印机。见另一篇文章。
vue结合Lodop前端实现打印机的获取及打印
https://editor.csdn.net/md?not_checkout=1&articleId=122932554
实现思路:
用Java调用本地打印机实现功能,将java程序打包成exe可执行文件,在本地注册表中新增URL协议,最后web端通过该协议实现启动本地exe程序进行打印
实现过程:
1、下载32位TSCActiveX.dll,并注册到windows环境中,指令为Regsvr32.exe TSCActiveX.dll 下载地址:https://download.csdn.net/download...
electron打印大概有两种:
第一种:通过window的webcontent对象,使用此种方式需要单独开出一个打印的窗口,可以将该窗口隐藏,但是通信调用相对复杂。
第二种:使用页面的webview元素调用打印,可以将webview隐藏在调用的页面中,通信方式比较简单。
两个对象调用打印方法的使用方式都一样。
本文是通过第二种方法实现静默打印。
作者:Danile_1226
链接:https://www.jianshu.com/p/cc0751955826
来源:简书
著作权归作者所有。商业转载请联系作
前言功能说到前面开始使用合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入
你好! 如果你是一名纯前端,那么阅读完这篇文章即可以解决无感打印的问题!
目前可以实现的功能有
前端无任何弹窗直接调用打印机执行打印
打印pdf流、打印在线文件
import javax.imageio.ImageIO;
import javax.print.*;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
public static List<String> findPrints() {
List<String> list = new ArrayList<>();
HashPrintRequestAttributeSet requestAttributeSet = new HashPrintRequestAttributeSet();
DocFlavor flavor = D.
3.包装元素
<!-- 需要给外层包裹元素ref,在点击打印阶段需要使用ref获取打印元素,需要指定id用于捆绑触发打印的按钮 -->
<div ref="printTest" id="printTest">
需要打印的数据
4.创建打印按钮
<!-- v-print指令可以直接绑定到对应的打印区域-->
<el-button v-pr
1,安装 npm install vue-print-nb --save
2,引入 安装好以后在main.js文件中引入
import Print from 'vue-print-nb'
Vue.use(Print); //注册
3,现在就可以使用了
<div id="printTest" >
<p>锄禾日当午</p>
<p>汗滴禾下土 </p>
<p>谁知盘中
1. 在前端使用Vue框架,通过HTML和Vue组件实现打印页面的布局和样式。
2. 使用JavaScript的window.print()方法,将打印页面打印到打印机上。
3. 在后端使用Spring Boot框架,实现打印功能的数据处理和打印服务的调用。
4. 通过RESTful API将前端传递的打印数据传递给后端处理,后端将数据格式化并传递给打印服务进行打印。
需要注意的是,在打印功能的实现过程中,需要考虑浏览器和打印机的兼容性,并进行适当的处理。同时,也需要考虑数据的安全性和防止恶意攻击。