PDF控件Spire.PDF for .NET【安全】演示:如何在 PDF 中添加签名字段

Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 Spire.PDF 类库,开发人员可以新建一个 PDF 文档或者对现有的 PDF 文档进行处理,且无需安装 Adobe Acrobat。

E-iceblue功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式

Spire.PDF for.net下载 Spire.PDF for java下载

除了创建签名之外,Spire.PDF还允许我们使用Spire.Pdf.Fields命名空间中的PdfSignatureField 类和PdfFieldCollection.Add (PdfField字段)方法向PDF添加签名字段。添加完成后,我们可以点击字段手动将签名添加到PDF文档中。

本文介绍如何使用 Spire.PDF 将签名字段添加到 PDF 文档的指定页面。

详细步骤和代码片段:

第 1 步:创建一个新的 PDF 文档并向其中添加页面。

复制代码
PdfDocument pdfdoc = new PdfDocument();
PdfPageBase page = pdfdoc.Pages.Add();

步骤 2:使用 PdfSignatureField 类通过传递两个参数:页面和签名字段名称,将命名签名字段添加到指定页面。

复制代码
PdfSignatureField signaturefield = new PdfSignatureField(page, "Signature");

步骤 3:设置签名字段的边框宽度、样式、颜色、突出显示模式和边界。

复制代码
signaturefield.BorderWidth = 1.0f;
signaturefield.BorderStyle = PdfBorderStyle.Solid;
signaturefield.BorderColor = new PdfRGBColor(System.Drawing.Color.Black);
signaturefield.HighlightMode = PdfHighlightMode.Outline;
signaturefield.Bounds = new RectangleF(100, 100, 100, 100);

步骤 4:将签名字段添加到文档的根字段。

复制代码
pdfdoc.Form.Fields.Add(signaturefield);

步骤 5:保存文档。

复制代码
pdfdoc.SaveToFile("AddSignField.pdf", FileFormat.PDF);

运行代码后,我们会得到结果PDF文件,首页有签名字段,有效截图如下:

完整代码

复制代码
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Fields;
using Spire.Pdf.Graphics;

namespace Add_Signature_Filed_to_PDF
{
class Program
{
static void Main(string[] args)
{
PdfDocument pdfdoc = new PdfDocument();
PdfPageBase page = pdfdoc.Pages.Add();

PdfSignatureField signaturefield = new PdfSignatureField(page, "Signature");
signaturefield.BorderWidth = 1.0f;
signaturefield.BorderStyle = PdfBorderStyle.Solid;
signaturefield.BorderColor = new PdfRGBColor(System.Drawing.Color.Black);
signaturefield.HighlightMode = PdfHighlightMode.Outline;
signaturefield.Bounds = new RectangleF(100, 100, 100, 100);
pdfdoc.Form.Fields.Add(signaturefield);
pdfdoc.SaveToFile("AddSignField.pdf", FileFormat.PDF);
}
}
}

以上便是如何在 PDF 中添加签名字段,如果您有其他问题也可以继续浏览本系列文章,获取相关教程~

相关推荐
米小虾2 小时前
AI Agent 安全实战指南:当智能体开始"不听话",开发者该如何应对?
人工智能·安全·agent
CSharp精选营12 小时前
.NET 8 与 .NET 9 支持终止倒计时:开发者需要了解什么
.net·lts·.net8·.net9·码农刚子·升级迁移·sts·支持终止
tntxia14 小时前
网络安全漏洞修复(一)
安全
泯泷2 天前
第 2 篇:设计第一套字节码:Opcode、Instruction 与 Constant Pool
前端·javascript·安全
泯泷2 天前
第 1 篇:从 1 + 2 开始:亲手写出第一台 JSVM
前端·javascript·安全
hez20103 天前
在 .NET 上构建超大托管数组
c#·.net·.net core·gc·clr
Flynt7 天前
npm v12 来了:allowScripts 默认关闭,我的项目差点跑不起来
安全·npm·node.js
唐青枫9 天前
线程不是越多越快:C#.NET Thread 生命周期、同步与后台工作线程实战
c#·.net
唐青枫10 天前
别只会反射:C#.NET Emit 动态生成代码实战详解
c#·.net