项目里需要针对PDF的文件进行预览与下载,而且在预览与下载时都需要添加水印,如果浏览器内核没有问题的话,我们时可以直接使用WaterMark 水印组件实现的,虽然是一种蒙版的感觉,但多少还是够用的,但问题就在,这个Vue组件是要看浏览器内核版本的,如果在国产的系统以及国产服务器上,(银河麒麟+360安全浏览器),根本没法用!只能从PDFjs上面下手了。

水印显示

Vue组件

当然,最初的方案很简单,js完全可以实现:

1
2
3
4
5
6
7
<template>
<el-watermark :content="['这是水印', '第二行']">
<div style="height: 500px">
<!-- 你的页面内容 -->
</div>
</el-watermark>
</template>

找个响应式变量绑定上去,就完事了,但问题是!有些浏览器不支持!而且他本质上是一个页面上叠加了一层并不完全是一个