vue-plugin-hiprint插件的打印及导出pdf简单使用

举报
QGS 发表于 2025/02/20 23:40:40 2025/02/20
110 0 0
【摘要】 vue-plugin-hiprint插件的打印及导出pdf简单使用

vue-plugin-hiprint (基于 hiprint 2.5.4) 当时只是为了方便 作者 在vue项目中引入使用,所以以此命名。

插件 仅仅是一个 JavaScript【工具库】 而非 Vue【组件库】,所以它默认不包含demo中的那些组件页面(demo代码可复制使用)。

由于hiprint官网最后一次更新时间为2019年【hiprint 2.5.4 是 LGPL 协议】,后在诸多使用者及反馈下进行了许多优化调整。

开源项目地址:https://github.com/CcSimple/vue-plugin-hiprint-start

// clone 项目

git clone https://gitee.com/CcSimple/vue-plugin-hiprint-start.git

// 安装依赖

cd vue-plugin-hiprint-start && npm i

// 运行

npm run serve

Vue2项目融合vue-plugin-hiprint

自己的vue2项目整合vue-plugin-hiprint插件,仅根据自定义模版用于打印预览和导出pdf

print-lock.css文件复制到public

安装依赖

npm install vue-plugin-hiprint

main.js中 引入安装

import {hiPrintPlugin} from 'vue-plugin-hiprint'
Vue.use(hiPrintPlugin, '$pluginName')
hiPrintPlugin.disAutoConnect(); // 取消自动连接直接打印客户端
import jquery from 'jquery'
Vue.prototype.$ = jquery

打印功能实现

import panel from './panel' 
import printPreview from './preview'
import {hiprint} from 'vue-plugin-hiprint'

//打印预览
    onlyPrint() {
      this.mergeData();
        console.log(this.printData);
        //hiprintTemplate
        this.$print(undefined, panel, this.printData, {}, {
        styleHandler: () => {
          let css = '<link href="http://hiprint.io/Content/hiprint/css/print-lock.css" media="print" rel="stylesheet">';
          return css
      },

导出pdf功能实现

import panel from './panel' 
import printPreview from './preview'
import {hiprint} from 'vue-plugin-hiprint'

// 生成 PDF
    exportToPdf(){
      console.log("触发打印预览");
      this.mergeData();
      // 初始化模板
      const hiprintTemplate = new hiprint.PrintTemplate();
      // 添加面板和元素
      hiprintTemplate.addPrintPanel(panel);

// 导出 PDF
      hiprintTemplate.toPdf(this.printData, this.formInline.customerName+this.formInline.oddNumbers+'.pdf');
      this.$notify({
                title: '成功',
                message: '下载成功',
                type: 'success'
              });
          },

字段名绑定

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。