本文介绍如何通过C#及VB.NET代码来添加数字签名到PPT幻灯片文档,以及如何将文档中的数字签名删除。

辅助工具:

  • Spire.Presentation.dll (dll版本为5.11.2)

注意:2种dll文件下载及引用方法:

方法1下载包,解压到指定路径,并在VS程序中添加引用Spire.Presentation.dll文件;

方法2:通过Nuget下载。

完成引用后,如下效果:

示例1—添加数字签名到PPT文档

using Spire.Presentation;
using System;
using System.Security.Cryptography.X509Certificates; namespace AddDigitalSignature
{
class Program
{
static void Main(string[] args)
{
//加载PPT测试文档
Presentation ppt = new Presentation();
ppt.LoadFromFile("test.pptx"); //添加数字签名
X509Certificate2 x509 = new X509Certificate2("cer.pfx", "123654");
ppt.AddDigitalSignature(x509, "Manager", DateTime.Now); //保存文档
ppt.SaveToFile("AddDigitalSignature.pptx", FileFormat.Pptx2013);
System.Diagnostics.Process.Start("AddDigitalSignature.pptx");
}
}
}

VB.NET

Imports Spire.Presentation
Imports System.Security.Cryptography.X509Certificates Namespace AddDigitalSignature
Class Program
Private Shared Sub Main(args As String())
'加载PPT测试文档
Dim ppt As New Presentation()
ppt.LoadFromFile("test.pptx") '添加数字签名
Dim x509 As New X509Certificate2("cer.pfx", "123654")
ppt.AddDigitalSignature(x509, "Manager", DateTime.Now) '保存文档
ppt.SaveToFile("AddDigitalSignature.pptx", FileFormat.Pptx2013)
System.Diagnostics.Process.Start("AddDigitalSignature.pptx")
End Sub
End Class
End Namespace

数字签名添加效果:

示例2—删除PPT文档中的数字签名

C#

using Spire.Presentation;

namespace RemoveDigitalSignature
{
class Program
{
static void Main(string[] args)
{
//加载包含数字签名的PPT文档
Presentation ppt = new Presentation();
ppt.LoadFromFile("AddDigitalSignature.pptx"); //判断文档是否已签名
if (ppt.IsDigitallySigned == true)
{
//移除所有签名
ppt.RemoveAllDigitalSignatures();
} //保存文档
ppt.SaveToFile("RemoveDigitalSignature.pptx", FileFormat.Pptx2013);
System.Diagnostics.Process.Start("RemoveDigitalSignature.pptx");
}
}
}

VB.NET

Imports Spire.Presentation

Namespace RemoveDigitalSignature
Class Program
Private Shared Sub Main(args As String())
'加载包含数字签名的PPT文档
Dim ppt As New Presentation()
ppt.LoadFromFile("AddDigitalSignature.pptx") '判断文档是否已签名
If ppt.IsDigitallySigned = True Then
'移除所有签名
ppt.RemoveAllDigitalSignatures()
End If '保存文档
ppt.SaveToFile("RemoveDigitalSignature.pptx", FileFormat.Pptx2013)
System.Diagnostics.Process.Start("RemoveDigitalSignature.pptx")
End Sub
End Class
End Namespace

C#/VB.NET 添加、删除PPT幻灯片中的数字签名的更多相关文章

  1. Java 添加 、读取以及删除PPT幻灯片中的视频、音频文件

    在PPT中,可以操作很多种元素,如形状.图形.文字.图片.表格等,也可以插入视频或者音频文件,来丰富幻灯片的内容呈现方式.下面将介绍在Java程序中如何来添加视频.音频文件到PPT幻灯片,读取和删除幻 ...

  2. C# 在PPT幻灯片中创建图表

    图表能够很直观的表现数据在某个时间段的变化趋势,或者呈现数据的整体和局部之间的相互关系,相较于大篇幅的文本数据,图表更增加了我们分析数据时选择的多样性,是我们挖掘数据背后潜在价值的一种更为有效地方式. ...

  3. Java 添加、修改PPT幻灯片中的表格

    本文将介绍通过Java编程在PPT操作表格的方法.包括添加表格到PPT幻灯片,并设置表格样式.单元格对齐方式.单元格背景色.边框样式.字体.字号.合并单元格等:同时,通过加载已有表格的幻灯片也可以对表 ...

  4. C# 添加、修改、删除PPT中的超链接

    本文介绍通过C# 编程如何在PPT幻灯片中添加超链接的方法,添加链接时,可给文本或者图片添加超链接,链接对象可指向网页地址.邮件地址.指定幻灯片等,此外,也可以参考文中编辑.删除幻灯片中已有超链接的方 ...

  5. Java 添加、修改、读取、删除PPT备注

    概述 幻灯片中的备注信息是只提供给幻灯片演讲者观看的特定内容,在演讲者放映幻灯片时,备注信息可给演讲者提供讲解思路,起到辅助讲解的作用.本文将通过Java程序来演示如何操作PPT幻灯片中的备注信息,要 ...

  6. Java 添加、读取、删除PPT文档属性

    文档属性是一些描述性的信息,它未包含在文件的实际内容中,但提供了有关文件的信息,可用来帮助查找和整理文件.以下示例中将介绍通过Java程序来添加PPT文档属性.读取.删除PPT文档中已有属性的方法. ...

  7. office 2013幻灯片中插入SmartArt图形时出现错误下列一个或多个文件由于包含错误而无法运行

    office 2013幻灯片中插入SmartArt图形时出现错误下列一个或多个文件由于包含错误而无法运行 系统:win8 64位 PowerPoint2013 64位 在幻灯片中插入SmartArt图 ...

  8. Java:如何在PowerPoint幻灯片中创建散点图

    散点图是通过两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式.散点图将序列显示为一组点,值由点在图表中的位置表示,类别由图表中的不同标记表示,通常用于比较 ...

  9. WPF下的Richtextbox中实现表格合并,添加删除行列等功能

    .Net中已有现在的方法实现这些功能,不过可能是由于未完善,未把方法公开出来.只能用反射的方法去调用它. 详细信息可以查看.Net Framework 的源代码 http://referencesou ...

  10. 编辑 Ext 表格(一)——— 动态添加删除行列

    一.动态增删行 在 ext 表格中,动态添加行主要和表格绑定的 store 有关, 通过对 store 数据集进行添加或删除,就能实现表格行的动态添加删除.   (1) 动态添加表格的行  gridS ...

随机推荐

  1. Java 集合的排序(正序倒序)、查找元素的下边、最大值、最小值

    Java 集合的排序(正序倒序).查找元素的下边.最大值.最小值 集合的排序 集合查找对应元素的下标 集合的最大最小值 集合的排序 使用Collections.sort()排序,默认是递增.加上比较器 ...

  2. 深入解析Go非类型安全指针:技术全解与最佳实践

    本文全面深入地探讨了Go非类型安全指针,特别是在Go语言环境下的应用.从基本概念.使用场景,到潜在风险和挑战,文章提供了一系列具体的代码示例和最佳实践.目的是帮助读者在保证代码安全和效率的同时,更加精 ...

  3. css 10-13

    1.背影样式 backgroud-color                   背景颜色 backgroud-color :red backgroud-image                 背 ...

  4. 低代码平台探讨-MetaStore元数据缓存

    背景及需求 之前提到我们模型驱动的实现选择的是解释型,需要模型的元数据信息,在接到请求后动态处理逻辑. 此外,应用的通用能力中还包括:页面dsl查询,菜单查询等. 而且后期加入触发器,用户自定义api ...

  5. tunm二进制协议在python上的实现

    tunm二进制协议在python上的实现 tunm是一种对标JSON的二进制协议, 支持JSON的所有类型的动态组合 支持的数据类型 基本支持的类型 "u8", "i8& ...

  6. 洛谷1451(BFS)

    #include"bits/stdc++.h" using namespace std; int mp[110][110]; bool vis[110][110]; int dx[ ...

  7. MicroSIP-3.21.3+pjproject-2.13.1+ opus-1.3.1+VS2019

    本文记录了我通过VS2019编译MicroSIP-3.21.3开源项目的过程. Microsip:MicroSIP source code pjproject:Download PJSIP - Ope ...

  8. 实战攻防演练-Linux写入ssh密钥,利用密钥登录

    前言 密钥形式登录的原理是利用密钥生成器制作一对密钥,一只公钥和一只私钥.将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录.这样一来,没有私钥,任何人都无法通过 SSH 暴力破解 ...

  9. html-0

    选择器 (一):first-child和:first-of-type :first-child第一个元素 <!DOCTYPE html> <html> <head> ...

  10. JavaBean 之Hello World(入门实例)

    本文主要参考<JavaEE企业应用实战>的例子,经过调试成功. 前言:如果多个jsp页面需要重复使用某段代码,我们可以把这段代码定义成Java类的方法,让后让多个jsp页面调用该方法即可, ...