• HTML页面转化为带有水印的PDF文件


      我之前写过一篇如何把HTML页面转化为PDF文件,这里就不详讲了,主要讲如何增加水印

    一、如何增加水印,在什么时候增加水印?

      在用 html2Canvas 框架生成canvas后,操作canvas增加水印。代码如下:

     1 downloadPDF(){
     2   var title = 'RFM'
     3   let self = this;
     4   let targetDom = document.querySelector('#pdfDom');
     5   this.$nextTick(()=>{  // 在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。
     6     html2Canvas(targetDom, {
     7       allowTaint: true,
     8       height: targetDom.scrollHeight 
     9     }).then(function (canvas) {   // 通过promise返回canvas元素
    10       let context = canvas.getContext('2d');
    11       self.printWater(context);
    12       let PDF = new JsPDF('p', 'pt', 'a4')
    13       // 中间操作代码省略
    14       PDF.save(title + '.pdf') // 保存pdf文档,本地下载pdf文件
    15     })
    16   })
    17   this.timeout = setTimeout(() => {
    18     self.overflow = 'auto';
    19   }, 1000);
    20   
    21 },
    22 // 打印水印
    23 printWater(context) {
    24   context.font='200px Palatino'
    25   context.fillStyle = 'rgba(0,0,0,0.03)';
    26   let height = 0;
    27   context.save();
    28   let pageHeight =  context.canvas.height / 592.28 * 841.89 
    29   while(height < context.canvas.height) {
    30     context.save();
    31     context.translate(0,height) // 移动原点位置
    32     context.rotate(Math.PI/4); // 旋转
    33     context.fillText('我是个美女', 300 ,350);
    34     context.restore();
    35     height += 841.89;
    36   }
    37   context.restore();
    38 },
  • 相关阅读:
    UDP协议
    发送大数据文件
    socket
    异常处理
    网络编程
    JupyterStudy——安装与环境部署
    PythonStudy——封装
    PythonStudy——继承、接口、鸭子类型
    PythonStudy——面向对象
    PythonStudy——xml 模块
  • 原文地址:https://www.cnblogs.com/daheiylx/p/14309393.html
Copyright © 2020-2023  润新知