PDF添加数字签名
2017-03-29 00:00
441 查看
首先Nuget安装FreeSpire.PDF,添加引用。下面具体代码
这个签名不知道有用么,代码是官网Down下来的,签名上去了,但是我还是可编辑,不知道是本机问题还是,签名验证不搞好的问题,签名是自己用工具生成的.
PdfDocument doc = new PdfDocument();
doc.LoadFromFile("D:\\1.pdf");
//得到签名文件
string pfxPath = "D://123.pfx";
PdfCertificate digi = new PdfCertificate(pfxPath, "123");
//开始处理分页
for (int i = 0; i < doc.Pages.Count; i++)
{
//得到当前页
PdfPageBase page = doc.Pages[i];
Console.WriteLine(page.Size.Width + "===" + page.Size.Height);
//创建签名域
var signature = new PdfSignature(doc, page, digi, "demo");
RectangleF rec;
if (i == 0)
{
rec = new RectangleF(new PointF(380, 600), new SizeF(80, 80));
}
else if (i == doc.Pages.Count - 1)
{
//得到根据关键字得到的结果集
PdfTextFind result = page.FindText("合计").Finds[0];
rec = new RectangleF(result.Position, new SizeF(80, 80));
}
else
{
rec = new RectangleF(new PointF(670, 400), new SizeF(80, 80));
}
signature.Bounds = rec;
signature.IsTag = true;
//数字签名通用名称标签
signature.DigitalSignerLable = "Digitally signed by";
//数字签名通用名称
signature.DigitalSigner = "Harry Hu for Test";
signature.DistinguishedName = "DN:";
signature.LocationInfoLabel = "Location:";
signature.LocationInfo = "London";
signature.ReasonLabel = "Reason: ";
signature.Reason = "Le document est certifie";
signature.DateLabel = "Date: ";
signature.Date = DateTime.Now;
signature.ContactInfoLabel = "Contact: ";
signature.ContactInfo = "123456789";
signature.Certificated = false;
signature.ConfigGraphicType = ConfiguerGraphicType.Picture;
signature.ConfiguerGraphicPath = "D://1.jpg";
//权限等级
signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges;
}
//保存文档
doc.SaveToFile("D://Fill.pdf");
这个签名不知道有用么,代码是官网Down下来的,签名上去了,但是我还是可编辑,不知道是本机问题还是,签名验证不搞好的问题,签名是自己用工具生成的.
PdfDocument doc = new PdfDocument();
doc.LoadFromFile("D:\\1.pdf");
//得到签名文件
string pfxPath = "D://123.pfx";
PdfCertificate digi = new PdfCertificate(pfxPath, "123");
//开始处理分页
for (int i = 0; i < doc.Pages.Count; i++)
{
//得到当前页
PdfPageBase page = doc.Pages[i];
Console.WriteLine(page.Size.Width + "===" + page.Size.Height);
//创建签名域
var signature = new PdfSignature(doc, page, digi, "demo");
RectangleF rec;
if (i == 0)
{
rec = new RectangleF(new PointF(380, 600), new SizeF(80, 80));
}
else if (i == doc.Pages.Count - 1)
{
//得到根据关键字得到的结果集
PdfTextFind result = page.FindText("合计").Finds[0];
rec = new RectangleF(result.Position, new SizeF(80, 80));
}
else
{
rec = new RectangleF(new PointF(670, 400), new SizeF(80, 80));
}
signature.Bounds = rec;
signature.IsTag = true;
//数字签名通用名称标签
signature.DigitalSignerLable = "Digitally signed by";
//数字签名通用名称
signature.DigitalSigner = "Harry Hu for Test";
signature.DistinguishedName = "DN:";
signature.LocationInfoLabel = "Location:";
signature.LocationInfo = "London";
signature.ReasonLabel = "Reason: ";
signature.Reason = "Le document est certifie";
signature.DateLabel = "Date: ";
signature.Date = DateTime.Now;
signature.ContactInfoLabel = "Contact: ";
signature.ContactInfo = "123456789";
signature.Certificated = false;
signature.ConfigGraphicType = ConfiguerGraphicType.Picture;
signature.ConfiguerGraphicPath = "D://1.jpg";
//权限等级
signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges;
}
//保存文档
doc.SaveToFile("D://Fill.pdf");
相关文章推荐
- 对PDF进行数字签名,生成可信的文档
- 64位Windows操作系统手工为驱动程序添加数字签名(精华学习)
- 免杀-添加数字签名
- Java对文件添加数字签名
- PDF24 Creator:能创建pdf、添加水印和签名、截图的软件
- PDF 中添加文本框 签名 修改文字 图章
- PDF24 Creator:能创建pdf、添加水印和签名、截图的软件
- 给程序集添加数字签名和验证程序集的数据签名
- 为PE文件添加数字签名
- 为PE文件添加数字签名
- 手动添加PE文件数字签名信息及格式详解图之下(历史代码,贴出学习)
- 去除PDF文件的数字签名、密码
- CA证书应用一:Outlook发送邮件时,为邮件添加数字签名
- 为Word2003宏添加VBA项目的数字证书签名
- 添加数字签名教程
- PDF文档如何添加图片签名
- 给PE文件添加数字签名的VC6代码
- CA证书应用二:制作带数字签名的PDF文档
- PDF文档如何添加图片签名
- 把iPad上面的签名添加到PDF文档上