我们使用itext 5加密了一个示例pdf文件。 代码生成加密的pdf输出和 Adobe pdf阅读器表示它是AES-256位加密的,但任何用户都可以轻松阅读其内容。
我们如何在pdf中随机播放文本,以便在没有自定义AES解密程序的情况下,无法读取pdf中的文本。
提前致谢
public static final String SRC = " /2016.pdf";
public static final String DEST = " /enc.pdf";
public static void main(String[] args) throws IOException, DocumentException {
File file = new File(DEST);
file.getParentFile().mkdirs();
new crypto().manipulatePdf(SRC, DEST);
}
public void manipulatePdf(String src, String dest) throws IOException, DocumentException {
PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
stamper.setEncryption(null, "World".getBytes(),
PdfWriter.ALLOW_DEGRADED_PRINTING, PdfWriter.ENCRYPTION_AES_256);
stamper.close();
reader.close();
}