PDF 签名

Documentize PDF Signature for .NET 插件允许用户对 PDF 文档进行数字签名。它提供了添加签名的简化流程,确保真实性并保护 PDF 内容。该插件支持可见和不可见的签名,并提供定制签名位置、原因、联系信息等选项。

主要特性:

  • 数字签名 PDF 文档:用可见或不可见的数字签名保护您的文档。
  • PFX 支持:使用 PFX 证书对 PDF 文件进行签名。
  • 可定制选项:配置签名设置,如原因、位置和联系信息。
  • 可见和不可见签名:选择签名是否在文档上可见。

如何签署 PDF 文档

要使用 PFX 文件签署 PDF 文档,请按照以下步骤操作:

  1. 创建 Signature 类的实例。
  2. 用 PFX 文件路径和密码实例化 SignOptions 类。
  3. 将输入 PDF 和输出文件添加到选项中。
  4. 运行 Process 方法应用签名。
 1var signature = new Signature();
 2var signOptions = new SignOptions(@"C:\certificates\myCertificate.pfx", "pfxPassword");
 3
 4// 添加输入 PDF 并指定输出文件
 5signOptions.AddInput(new FileDataSource(@"C:\Samples\input.pdf"));
 6signOptions.AddOutput(new FileDataSource(@"C:\Samples\signedOutput.pdf"));
 7
 8// 配置签名选项
 9signOptions.Reason = "合同协议";
10signOptions.Contact = "johndoe@example.com";
11signOptions.Location = "纽约";
12signOptions.PageNumber = 1;
13signOptions.Visible = true;
14signOptions.Rectangle = new Rectangle(100, 100, 200, 150);
15
16// 将签名应用到文档
17signature.Process(signOptions);

如何使用流处理 PFX 文件

您还可以使用作为流提供的 PFX 证书来签署 PDF,而不是文件路径。这使证书存储的处理更加灵活。

  1. 创建 Signature 类的实例。
  2. 使用包含 PFX 和密码的流实例化 SignOptions
  3. 添加输入和输出文件。
  4. 运行 Process 方法应用签名。
 1using var pfxStream = File.OpenRead(@"C:\certificates\myCertificate.pfx");
 2var signature = new Signature();
 3var signOptions = new SignOptions(pfxStream, "pfxPassword");
 4
 5// 添加输入和输出文件
 6signOptions.AddInput(new FileDataSource(@"C:\Samples\input.pdf"));
 7signOptions.AddOutput(new FileDataSource(@"C:\Samples\signedOutput.pdf"));
 8
 9// 应用签名
10signature.Process(signOptions);

如何应用不可见签名

要添加不可见签名(在文档上不显示签名以保护文档),只需将 Visible 属性设置为 false

  1. 创建 SignOptions 的实例。
  2. Visible 设置为 false
  3. 添加输入和输出文件。
  4. 调用 Process 应用不可见签名。
 1var signature = new Signature();
 2var signOptions = new SignOptions(@"C:\certificates\myCertificate.pfx", "pfxPassword");
 3
 4// 配置不可见签名
 5signOptions.Visible = false;
 6
 7// 添加输入和输出文件
 8signOptions.AddInput(new FileDataSource(@"C:\Samples\input.pdf"));
 9signOptions.AddOutput(new FileDataSource(@"C:\Samples\invisiblySigned.pdf"));
10
11// 处理签名
12signature.Process(signOptions);
 中文