我有以下内容:
- 例程 X 每天创建一个 PDF 文件。
- 例程 Y 将此文件附加到 Outlook 电子邮件并将其发送给收件人。
以上都在VBA中。它们是从 C# 控制台应用程序调用的。
创建 PDF 后,我需要对其进行密码保护。在不购买第三方软件的情况下通过 VBA 做到这一点是相当复杂的。
使用 C# 最简单的解决方案是什么?
(我怀疑我们花费的金额与答案的复杂性之间存在反比关系!)
我有以下内容:
以上都在VBA中。它们是从 C# 控制台应用程序调用的。
创建 PDF 后,我需要对其进行密码保护。在不购买第三方软件的情况下通过 VBA 做到这一点是相当复杂的。
使用 C# 最简单的解决方案是什么?
(我怀疑我们花费的金额与答案的复杂性之间存在反比关系!)
PDFSharp应该能够使用密码保护 PDF 文件:
// Open an existing document. Providing an unrequired password is ignored.
PdfDocument document = PdfReader.Open(filename, "some text");
PdfSecuritySettings securitySettings = document.SecuritySettings;
// Setting one of the passwords automatically sets the security level to
// PdfDocumentSecurityLevel.Encrypted128Bit.
securitySettings.UserPassword = "user";
securitySettings.OwnerPassword = "owner";
// Don't use 40 bit encryption unless needed for compatibility reasons
//securitySettings.DocumentSecurityLevel = PdfDocumentSecurityLevel.Encrypted40Bit;
// Restrict some rights.
securitySettings.PermitAccessibilityExtractContent = false;
securitySettings.PermitAnnotations = false;
securitySettings.PermitAssembleDocument = false;
securitySettings.PermitExtractContent = false;
securitySettings.PermitFormsFill = true;
securitySettings.PermitFullQualityPrint = false;
securitySettings.PermitModifyDocument = true;
securitySettings.PermitPrint = false;
// Save the document...
document.Save(filename);
参考:
http ://www.pdfsharp.net/wiki/ProtectDocument-sample.ashx