Chinaunix首页 | 论坛 | 博客
  • 博客访问: 925388
  • 博文数量: 264
  • 博客积分: 10107
  • 博客等级: 上将
  • 技术积分: 2455
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-09 16:34
文章分类

全部博文(264)

文章存档

2012年(1)

2011年(11)

2010年(128)

2009年(82)

2008年(42)

我的朋友

分类: Java

2010-10-11 13:58:46

 

关键字: pdf 加密 itext
你是否希望你的pdf 只有你本人才可以打开呢?
现在我们就来给pdf 加上查看密码 并进行一些权限限制
package test.pdf;

import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;

import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Font;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfWriter;
/**
 * 加密文档,仅允许打印
 *
 */
public class Simple3 {
	   @SuppressWarnings("deprecation")
	public static void main(String[] args) throws DocumentException, IOException {  
		   Document doc = new Document();  
		   
		   PdfWriter pdfWriter = PdfWriter.getInstance(doc, new FileOutputStream("E:/HelloWorld.pdf"));
		   int intPermissions = PdfWriter.ALLOW_PRINTING; 
		   //要是用这个方法需要引入一个jar包(bcprov-jdk15-137.jar)。
		   //第一个参数:打开时需要的密码;第二个参数:实用其他其他权限时使用的密码;
		   //第三个参数:可使用的权限;第四个参数:密码类型
		   pdfWriter.setEncryption("123456".getBytes(), "789456".getBytes(), intPermissions, false);
		   //pdfWriter.setEncryption(null, null, intPermissions, false);
		   
		   BaseFont bfChinese = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", false);   
		   Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.GREEN);   
		   doc.open();
		   Paragraph par = new Paragraph("你好!世界!!",fontChinese);
		   
		   doc.add(par);  
		   doc.close();  
	   }  
}


  • (2.5 MB)
  • 下载次数: 10
阅读(688) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~