• 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.");
    	        
    		}
    

      

  • 相关阅读:
    1051 高度检查器
    Word+Excel 问题及解决
    Python——面向对象、绑定对象、组合
    Python——异常处理
    Python——包
    Python——模块
    Python——序列化模块
    Python——collections模块、time模块、random模块、os模块、sys模块
    Python——re模块
    Python——递归、二分查找算法
  • 原文地址:https://www.cnblogs.com/geovindu/p/15832409.html
Copyright © 2020-2023  润新知