我的目标是使用 iTextSharp5 为任意无密码保护的 PDF 的副本添加密码保护。我尝试了下面的代码,我在互联网上的几个地方找到了该代码。但是,我仍然可以使用 Adobe Acrobat 打开据称受保护的文件,而无需密码。如果改为使用 Adobe Acrobat 本身而不是 iTextSharp 来密码保护文件,则生成的文件需要密码才能打开。我做错了什么?
using (Stream input = new FileStream(@"Original.pdf", FileMode.Open, FileAccess.Read, FileShare.Read))
{
using (Stream output = new FileStream(@"New.pdf", FileMode.Create, FileAccess.Write, FileShare.None))
{
PdfReader PDFreader = new PdfReader(input);
PdfEncryptor.Encrypt(PDFreader, output, true, null, "password", PdfWriter.ALLOW_SCREENREADERS);
}
}
和往常一样,这是缺乏知识和操作员错误。我只为“所有者”设置了密码。 “用户”密码为空。一旦我设置了“用户”密码,它就开始正常工作。