Gle*_*rie 13 c# pdf-generation itextsharp
StackOverflow上的以下问题和答案显示了如何生成在没有适当密码的情况下无法打开的PDF.
我想类似地使用这个框架,但略微修改,以允许我的用户"打开"PDF而不需要密码,但只允许他们编写PDF,如果他们有密码.
这可能与iTextSharp有关吗?
如果这很重要,我在WF 4.0自定义活动中使用C#4.0.
Chr*_*aas 29
是的,您可以传递两个密码PdfEncryptor.Encrypt(),userPassword和ownerPassword.只需传递null给userPassword人们就可以在不指定密码的情况下打开它.
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)