在现代,带有 QR 码的数字签名 PDF 对于自动化数字处理系统来说变得更加安全且可快速验证。使用二维码的另一个很好的理由是它们能够包含很多有用的信息。如果您热衷于学习如何使用 C# 中的二维码对 PDF** 文件进行电子签名,那么您来对地方了。
本文将涵盖以下几点:
使用 QR 码对 PDF 进行数字签名的 C# 库
您可以 下载 DLL 或通过在 NuGet 程序包管理器控制台中运行命令(如下所示)来安装它。
Install-Package GroupDocs.Signature
在 C# 中使用二维码对 PDF 进行数字签名的步骤
安装完成后,我们开始写几行代码。
请按照下面提到的步骤和代码段进行操作:
- 实例化 Signature 类并将源文档的路径作为构造函数参数传递。
- 初始化QrCodeSignOptions类实例,设置EncodeType和Text属性。
- 调用Signature类的Sign方法并将输出文件的路径和QrCodeSignOptions传递给它。
您只需将以下代码示例复制并粘贴到您的 C# 文件中:
using (Signature signature = new Signature("sample.pdf")) | |
{ | |
// create QRCode option with predefined QRCode text | |
QrCodeSignOptions options = new QrCodeSignOptions("JohnSmith") | |
{ | |
// setup QRCode encoding type | |
EncodeType = QrCodeTypes.QR, | |
// set signature position | |
Left = 100, | |
Top = 100 | |
}; | |
signature.Sign("SampleSigned.pdf", options); | |
} |
输出如下图所示:
使用 C# 中的 QR 代码对 PDF 进行电子签名 - 高级选项
PDF eSign 库在 QrCodeSignOptions 类中提供了一些额外的有用选项。您可以使用此类来指定签名对齐方式、边距、边框、字体、颜色和背景。此外,您可以使用 SignResult 类来验证新创建的签名的结果。
以下是使用高级选项创建二维码的步骤:
- 通过提供源文档的路径作为构造函数参数来初始化 Signature 类的新实例。 2.实例化QrCodeSignOptions类的一个实例。
- 设置签名的文本和编码类型。
- 设置签名的位置。
- 指定签名的对齐方式、边距、边框、字体、颜色和背景。
- 调用Signature 类的Sign 方法并将输出文件的路径和QrCodeSignOptions 传递给它。
- 您可以选择获取 SignResult 对象来分析或验证新创建的签名。
以下 C# 代码显示了如何使用高级选项对带有 QR 码的 PDF 进行签名:
using (Signature signature = new Signature("sample.pdf")) | |
{ | |
// create QRCode option with predefined QRCode text | |
QrCodeSignOptions options = new QrCodeSignOptions("12345678") | |
{ | |
// setup QRCode encoding type | |
EncodeType = QrCodeTypes.QR, | |
// set signature position | |
Left = 100, | |
Top = 100, | |
// set signature alignment | |
// when VerticalAlignment is set the Top coordinate will be ignored. | |
// Use Margin properties Top, Bottom to provide vertical offset | |
VerticalAlignment = VerticalAlignment.Top, | |
// when HorizontalAlignment is set the Left coordinate will be ignored. | |
// Use Margin properties Left, Right to provide horizontal offset | |
HorizontalAlignment = HorizontalAlignment.Right, | |
Margin = new Padding() { Top = 20, Right = 20 }, | |
// adjust signature appearance | |
// setup signature border | |
Border = new Border() | |
{ | |
Color = Color.DarkGreen, | |
DashStyle = GroupDocs.Signature.Domain.DashStyle.DashLongDashDot, | |
Transparency = 0.5, | |
Visible = true, | |
Weight = 2 | |
}, | |
// set text color and Font | |
ForeColor = Color.Red, | |
Font = new SignatureFont { Size = 12, FamilyName = "Comic Sans MS" }, | |
// setup background | |
Background = new Background() | |
{ | |
Color = Color.LimeGreen, | |
Transparency = 0.5, | |
Brush = new LinearGradientBrush(Color.LimeGreen, Color.DarkGreen) | |
} | |
}; | |
// sign document to file and pouplate the SignResut | |
SignResult signResult = signature.Sign("signed.pdf", options); | |
Console.WriteLine("\nList of newly created signatures:"); | |
int number = 1; | |
foreach (BaseSignature temp in signResult.Succeeded) | |
{ | |
Console.WriteLine($"Signature #{number++}: Type: {temp.SignatureType} Id:{temp.SignatureId}, Location: {temp.Left}x{temp.Top}. Size: {temp.Width}x{temp.Height}"); | |
} | |
} |
您将获得如下图所示的输出:
获得免费许可证
您可以利用 免费临时许可证 来测试 API,而不受评估限制。
结论
在本文中,我们学习了如何使用电子签名库在 C# 中使用二维码对 PDF 进行数字签名。此外,您还了解了一些在 PDF 文档中添加二维码签名的高级选项。您可以访问文档了解数字签名库的其他功能。
此外,我们建议您遵循我们的入门指南。
问一个问题
您可以在我们的论坛 上让我们知道您的问题或疑问。