本文将介绍如何使用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
生成文档: