通过前端js给远程PDF文件加水印
最近写了一个简单的工具网站,可以上传PDF文件,加完水印/文字后下载下来,整个过程唯一需要后端的时候就是需要把文件传到服务器上,提供一个远程的PDF路径,方便操作,本来可以直接抛开服务端,直接在浏览器上解析,但是会丢失文字,所以采用了操作远程PDF文件的方式。直通车(链接).
技术栈:vue + elementui + pdf-lib.js
由于实在太懒,虽然网站很简单,还是使用了elementui去布局,具体的PDF文件操作,可以参考pdf-lib.js的doc,这里记录一个写过程中的问题。
生成写的pdfDocument后,在下载过程中遇到了困难。库本身提供了save方法,可以生成Uint8Array数组,但是直接转Blob下载时,下载的PDF文件无法打开,经过多方查询,最终使用了一个下载库,完美解决。
希望本文能给有PDF处理需求的小伙伴提供思路。