首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >java: create pdf password using itextpdf 5.x and bouncycastle Library

java: create pdf password using itextpdf 5.x and bouncycastle Library

作者头像
geovindu
发布2026-06-18 21:50:46
发布2026-06-18 21:50:46
760
举报
代码语言:javascript
复制
/**
		 * 有密码的文件  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.");
	        
		}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档