主要完善了两个功能,一个是对pdf文件进行加密,一个加水印
一、对生成的pdf文件进行加密:
加密用到了集成jar包 bcprov-jdk15on-1.48.jar 加密只需在pdfWriter中setEncryption() , 而其中的参数可以通过xml文件进行配置,在xml的global标签中新增
<encrypt encryption="true" userPassword="11" ownerPassword="11"></encrypt>
同时,新增一个EncryptModel,用该对象存储encrypt 标签中的参数,在GlobalModel中需要添加EncryptModel对象,将EncryptModel set 进GlobalModel 对象中,GlobalModel又存入统筹对象 DocModel 。
在对DocModel 进行解析时,先拆分GlobalModel,将其中的参数传入PdfWriter , 再将BodyModel中存入的对象add到Document中。其中添加密码的实现代码如下:
pdfWriter.setEncryption(encryptModel.getUserPassword().getBytes(), encryptModel.getOwnerPassword().getBytes(), PdfWriter.ALLOW_PRINTING, PdfWrite