# print-js-demo **Repository Path**: diandian1007/print-js-demo ## Basic Information - **Project Name**: print-js-demo - **Description**: 备份 https://gitee.com/zhongq970/print-js-demohttps://gitee.com/zhongq970/print-js-demohttps://gitee.com/zhongq970/print-js-demohttps://gitee.com/zhongq970/print-js-demo - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-08-07 - **Last Updated**: 2023-08-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: 打印 ## README # **print-demo** 网页打印插件示例项目。 ## 项目运行 ``` bash # install dependencies npm install # serve with hot reload at localhost:8080 npm run dev # build for production with minification npm run build ``` ## 关于print.js 功能:网页打印插件,支持打印或不打印指定区域,同时支持将网页导出为pdf。 - 已实现: 1. 原生js书写,不依赖其他库 2. 可指定打印(或不打印)的区域 3. 支持定制css,内联、外联均可 4. 支持select、input(text、redio、checkbox)、textarea获取参数 - 待验证: 1. 目前测试谷歌浏览器运行正常,其他低版本浏览器兼容性待验证 ## 如何使用 本插件可在 `js` 或 `vue` 项目中使用,其他框架未验证。两种使用场景引入的`js`大同小异。 #### 1、声明打印区域: 可通过设置`class` 类名或 `id `指定打印区域,但由于`vue`项目涉及到打包部署,推荐使用`ref`获取DOM节点,如果使用`id`或`class`获取,打包部署后打印内容可能显示空白。 ```
指定打印区域
指定打印区域
指定打印区域
``` #### 2、调用打印方法: ##### 2.1 js 项目 ``` // 引入 // 调用 Print('#printDom',{}); ``` ##### 2.2 vue 项目 main.js引入,xx.vue页面引用 ``` //main.js import Print from './print'; Vue.use(Print); // xx.vue this.$print(this.$refs.printDom, {}); ``` #### 3、声明不打印区域: `js`和`vue`项目通用 ##### 3.1 声明`"no-print"`类名 此时`print`方法中,不需要特意声明,默认会剔除`.no-print`区域 ```
不打印区域
Print('#printDom'); ``` ##### 3.2 自定义类名 此时需要在`print`方法中通过`"noPrint"`属性指定不打印区域 ```
自定义不打印区域类名
Print('#printDom',{noPrint:'.no-print-box'}); ``` #### 4 参数说明 `js`和`vue`项目通用,以`vue`项目为例。 ``` this.$print(this.$refs.printDom, { noPrint: '.noPrint', onStart: () => { console.log('打印开始'); }, onEnd: () => { onsole.log('打印完成'); } }); ``` | 参数位置 | 属性 | 说明 | | -------- | ------------- | -------------------------------| | 参数1 | 类名、id、ref声明dom | 打印区域 | | | noPrint | 不打印区域,默认'.no-print' | | 参数2 | onStart | 打印前回调函数 | | | onEnd | 打印后回调函数,确定和取消都会触发| #### 5、实例项目介绍: 该项目,示范了普通`js`项目,和`vue`项目中通过调用`print.js`实现打印(或不打印)指定区域。 - 1、普通`js`项目:主页面 `src/printTest.html`,引用 `src/utils/print2.js` - 2、`vue`项目:主页面 `src/components/index.vue`,引用 `src/utils/print.js` ## TIPS 关于插件如何使用的详细解释,可参照该指南 [guide](https://www.cnblogs.com/lemoncool/p/14210465.html). 同时,欢迎志同道合的小伙伴关注小编公棕号【前端便利贴】,前端加餐,头脑风暴,来了都是客,期待您的光临。 ![banner](\src\assets\images\banner.png)