vue 纯前端预览pdf,纯前端实现pdf加水印下载文件也带水印,防止pdf下载

效果图

 

e49f8b4b8e8242068311bd9f65e88398.png

 

 

1.pdf预览

  原理:主要是利用pdfh5这个插件来完成的

  使用方法:

  1.页面需要有一个容器例子:<div id="demo"></div>

  2.下载pdfh5插件

npm install pdfh5

  (注意:webpack5之后不会下载polyfill 需要手动下载 所以引入pdfh5的时候会报错)

  解决方案:下载 node-polyfill-webpack-plugin

npm install node-polyfill-webpack-plugin

  之后再vue.config.js里面配置

  // 头部引入

  const NodePolyfillPlugin = require('node-polyfill-webpack-plugin')

  const { defineConfig } = require('@vue/cli-service')

  module.exports = defineConfig({

    //...

    configureWebpack: {

      plugins: [new NodePolyfillPlugin()],

    }

  })

fdc3f3ec76bb4d2fbb833dabf671a3be.png

  3.解决报错之后下面直接使用

  this.pdfh5 = new Pdfh5("#demo", {

    pdfurl: this.url,

  });

  -----另外 需要我们引入css样式 还需要我们自己写一点css样式来修改转成pdf后里面图片过大 再最下面        

 

 

  2.pdf加水印

 

  原理:利用的是将pdf文件转化成二进制文件 再用画图的方式往里面画文字

  主要利用插件:pdf-lib @pdf-lib/fontkit

npm install pdf-lib

npm install @pdf-lib/fontkit

  (注意:这里使用字体的时候需要引入两个字体包再同级目录下的font下的两个包)

  这里面的预览还是用到的pdfh5来预览的

  使用方法:直接调用addWarker(url,warkerName) 方法

  参数说明:url:需要添加水印的pdf文件地址  

           warkerName添加水印字

 

  注意:一半这种都不允许下载 禁止鼠标右击事件就是再我们的元素上加上@contextmenu.prevent事件

  并且加css样式&#x

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zWoods

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值