使用IRONPDF

如何在 .NET 中创建 PDF 签名

本文将深入探讨 IronPDF 的其他特性和功能,以及示例源代码片段,以帮助您开始将数字签名集成到 PDF 文件中。

了解数字签名和IronPDF

数字签名作为传统手写签名的电子对应物,为电子文档提供了额外的安全和可信度。 使用IronPDF,数字签署PDF文档变得轻而易举,允许开发者轻松生成、验证、管理和添加数字签名

设置 IronPDF

为了确保将IronPDF库顺利集成到您的.NET项目中,务必遵循这些步骤进行设置和实施。 这些说明假设您使用 Visual Studio 作为您的开发环境。

  1. 启动 Visual Studio 并打开应用程序。

  2. 从“文件”菜单中选择“新建项目”。

  3. 在出现的对话框中,选择“控制台应用程序”模板。

  4. 单击下一步按钮继续。

    请注意,这些初始步骤将为将IronPDF库顺利集成到您的项目中奠定基础。

    如何在.NET中创建PDF签名,图2:在Visual Studio中创建一个新项目

    在Visual Studio中创建新项目

    要继续创建您的项目,请在指定字段中提供必要的信息。 在“项目名称”框中输入适合您的项目名称,并在“位置”字段中指定新项目的所需位置。 输入此信息后,点击下一步按钮继续。

    如何在.NET中创建PDF签名,图3:配置您的新项目

    配置您的新项目

    要为您的项目配置框架,请按照以下步骤操作。 首先从下拉菜单中选择一个.NET Framework。 对于这种情况,建议使用 .NET 版本 6.0。 选择完成后,继续点击创建按钮以启动项目创建过程。

    如何在.NET中创建PDF签名,图4:.NET Framework选择

    .NET Framework 选择

    要继续,您需要为您的解决方案下载所需的IronPDF库。 为实现这一点,您可以在包管理器中使用以下代码。

:PackageInstall
:PackageInstall
SHELL

或者,可以使用NuGet包管理器查找IronPDF包。

如何在 .NET 中创建 PDF 签名,图 5:在 NuGet 包管理器 UI 中导航并安装 IronPDF 包

在 NuGet 包管理器 UI 中导航并安装 IronPDF 包

以编程方式添加数字签名

让我们探索如何使用IronPDF为PDF文档添加数字签名。

创建新的PDF文档

要开始,您需要使用ChromePdfRenderer创建一个新的PDF文档。 使用RenderHtmlAsPdf将HTML字符串转换为PDF文档。 这里有一个例子:

using IronPdf;

// Create a PDF from a HTML string
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

// Export to a file or Stream
pdf.SaveAs("output.pdf");
using IronPdf;

// Create a PDF from a HTML string
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

// Export to a file or Stream
pdf.SaveAs("output.pdf");
Imports IronPdf

' Create a PDF from a HTML string
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")

' Export to a file or Stream
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

您还可以使用RenderHtmlFileAsPdf方法将HTML文件呈现为PDF。 这里有一个例子:

using IronPdf;

// Create a PDF from an existing HTML file
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlFileAsPdf("example.html");

// Export to a file or Stream
pdf.SaveAs("output.pdf");
using IronPdf;

// Create a PDF from an existing HTML file
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlFileAsPdf("example.html");

// Export to a file or Stream
pdf.SaveAs("output.pdf");
Imports IronPdf

' Create a PDF from an existing HTML file
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderHtmlFileAsPdf("example.html")

' Export to a file or Stream
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

加载现有的PDF文档

如果您想要签署已制作完成的PDF文档,IronPDF允许您使用PdfDocument.FromFile方法加载它们。 这里有一个例子:

using IronPdf;

// Load an existing PDF document
var document = PdfDocument.FromFile("path/to/document.pdf");
using IronPdf;

// Load an existing PDF document
var document = PdfDocument.FromFile("path/to/document.pdf");
Imports IronPdf

' Load an existing PDF document
Private document = PdfDocument.FromFile("path/to/document.pdf")
$vbLabelText   $csharpLabel

生成自签名证书并签署PDF

在添加数字签名之前,您需要一个数字证书。 您可以使用 Adobe Acrobat 轻松创建开源 SSL 数字证书; 它们可以是 PFX 数字证书或 P12 数字证书。 一旦这些证书生成后,您可以轻松使用它通过IronPDF签署PDF。

在下面的代码中,您可以使用IronPDF和PFX文件高级电子签名对PDF文件进行签名。 本教程向您展示如何使用Adobe Acrobat生成证书。

using IronPdf;
using IronPdf.Signing;
using IronSoftware.Drawing;
using System;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument doc = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
var signature = new PdfSignature("Iron.pfx", "123456")
{
    SigningContact = "support@ironsoftware.com",
    SigningLocation = "Chicago, USA",
    SigningReason = "To show how to sign a PDF"
};
doc.Sign(signature);
doc.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using IronSoftware.Drawing;
using System;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument doc = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
var signature = new PdfSignature("Iron.pfx", "123456")
{
    SigningContact = "support@ironsoftware.com",
    SigningLocation = "Chicago, USA",
    SigningReason = "To show how to sign a PDF"
};
doc.Sign(signature);
doc.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports IronSoftware.Drawing
Imports System

Private renderer As New ChromePdfRenderer()
Private doc As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>")
Private signature = New PdfSignature("Iron.pfx", "123456") With {
	.SigningContact = "support@ironsoftware.com",
	.SigningLocation = "Chicago, USA",
	.SigningReason = "To show how to sign a PDF"
}
doc.Sign(signature)
doc.SaveAs("signed.pdf")
$vbLabelText   $csharpLabel

为PDF文档添加数字签名

要在 PDF 文档中添加电子签名,IronPDF 提供了PdfSignature 方法。 此方法使用证书和其他必要参数创建一个数字签名字段,并将其嵌入PDF文档中。 以下是数字签署PDF的示例:

using IronPdf.Signing;
using IronSoftware.Drawing;

// Create PdfSignature object
var sig = new PdfSignature("IronSoftware.pfx", "123456");
sig.SignatureImage = new PdfSignatureImage("IronSoftware.png", 0, new CropRectangle(0, 600, 100, 100));
using IronPdf.Signing;
using IronSoftware.Drawing;

// Create PdfSignature object
var sig = new PdfSignature("IronSoftware.pfx", "123456");
sig.SignatureImage = new PdfSignatureImage("IronSoftware.png", 0, new CropRectangle(0, 600, 100, 100));
Imports IronPdf.Signing
Imports IronSoftware.Drawing

' Create PdfSignature object
Private sig = New PdfSignature("IronSoftware.pfx", "123456")
sig.SignatureImage = New PdfSignatureImage("IronSoftware.png", 0, New CropRectangle(0, 600, 100, 100))
$vbLabelText   $csharpLabel

验证数字签名

IronPDF允许您以编程方式验证PDF文档中的数字签名。 您可以使用VerifyPdfSignatures方法来验证文档中的签名是否仍然有效。 这里有一个例子:

using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("annual_census.pdf");
bool isValid = pdf.VerifyPdfSignatures();
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("annual_census.pdf");
bool isValid = pdf.VerifyPdfSignatures();
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("annual_census.pdf")
Private isValid As Boolean = pdf.VerifyPdfSignatures()
$vbLabelText   $csharpLabel

为PDF添加水印

如果没有可用于签署PDF文档的数字证书,您可以始终在角落或空白处以数字方式添加水印,以在PDF文件上保留某种所有权。

在下面的源代码中,使用[ApplyWatermark](/object-reference/api/IronPdf.PdfDocument.html#IronPdf_PdfDocument_ApplyWatermark_System_String_System_Int32_IronPdf_Editing_VerticalAlignment_IronPdf_Editing_HorizontalAlignment_)方法将水印应用于PDF文件。

using IronPdf;
using IronPdf.Editing;

var pdf = PdfDocument.FromFile("invoice.pdf");
pdf.ApplyWatermark("<img src='signature.png'/>", 90, VerticalAlignment.Bottom, HorizontalAlignment.Right);
pdf.SaveAs("official_invoice.pdf");
using IronPdf;
using IronPdf.Editing;

var pdf = PdfDocument.FromFile("invoice.pdf");
pdf.ApplyWatermark("<img src='signature.png'/>", 90, VerticalAlignment.Bottom, HorizontalAlignment.Right);
pdf.SaveAs("official_invoice.pdf");
Imports IronPdf
Imports IronPdf.Editing

Private pdf = PdfDocument.FromFile("invoice.pdf")
pdf.ApplyWatermark("<img src='signature.png'/>", 90, VerticalAlignment.Bottom, HorizontalAlignment.Right)
pdf.SaveAs("official_invoice.pdf")
$vbLabelText   $csharpLabel

许可和定价

IronPDF 是一款出色的 C# 库,为开发人员提供了免费使用它进行开发的自由。您可以试用其免费试用版以测试其所有功能。 此外,它也可以在任何时候获得商业用途的许可。该库满足各类实体的需求,包括个人开发者、机构、多国组织以及SaaS和OEM再分发。

使用IronPDF,有多种许可选项可供选择,确保所有人都能使用。 这些许可证涵盖了一系列好处,如30天退款保证、一年的全面支持和升级、在开发、测试和生产环境中的验证,以及永久许可证,这意味着一次性购买。

对于寻找经济实惠选项的用户,Lite套餐的固定价格为$749,没有任何经常性费用。 如果您需要更详细的信息或帮助,以确定最适合您需求的许可证,请参阅产品许可证页面,在那里您可以找到更多的资源和指导。

如何在 .NET 中创建 PDF 签名,图6:IronPDF 许可

IronPDF 许可

结论

在PDF文档中实现数字签名是确保文档完整性、真实性和安全性的关键方面。

IronPDF,一个全面的.NET PDF签名库,通过为开发人员提供强大的工具和API来简化这一过程。

本文探讨了IronPDF的功能和能力,并提供了示例代码片段,以帮助您开始以编程方式向PDF文档添加数字签名。 通过利用IronPDF的功能,您可以提高PDF文件的安全性和可信度,从而在各种应用程序中实现安全的文档交换。

此外,IronPDF 为开发人员提供了将 PDF 文档渲染为图像 和从 PDF 中提取文本和内容的方法。 IronPDF 还能够在 PDF 中渲染图表添加条形码添加水印,甚至可以通过编程方式处理 PDF 表单

请记得参考官方IronPDF文档以及本文中提供的示例代码,以获取更多详细信息和全面的实施指南。 有关使用IronPDF的数字签名库的详细教程和完整概览,请访问以下指南

Chipego
软件工程师
Chipego 拥有出色的倾听技巧,这帮助他理解客户问题并提供智能解决方案。他在 2023 年加入 Iron Software 团队,此前他获得了信息技术学士学位。IronPDF 和 IronOCR 是 Chipego 主要专注的两个产品,但他对所有产品的了解每天都在增长,因为他不断找到支持客户的新方法。他喜欢 Iron Software 的合作氛围,公司各地的团队成员贡献他们丰富的经验,以提供有效的创新解决方案。当 Chipego 离开办公桌时,你经常可以发现他在看书或踢足球。
< 前一页
如何在C#开发中将ChatGPT与IronPDF结合使用
下一步 >
如何在VB.NET中查看PDF文件