广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue中使用Printjs插件实现打印功能
  • 141
分享到

Vue中使用Printjs插件实现打印功能

Vue Printjs打印插件vue打印插件 2022-11-13 14:11:55 141人浏览 独家记忆
摘要

目录前言一、Print.js介绍二、安装/引入方法1.下载print.js方法2.使用npm安装print插件三、使用-“html”类型四、其他Type示例总

前言

客户需求: 表单支持在线打印
实现思路: 百度…百度…百度之后,printjs 这款插件比较满足需求,无需下载,无需写打印模板,并且兼容Element-ui中el-fORM表单的打印。

一、Print.js介绍

Print.js官网

Print.js 主要是为了帮助我们直接在我们的应用程序中打印 pdf 文件,无需离开界面,也无需使用嵌入。 对于用户无需打开或下载 PDF 文件而只需打印它们的特殊情况。
支持“pdf”、“html”、“image”和“json”四种打印文档类型。默认为“pdf”。

PrintJS参数配置表

参数默认值描述
printablenull文档来源:pdf 或图片 url、html 元素 id 或 JSON 数据对象。
type‘pdf’可打印类型。可用的打印选项有:pdf、html、image、json 和 raw-html。
headernull用于与 HTML、图像或 JSON 打印的可选标题。它将被放置在页面顶部。此属性将接受文本或原始 HTML。
headerStyle‘font-weight: 300;’要应用于标题文本的可选标题样式。
maxWidth800最大文档宽度(以像素为单位)。根据需要更改此设置。在打印 HTML、图像或 JSON 时使用。
CSSnull应用于正在打印的 html 的 css 文件 URL。值可以是具有单个 URL 的字符串或具有多个 URL 的数组
stylenull自定义样式的字符串。应用于正在打印的 html。
scanStylestrue设置为 false 时,库将不会处理应用于正在打印的 html 的样式。在使用 css 参数时很有用。
targetStylenull默认情况下,库仅在打印 HTML 元素时处理某些样式。此选项允许您传递要处理的样式数组。例如:[‘padding-top’, ‘border-bottom’]
targetStylesnull与 targetStyle 相同,但是,这将处理任意范围的样式。例如:[‘border’, ‘padding’],将包括’border-bottom’、‘border-top’、‘border-left’、‘border-right’、‘padding-top’等。也可以通过 [’*'] 来处理所有样式。
ignoreElements[ ]传入打印父 html 元素时应忽略的 html id 数组。使其不打印。
propertiesnull打印 JSON 时使用。这些是对象属性名称。
gridHeaderStyle‘font-weight: bold;’打印 JSON 数据时网格标题的可选样式。
gridStyle‘border: 1px solid lightgray; margin-bottom: -1px;’打印 JSON 数据时网格行的可选样式。
repeatTableHeaderTRUE打印 JSON 数据时使用。设置为 false 时,数据表标题将仅显示在第一页。
showModalnull启用此选项可在检索或处理大型 PDF 文件时显示用户反馈。
modalMessageRetrieving Document…’当 showModal 设置为 true 时向用户显示的消息。
onLoadingStartnull加载 PDF 时要执行的功能
onLoadingEndnull加载 PDF 后要执行的功能
documentTitleDocument’打印 html、图像或 json 时,这将显示为文档标题。
fallbackPrintablenull打印 pdf 时,如果浏览器不兼容(检查浏览器兼容性表),库将在新选项卡中打开 pdf。这允许您传递要打开的不同pdf文档,而不是在printable中传递的原始文档。如果您在备用pdf文件中注入javascript,这可能很有用。
onPdfOpennull打印 pdf 时,如果浏览器不兼容(检查浏览器兼容性表),库将在新选项卡中打开 pdf。可以在此处传递回调函数,该函数将在发生这种情况时执行。在某些情况下,如果要处理打印流、更新用户界面等,它可能很有用。
onPrintDialoGClosenull在浏览器打印对话框关闭后执行的回调函数。
onErrorerror => throw error发生错误时要执行的回调函数。
base64false在打印作为 base64 数据传递的 PDF 文档时使用。
honorMarginPadding (已弃用)true这用于保留或删除正在打印的元素中的填充和边距。有时这些样式设置在屏幕上很棒,但在打印时看起来很糟糕。您可以通过将其设置为 false 来将其删除。
honorColor (已弃用)false若要以彩色打印文本,请将此属性设置为 true。默认情况下,所有文本都将以黑色打印。
font(已弃用)TimesNewRoman’打印 HTML 或 JSON 时使用的字体。
font_size (已弃用)12pt’打印 HTML 或 JSON 时使用的字体大小。
imageStyle(已弃用)width:100%;’打印图像时使用。接受具有要应用于每个图像的自定义样式的字符串。

二、安装/引入

方法1.下载print.js

  • 从官网下载print.js,将下载的 print.js 放入项目utils文件夹
  • 可以全局引入即(在main.js中引入),也可以在需要的文件里面引入import Print from './utils/print'

方法2.使用npm安装print插件

  • 安装print-jsnpm install print-js --save
  • 可以全局引入即(在main.js中引入),也可以在需要的文件里面引入 import Print from 'print-js'

三、使用-“html”类型

在表单页面中调用打印方法

<template>
  <div class="app-container">
    <div id="printFrom">
      <el-form :ref="formRef" :model="form" :rules="validateRules">
      ...
      </el-form>
      <el-button type="info" @click="handlePrint(printData)">打印</el-button>
    </div>
  </div>
</template>

<script>

export default {
  data() {
    return {
      formRef: 'form',
      validateRules: [],
      printData: {
        printable: 'printFrom',
        header: '申请表',
        ignore: ['no-print']
      }
    }
  },
   handlePrint(params) {
     printJS({
       printable: params.printable, // 'printFrom', // 标签元素id
       type: params.type || 'html',
       header: params.header, // '表单',
       targetStyles: ['*'],
       style: '@page {margin:0 10mm};', // 可选-打印时去掉眉页眉尾
       ignoreElements: params.ignore || [], // ['no-print']
       properties: params.properties || null
     })
   }
 }
}
</script>

点击打印按钮,弹出打印预览界面,右边栏调整打印界面。
假设出现打印不全的问题,可以通过缩放来进行设置,数值越小,缩放的越小。

四、其他Type示例

1.pdf

printJS('docs/printjs.pdf')
// 或
printJS({printable:'docs/printjs.pdf', type:'pdf', showModal:true})

2.image单个图像

printJS('images/print-01-highres.jpg', 'image')
// 或
printJS({printable: 'images/print-01-highres.jpg', type: 'image', header: 'My cool image header'})

3.image多个图像

printJS({
printable: ['images/print-01-highres.jpg', 'images/print-02-highres.jpg', 'images/print-03-highres.jpg'],
type: 'image',
header: 'Multiple Images',
imageStyle: 'width:50%;margin-bottom:20px;'
})

4.json

 someJSONdata = [
    {
       name: 'John Doe',
       email: 'john@doe.com',
       phone: '111-111-1111'
    },
    {
       name: 'Barry Allen',
       email: 'barry@flash.com',
       phone: '222-222-2222'
    },
    {
       name: 'Cool Dude',
       email: 'cool@dude.com',
       phone: '333-333-3333'
    }
 ]
 
printJS({
    printable: someJSONdata,
    properties: ['name', 'email', 'phone'],
    type: 'json',
    gridHeaderStyle: 'color: red;  border: 2px solid #3971A5;',
    gridStyle: 'border: 2px solid #3971A5;'
})

更多示例请参考Print.js官网。

总结

以上便是printjs插件的使用场景,希望对大家有所帮助。

到此这篇关于Vue中使用Printjs插件实现打印功能的文章就介绍到这了,更多相关Vue Printjs打印插件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue中使用Printjs插件实现打印功能

本文链接: https://www.lsjlt.com/news/172081.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue中使用Printjs插件实现打印功能
    目录前言一、Print.js介绍二、安装/引入方法1.下载print.js方法2.使用npm安装print插件三、使用-“html”类型四、其他Type示例总...
    99+
    2022-11-13
    Vue Printjs打印插件 vue打印插件
  • Vue怎么用插件实现打印功能
    这篇文章主要介绍“Vue怎么用插件实现打印功能”,在日常操作中,相信很多人在Vue怎么用插件实现打印功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue怎么用插件实现打印功能”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-05
  • Vue集成lodop插件实现打印功能
    目录VUE简单使用lodop1.创建LodopFuncs.js文件2.在打印功能vue页面引入LodopFuncs3.执行打印方法4.打印接口函数官网样例说明5.完整页面示例VUE ...
    99+
    2023-01-30
    Vue lodop打印功能 Vue lodop打印 Vue lodop打印 Vue 打印
  • Vue利用插件实现打印功能的示例详解
    目录安装 引入 使用 这里介绍一个插件(vue-print-nb),蛮好用的,用起来很方便,所以想记录一下  npm官方: https://w...
    99+
    2023-03-19
    Vue实现打印功能 Vue打印功能 Vue打印
  • 如何使用vue实现打印功能
    这篇“如何使用vue实现打印功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用vue实现打印功能”文章吧。第一种方法...
    99+
    2023-07-04
  • vue如何实现打印功能
    vue实现打印功能的方法:1.打开终端输入“cnpm i vue-print-nb -S”命令安装依赖;2、在mian.js中引入vue-print-nb;3、在页面中设置一个button按钮实现打印功能即可。具体操作步骤:首先需要打开终端...
    99+
    2022-10-13
  • vue打印插件vue-print-nb的实现代码
    1.引入插件npm install vue-print-nb --save 在main.js中引入 import Print from 'vue-print-nb'Vue.use(P...
    99+
    2022-11-13
  • VUE怎么利用vue-print-nb实现打印功能
    这篇文章主要讲解了“VUE怎么利用vue-print-nb实现打印功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VUE怎么利用vue-print-nb实现打印功能”吧!一、安装vue-p...
    99+
    2023-06-30
  • .NET中如何使用FastReport实现打印功能
    本文小编为大家详细介绍“.NET中如何使用FastReport实现打印功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“.NET中如何使用FastReport实现打印功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-06-29
  • VUE如何利用vue-print-nb实现打印功能详解
    目录一、安装vue-print-nb二、引入Vue项目三、参数说明四、应用五、注意点补充:空白页的解决方法总结一、安装vue-print-nb 没有什么前提要求,直接安装即可,但因为...
    99+
    2022-11-13
  • C#中怎么实现打印功能
    这期内容当中小编将会给大家带来有关C#中怎么实现打印功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C#实现打印功能具体的操作步骤如下:创建一个PrintDialog的实例。如下:System.Wind...
    99+
    2023-06-17
  • 使用IOS AirPrint实现打印功能详解
    内容 1.什么是AirPrint 其实就是将iOS(iphone,ipad)上的内容,使用支持AirPrint的打印机打印出来。打印过程无线控制, 非常方便。 2.第一手资料 学习i...
    99+
    2022-05-23
    IOS AirPrint 无线打印
  • vue+element-ui前端怎么使用print-js实现打印功能
    本文小编为大家详细介绍“vue+element-ui前端怎么使用print-js实现打印功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue+element-ui前端怎么使用print-js实现打印功能”文章能帮助大家解决疑惑,下面跟...
    99+
    2023-07-04
  • vue中使用console.log打印的实现
    目录vue使用console.log打印注释vue中所有的console.logvue使用console.log打印 1.使用window.console.log() 2.更改配置:...
    99+
    2022-11-13
  • 怎么用java实现打印功能
    要使用Java实现打印功能,可以使用Java的打印API来完成。下面是一个简单的示例代码,演示了如何使用Java打印API实现打印功...
    99+
    2023-10-24
    java
  • vue打印功能实现的两种方法总结
    第一种方法:通过npm 安装插件 1,安装 npm install vue-print-nb --save 2,引入 安装好以后在main.js文件中引入 import...
    99+
    2022-11-12
  • vue实现指定区域自由拖拽、打印功能
    本文实例为大家分享了vue实现指定区域自由拖拽、打印功能的具体代码,供大家参考,具体内容如下 先看下效果图,实现指定区域内内容自由拖拽,不超出。动态设置字体颜色及字号;设置完成实现打...
    99+
    2022-11-13
  • .NET使用报表工具FastReport实现打印功能
    FastReport是功能非常强大的报表工具,在本篇文章中讲解如何使用FastReport实现打印功能。 一、新建一个窗体程序,窗体上面有设计界面和预览界面两个按钮,分别对应Fast...
    99+
    2022-11-13
  • C#中怎么实现一个打印功能
    这篇文章给大家介绍C#中怎么实现一个打印功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C#实现打印功能操作通常包括以下四个功能。打印设置 设置打印机的一些参数比如更改打印机驱动程序等。页面设置 设置页面大小纸张类型...
    99+
    2023-06-17
  • vue中如何使用codemirror插件实现代码编辑器功能
    这篇文章主要介绍“vue中如何使用codemirror插件实现代码编辑器功能”,在日常操作中,相信很多人在vue中如何使用codemirror插件实现代码编辑器功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作