PDF签名

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

主要特点:

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

如何签署PDF文档

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

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

如何使用PFX文件流

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

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

如何应用不可见签名

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

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