目录

一.安装及引入Print.js

二.介绍

三.常用配置

四.具体使用


一.安装及引入Print.js

1.安装

npm install print-js --save
//or
yarn add print-js    

2.在需要使用的文件引入

import printJS from 'print-js'

二.介绍

Print.js有四种打印类型:'pdf'、'html'、'image'、'json'。

它的基本用法是调用printJS()并传入参数

//pdf打印 传入PDF文档url
printJS('docs/PrintJS.pdf')//图片打印 传入图片url,第二个参数:'image'
printJS('images/PrintJS.jpg', 'image')//html打印 第一个参数:元素id,第二个参数:'html'
printJS('myElementId', 'html')//json打印 当打印Json数据时,传入要打印的数据、类型和数据属性
printJS({printable: myData, type: 'json', properties: ['prop1', 'prop2', 'prop3']})

三.常用配置

Print.js接受一个对象作为参数,在这里你可以配置一些选项:

字段 默认值                                       说明
printable  null 数据源:pdf or image的url,html类型则填打印区域元素id,json类型则是数据object。
type 'pdf' 可选类型:pdf, html, image, json。
header null     应用于页面顶部标题文本。
headerStyle 'font-weight: 300;' 应用于标题文本的可选标题样式。
maxWidth 800 最大文档宽度(像素)。
css null 这允许我们传递一个或多个css文件的url,应该应用到正在打印的html。Value可以是包含单个URL的字符串,也可以是包含多个URL的数组。
style null 这允许我们传递一个自定义样式的字符串,该字符串应应用于正在打印的html。

四.具体使用

1.打印Html

<div id="printJS-HTML" style="display:none;"><div v-for="index in 5" :key="index"><table><tr><td>序号</td><td>作者</td></tr><tr><td>1</td><td>Ghmin</td></tr></table><!--  控制打印分页的关键 --><div class="paging"></div></div>
</div>
<button @click="printHtml">打印 HTML</button>
const printHtml=()=>{//在页面显示需打印区域来获取domdocument.querySelector('#printJS-HTML').style.display = 'block'printJS({printable: 'printJS-HTML',//打印区域idtype: 'html',//打印类型style: `@page { size: auto; } .paging{page-break-after: always;}`,})//获取打印内容后隐藏domdocument.querySelector('#printJS-HTML').style.display = 'none'
}

这里 .paging{page-break-after: always;}样式就是控制分页的关键。

2.打印图片

打印图片的话可以使用上面第一种Html的方式,但更推荐使用Print.js提供的"image"打印类型

  printJS({printable: ['第一张图片Url','第二张图片Url','第三张图片Url'],type: 'image',header: null,imageStyle: `display: block;margin: 0 auto;page-break-after: always;max-width:100%`})

相对于Html方式这个更简单,传入需要打印的图片url数组即可。

更多内容可访问 Print.js官网:https://printjs.crabbly.com/

Print.js实现打印pdf,HTML,图片(可设置样式可分页)相关推荐

  1. vue项目使用Print.js插件实现PDF文件打印

    一,Print.js介绍 Print.js主要是为了帮助我们在应用程序中直接打印PDF文件,而不需要离开界面,也不需要使用嵌入.对于用户不需要打开或下载PDF文件的特殊情况,只需要打印即可. 例如,当 ...

  2. 处理jquery.jqprint.js不能打印input、textarea区以及样式问题

    处理jquery.jqprint.js不能打印input.textarea区以及样式问题 对于打印区的input和textarea做一下处理: 处理打印样式问题(打印样式与显示样式不一样) 对于打印区 ...

  3. 使用js在线将pdf转为图片

    纯前端js,不用后端代码,即可将pdf转为图片. 在线demo地址 index.html <!DOCTYPE html> <html><head><meta ...

  4. vue封装打印插件print.js实现打印组件功能

    代码 插件地址:https://github.com/xyl66/vuePlugs_printjs 1. 打印插件属性方法 定义-print.js // 打印类属性.方法定义 /* eslint-di ...

  5. 前端使用print.js实现打印

    前言 项目中经常会用到前端调用浏览器打印的功能,也经常会遇到一些问题,写这篇文章是为了更好的梳理一下相关内容.下面的内容基于vue. 如果需要用到前端生成二维码可以看我的这篇文章:在vue项目中使用q ...

  6. vue使用print.js实现打印功能,以及添加打印机

    print.js 一个javascript库,可以实现打印功能 github地址 github地址: https://github.com/crabbly/print.js 官网地址 https:// ...

  7. html导出带页码的word,使用js把html导出word,并配置样式和分页功能

    js导出html为word的方法 getquestion:function(){ require(['backend/FileSaver'], function(){ require(['backen ...

  8. js打印pdf 使用Adobe reader 打印pdf

    最近工作上有需要在js中打印pdf文件,从中遇到了一些问题,到现在已经解决了,做个记录.希望能帮到有需要的人. 我这边主要采用Adobe reader进行加载打印.                   ...

  9. C# 六种方案打印PDF文档

    打印PDF文档是开发人员经久不变的话题,常见的打印需求大致有以下六种: 用默认打印机打印PDF文档 用虚拟打印机打印PDF文档 指定打印机及PDF文档的打印页码范围 静默打印PDF文档 双面打印PDF ...

最新文章

  1. CF 976F 递增容量最大流
  2. C# WebApi+Task+WebSocket实战项目演练(四)
  3. 三大纪律七项注意(Access数据库)
  4. 初识WINCE的HIVE注册表
  5. 大端模式 小端模式学习笔记
  6. 那些年我们一起用过的Hybrid App
  7. Matlab之取整函数
  8. matlab-imresize-最近邻插值、双线性插值、双三次插值学习总结
  9. element时间组件在苹果回显无效果
  10. Graph WaveNet:用于时空图建模的图神经网络结构
  11. PC端浏览器兼容测试总结
  12. html table space,html – white-space:nowrap中断显示:table
  13. 利用Sobel算子,求梯度图像
  14. Bing Test -必应每日壁纸自动换
  15. 毕业设计 基于大数据的旅游数据分析与可视化系统
  16. 2021年最新调查:86% 的 Java 开发人员 依赖 Spring 框架
  17. web2.0 谁他妈的会需要你?(转)
  18. android studio开发的时候出现design editor is unavailable until after a successful project sync问题的解决方法
  19. 【Mac 教程系列第 16 篇】如何查看 Apple 产品的真伪
  20. php违章查询接口,基于聚合数据的全国违章直连查询接口示例-PHP版

热门文章

  1. 【Netdata】性能监测工具介绍、安装、使用
  2. 闲聊之π和e到底是个啥
  3. 全国计算机考试证书蓝色和红色区别,护士资格证蓝色和红色有区别吗?护士资格证和护士执业证有什么区别吗?...
  4. 几款实用的照片变漫画免费软件,千万别错过
  5. 金蝶云如何html5登录,可以在移动端进行云之家登录,也可以通过网页登录
  6. 关于联想电脑的chrome和ie浏览器被绑定 2345.com
  7. 计算机系统中k代表,计算机信息计量单位中的K代表的为什么是210啊?
  8. 对报表、报告、流程的KPI考核的三个误区
  9. free -g cached满了,怎么释放buff/cache的内存占用。
  10. C# ASP.NET 开源网上商城、外贸产品网上展示的几个效果图 -- 仅供大家参考