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 },
- 上一篇 »JavaScript实践,一页面添加水印
- 下一篇 »html转pdf