本文介绍如何通过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. 一个vuepress配置问题,引发的js递归算法思考

    前言 这两天在尝试用语雀+ vuepress + github 搭建个人博客. 小破站地址 :王天的 web 进阶之路 语雀作为编辑器,发布文档推送 github,再自动打包部署,大概流程如下. 问题 ...

  2. 惊奇!Android studio内部在调用Eclipse

    现在用Android studio的人越来越多,主要是说谷歌不再支持Eclipse,而力推Android studio.但是as也太不给力了,我之前写过一篇博客提到. 今天要说的是一个惊天的消息,如题 ...

  3. 如何打开关闭Edge鼠标手势

    概述 今天突然发现edge有了一个鼠标手势,用起来不是很适应,所以决定将其关掉. 操作步骤 点击edge右上角的三个点 在下拉菜单中选择设置 点开设置之后出现如图所示的界面,然后选择外观 往下面拉页面 ...

  4. select...for update到底是加了行锁,还是表锁?

    前言 前几天,知识星球中的一个小伙伴,问了我一个问题:在MySQL中,事务A中使用select...for update where id=1锁住了,某一条数据,事务还没提交,此时,事务B中去用sel ...

  5. camerabin error:"Internal data stream error,使用QT打开MIPI摄像头

    使用QT自带的QCamera打开MIPI摄像头 遇到:camerabin error:"Internal data stream error 降低分辨率为640*480 TRANSLATE ...

  6. 逻辑漏洞挖掘之CSRF漏洞原理分析及实战演练

    一.前言 2月份的1.2亿条用户地址信息泄露再次给各大公司敲响了警钟,数据安全的重要性愈加凸显,这也更加坚定了我们推行安全测试常态化的决心.随着测试组安全测试常态化的推进,有更多的同事对逻辑漏洞产生了 ...

  7. ubuntu20.04不定时卡死,鼠标和键盘都不可用,且tty无效

    事情的经过: 已经在ubuntu上安装了好多东西,配置了好多环境,最近突然莫名卡死.我遇到的问题是: 1.如果开机之后只是打开终端,打开编辑器之类的操作,系统不会卡死. 2.一旦打开firefox火狐 ...

  8. Python 包管理器入门指南

    什么是 PIP? PIP 是 Python 包管理器,用于管理 Python 包或模块.注意:如果您的 Python 版本是 3.4 或更高,PIP 已经默认安装了. 什么是包? 一个包包含了一个模块 ...

  9. 【pwn】整数溢出

    这是ctfshow上面的一道题 这边v1和v2定义时都是int,有符号整数,想让v1-v2=9,可以考虑负数,但是这个函数过滤了负号   if ( strchr(s, 45) )    return ...

  10. .net 温故知新【13】:Asp.Net Core WebAPI 使用依赖注入DI

    一.使用DI注入 在之前的文章中已经讲过DI的概念(.net 温故知新:[7]IOC控制反转,DI依赖注入),基于控制台程序演示了DI依赖注入的使用,基于Microsoft.Extensions.De ...