繁体   English   中英

使用java将pdf作为密码保护

[英]making pdf as password protected with java

我想将现有的 PDF 作为密码保护,我正在使用我正在关注此 URL 的 itext

http://howtodoinjava.com/2014/07/29/create-pdf-files-in-java-itext-tutorial/

我开发了一个程序,可以发送带有 PDF 作为附件的邮件。 下面是我将 PDF 文件设置为密码保护的代码。

现在 PDF 文件附加在邮件中,但是当我尝试打开它时,我收到一个错误,指出它已损坏。

我在下面的代码中做错了什么?

//  attachment part
MimeBodyPart attachPart = new MimeBodyPart();
String filename = "c:\\SettingupRulesin outlook2003.pdf";

//OutputStream file = new FileOutputStream(new File("PasswordProtected.pdf"));
final OutputStream os = new FileOutputStream(filename);
com.itextpdf.text.Document doc = new com.itextpdf.text.Document();
PdfWriter writer = PdfWriter.getInstance(doc, os);
writer.setEncryption(USER_PASSWORD.getBytes(),
                     OWNER_PASSWORD.getBytes(), PdfWriter.ALLOW_PRINTING,
                     PdfWriter.ENCRYPTION_AES_128); 

os.close();


DataSource source = new FileDataSource(filename);
attachPart.setDataHandler(new DataHandler(source));
attachPart.setFileName(filename);

您使用PdfWriter 该类可用于从头开始创建新的 PDF,而不是操作现有的 PDF。 请改用PdfStamper来处理现有文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM