Vue使用printjs组件打印页面 新需求: 需要将页面的局部信息打印出来,只在前端实现,不要占用后端的资源。 经过一通百度,决定使用 print-js和html2canvas组件。 .x版本,所以如果是Vue3.x,请根据新写法在main.js中引用。 from 'html2canvas'; Vue.prototype. $print = printjs; Vue.prototype. 点击右侧打印按钮: 根据效果课件,可以显示指定区域的打印效果,且多余内容会自动的分页。
(一)首先安装插件 npm install vue-print-nb --save (二)在main.js 中引入并注册 import Print from 'vue-print-nb' Vue.use (Print) (三)使用方法
问题描述 Vue项目利用连接针式打印机打印相关单据,打印出来的文字不清晰,字体颜色模糊。 解决思路 1、看是否样式问题 在查看Print.js 文档后发现,TA可以自己设置样式。 honorColor: true, // 是否打印彩色文本 targetStyles: ['*'] // 允许打印所有样式属性 }) 重新设置后在打印,发现问题依然存在。 然后在打印预览的时候发现普通的打印是可以选择文字什么的。而我们这个选不中才发现之前打印的逻辑是先生成base64的图片,打印的是图片。那会不会是图片模糊导致的呢? 2、将打印改成了DOM元素。 设置 printable 为需要打印模板的id,打印的时候不是图片url地址 3、重新打印后发现不是那么模糊了。 但是又涉及纸张大小的问题和文字重叠显示不全 于是重新设置打印模板的宽度和模板内元素的宽度并将字体颜色设置成 #000后,重新打印。问题完美解决。 4、总结 1、打印的是生成的图片,导致不清晰。
1、安装vue-print-nb插件 npm install vue-print-nb –save 2、在main.js文件中引入插件 import Print from ‘vue-print-nb ’ Vue.use(Print) 3、编写程序
vue-pdf实现pdf预览、分页、下载、打印 vue-pdf-app(功能完整内嵌组件): https://www.npmjs.com/package/vue-pdf-app vue-pdf使用(参考地址 ="printing" @click.stop="print"> 打印 //js export default { data () { return { htmlTitle: '页面导出PDF文件名' } } } 3、pdf打印功能实现 在vue-pdf组件上绑定ref属性,再到方法中使用$refs获取DOM文本,调用原型方法print() // 打印 print() { console.log(this. $refs.pdf) // 这儿的console.log 仅用于测试打印出多个结果 this.$refs.pdf.print() },
参考文章:前端实现 生成条形码并调用打印机打印 开发技术栈vue3+vite+setup 实现功能,批量选择数据–>生成条形码—>调用打印机–>打印输出 一、生成条形码: 1.安装所需要插件 npm i ({ id: 'printTest', // 绑定打印区域的id beforeOpenCallback(vue) { vue.printLoading = true console.log ('打开之前') }, openCallback(vue) { vue.printLoading = false console.log('执行了打印') }, closeCallback (vue) { console.log('关闭了打印工具') } }) 具体相关条形码配置printObj,请参考vue-print-nb - npm 在打印预览的时候发现,条形码并不是一码一页 vue) { vue.printLoading = false console.log('执行了打印') }, closeCallback(vue) { console.log
引言在Vue.js开发中,打印功能是许多Web应用不可或缺的一部分。无论是打印报表、订单、发票还是其他文档,都需要在Vue组件中实现可靠的打印功能。 本文将详细介绍Vue中调用浏览器打印的各种方法和最佳实践。基础打印方法1. 使用window.print()最简单直接的打印方法就是使用浏览器原生的window.print()API:// 在Vue组件中使用export default { methods: { printPage 动态样式切换在Vue中动态添加打印样式类:<template>
Here are the days: Mon Tue Wed Thu Fri Sat Sun Here are the months: Jan Feb Mar Apr May Jun Jul Aug
console.log再部署到线上 解决办法 通过配置插件,比如uglifyjs-webpack-plugin (打包慢) 自己解决:重写console.log方法(不影响打包速度) 由于公司项目用的是vue-cli2
Print.js 官网 官网 优点:可以打印多种格式的内容(pdf、json、html等) 打印json时可以添加表头。 打印html页时可以继承原有页面的样式,局部打印,过滤掉要打印的元素,及其方便。 一、vue安装命令: npm install print-js –save 二、引入 这个引入不需要在main.js中,直接在使用的.vue中引入即可 这里颜色虽然是灰色,但是也要添加,否则会报错。 properties:是打印json时所需要的数据属性。 gridHeaderStyle和gridStyle都是打印json时可选的样式。 ignoreElements:传入要打印的div中的子元素id,使其不打印。非常好用 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
字符串以\n开始就可以了 为什么使用%r时,\n就不行了 %r 就是这个样子,它打印出的是你写出来的方式,它是用来debug的原始方式 为什么在三引号之间加入空格就会报错? 必须写成""" 而不是" " ",引号之间不能有空格 为什么打印时用了+而不是逗号? 两个字符串连接用+,组成一个新的字符串
1 2 3 4 'one' 'two' 'three' 'four' True False False True '%r %r %r %r' '%r %r %r %r' '%r %r %r %r' '%r %r %r %r' 'I had this thing.' 'That you could type up right.' "But it didn't sing." 'So I said goodnight.'
1 2 3 4 one two three four True False False True {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} I had this thing. That you could type up right. But it didn't sing. So I said goodnight.
(当然,用户有各种各样的需求和打印格式要求,愿意使用打印控件的,开发的打印功能当然很好。) 所以直接使用浏览器自带的打印功能,就成为一个选择。 2. 打印功能介绍 2.1 普通打印 如果要将当前网页的内容直接打印到白纸上,很简单,使用如下js代码即可实现。 window.print(); 2.2 打印指定区域 2.2.1 简单打印某一区域 如果只需要简单打印当前网页的某一块内容,不难实现。 2.4 iframe打印 如果你的打印格式比较复杂,在现有页面通过上边介绍的方式实现起来比较麻烦,那就干脆使用iframe打印吧。 WEB打印如何设置默认为”仅选定打印框架”?
本章我们将使用递归方式反向打印一个链表;注意并不是反转链表,而是反向打印。 printf(" %d ", x->data); } 他的函数执行流程大致是这样 通过内存视图看一下: 由于先执行了递归,在满足返回条件时,递归将不再继续,再执行完Print(50)之后,再执行打印链表的操作 ,这样链表就被反转打印了。
利用JS技术实现打印HTML表格 通常在浏览网页的时候,网页上总是出现一些和内容无关的内容,在打印的时候,要是把整个网页都打印下来,总会有些不方便。。。 所以在有需要打印的网页上稍微设置一下打印页是很有必要的。。。 –打印内容开始–>
如表格打印时最后一列不打印 <button class="btn btn-info print-btn" onclick="prn1_preview()" >打印</button> <script ; LODOP.PREVIEW(); }; function CreateOneFormPage(){ LODOP=getLodop(); LODOP.PRINT_INIT("打印演示
} public Node getNext() { return next; } public void setNext(Node next) { this.next = next; } } 打印链表的数据
前言 我们在进行项目开发过程中,一般会用到console.log打印某些信息。但是如何生产环境打包时去掉所有consloe打印信息呢?以下是解决办法,也是自己一直使用的方法。 transform-remove-console", { "exclude": ["error", "warn"] }]) } module.exports = { presets: [ '@vue /app' ], plugins } 然后打包好部署到生产环境,打开控制台,可以看到线上打印信息已经全被清除。
前言 我们在进行项目开发过程中,一般会用到console.log打印某些信息。但是如何生产环境打包时去掉所有consloe打印信息呢?以下是解决办法,也是自己一直使用的方法。 transform-remove-console", { "exclude": ["error", "warn"] }]) } module.exports = { presets: [ '@vue /app' ], plugins } 然后打包好部署到生产环境,打开控制台,可以看到线上打印信息已经全被清除。