使用java密码保护pdf

我想将现有的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);