本文将介绍如何使用Spire.Doc给Word文档添加数字签名。
Spire.Doc提供了如下几种方法支持给Word文档添加数字签名:
- public void SaveToFile(string fileName, FileFormat fileFormat, byte[] certificateData, string securePassword);
- public void SaveToFile(string fileName, FileFormat fileFormat, string certificatePath, string securePassword);
- public void SaveToStream(Stream stream, FileFormat fileFormat, byte[] certificateData, string securePassword);
- public void SaveToStream(Stream stream, FileFormat fileFormat, string certificatePath, string securePassword);
- public static byte[] Sign(Stream sourceStream, byte[] certificateData, string securePassword);
- public static byte[] Sign(Stream sourceStream, string certificatePath, string securePassword);
以下示例展示了如何使用SaveToFile方法给Word文档添加数字签名并将结果保存为本地文件。
C#
//加载Word文档
Document doc = new Document("sample.docx");
//给Word文档添加数字签名并将结果保存为本地文件
doc.SaveToFile("AddDigitalSignature.docx", FileFormat.Docx2013, "gary.pfx", "e-iceblue");
VB.NET
'加载Word文档
Dim doc As Document = New Document("sample.docx")
'给Word文档添加数字签名并将结果保存为本地文件
doc.SaveToFile("AddDigitalSignature.docx", FileFormat.Docx2013, "gary.pfx", "e-iceblue")
此外我们还可以使用SaveToStream方法给Word文档添加数字签名并将结果保存至stream中。
C#
//加载Word文档
Document doc = new Document("sample.docx");
//创建一个FileStream
FileStream fs = new FileStream();
//给Word文档添加数字签名并将结果保存至stream中
doc.SaveToStream(fs, FileFormat.Docx2013, "gary.pfx", "e-iceblue");
fs.Flush();
VB.NET
'加载Word文档
Dim doc As Document = New Document("sample.docx")
'创建一个FileStream
Dim fs As FileStream = New FileStream
'给Word文档添加数字签名并将结果保存至stream中
doc.SaveToStream(fs, FileFormat.Docx2013, "gary.pfx", "e-iceblue")
fs.Flush
以下示例展示了如何使用Document类调用Sign方法给Word文档添加数字签名。
C#
//将Word文档读取到FileStream
FileStream fs = File.OpenRead("sample.docx");
//使用Sign方法给Word文档添加数字签名
byte[] result = Document.Sign(fs, "gary.pfx", "e-iceblue");
File.WriteAllBytes("AddDigitalSignature.docx", result);
fs.Flush();
VB.NET
'将Word文档读取到FileStream
Dim fs As FileStream = File.OpenRead("sample.docx")
'使用Sign方法给Word文档添加数字签名
Dim result() As Byte = Document.Sign(fs, "gary.pfx", "e-iceblue")
File.WriteAllBytes("AddDigitalSignature.docx", result)
fs.Flush
生成文档: