java: create pdf password using itextpdf 5.x and bouncycastle Library
/**
* 有密码的文件 https://www.viralpatel.net/password-protect-pdf-itext-java/
* https://github.com/viralpatel/
* com.itextpdf:itextpdf:5.5.4
* https://mvnrepository.com/artifact/com.itextpdf/itextpdf/5.5.4
* org.bouncycastle:bcprov-jdk15on:1.51
* https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on
* org.bouncycastle:bcpkix-jdk15on:1.51
* https://mvnrepository.com/artifact/org.bouncycastle/bcpkix-jdk15on
* iText-5.2.1.jar
* bcmail-jdk16-1.46.jar https://mvnrepository.com/artifact/org.bouncycastle/bcmail-jdk16/1.46
* bcprov-jdk16-1.46.jar https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk16/1.46
* bctsp-jdk16-1.46.jar https://mvnrepository.com/artifact/org.bouncycastle/bctsp-jdk16/1.46
* @author geovindu 涂聚文 Geovin Du
* @param fileurl
* @param userPassWord
* @param OwnerPassWord
*
* */
public static void CreatePdfPassword(String fileurl,String userPassWord,String OwnerPassWord)
{
try {
// OutputStream file = new FileOutputStream(new File(fileurl));
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(fileurl));
writer.setEncryption(userPassWord.getBytes(), OwnerPassWord.getBytes(),
PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128);
//writer.createXmpMetadata();
document.open();
document.addTitle("涂聚文 PDF");
document.addSubject("Using iText");
document.addKeywords("Java, PDF, iText");
document.addAuthor("geovindu,涂聚文");
document.addCreator("geovindu,涂聚文");
document.add(new Paragraph("Hello World, iText,涂聚文,你好!你的Java世界!",subFont));
document.add(new Paragraph(new Date().toString()));
document.close();
//file.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("OK.");
}

哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)生存.---Geovin Du(涂聚文)
浙公网安备 33010602011771号