iTextSharp密码保护的PDF

Gle*_*rie 13 c# pdf-generation itextsharp

StackOverflow上的以下问题和答案显示了如何生成在没有适当密码的情况下无法打开的PDF.

使用C#密码保护的PDF

我想类似地使用这个框架,但略微修改,以允许我的用户"打开"PDF而不需要密码,但只允许他们编写PDF,如果他们有密码.

这可能与iTextSharp有关吗?

如果这很重要,我在WF 4.0自定义活动中使用C#4.0.

Chr*_*aas 29

是的,您可以传递两个密码PdfEncryptor.Encrypt(),userPasswordownerPassword.只需传递nulluserPassword人们就可以在不指定密码的情况下打开它.

        string WorkingFolder = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
        string InputFile = Path.Combine(WorkingFolder, "Test.pdf");
        string OutputFile = Path.Combine(WorkingFolder, "Test_enc.pdf");

        using (Stream input = new FileStream(InputFile, FileMode.Open, FileAccess.Read, FileShare.Read))
        {
            using (Stream output = new FileStream(OutputFile, FileMode.Create, FileAccess.Write, FileShare.None))
            {
                PdfReader reader = new PdfReader(input);
                PdfEncryptor.Encrypt(reader, output, true, null, "secret", PdfWriter.ALLOW_SCREENREADERS);
            }
        }
Run Code Online (Sandbox Code Playgroud)