C#, VB.NET如何加密PDF文档
在日常工作中,人们通常通过加密PDF文档的方式来保护PDF文档。不管是公司还是个人,使用PDF加密术来设置一些权限是必不可少的。为了使PDF文档既可读又不能被未授权的用户所更改,一份PDF文档往往需要两个密码:所有者密码和用户密码。本文我将给大家分享如何使用一个免费版PDF组件—Free Spire.PDF,以C#/VB.NET编程的方式来快速地加密PDF文档。
这个免费版的PDF组件是由E-iceblue公司开发的,它可以通过设置所有者密码和用户密码来加密PDF文档。所有者密码可以完全访问PDF文档,例如重置密码和权限;用户密码虽然可以允许用户打开对应的PDF文档,但也会受制于所有者设置的一些权限。
在加密方案中,命名空间Spire.PDFDocument.Security下的PDFSecurity类的实例对象用来设置所有者密码和用户密码。
如果您对该组件感兴趣,可以从官网下载,组件下载安装后,再加载您的PDF文档,然后就可以保护它了。
接下来我将介绍如何以C#/VB.NET编程的方式来加密PDF文档:
步骤1:新建一个PDF文档对象(因为我没有现有的PDF文档,所以就新建了一个)
[C#] PdfDocument doc = new PdfDocument();
步骤2:通过“Spire.Pdf.Security.PdfEncryptionKeySize”的枚举值来设置密钥长度。密钥长度有3种可用的类型:Key128Bit, Key256Bit 和 Key40Bit,您可以使用其中的任意一种。
[C#] doc.Security.KeySize = PdfEncryptionKeySize.Key256Bit;
步骤3:通过设置所有者密码和用户密码来加密PDF文档。注意:您所设置的密钥长度不能超过可用的密钥长度。
[C#] doc.Security.OwnerPassword = "e-iceblue";
doc.Security.UserPassword = "pdfcomponent";
步骤4:指定用户密码的访问权限。在此方案中,有9种可用的权限,请查看下图:
[C#] doc.Security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent;
步骤5:保存文档
[C#] doc.SaveToFile("result.pdf",FileFormat.PDF);
项目运行后,当你打开这个加密的PDF文档时就需要输入密码了。请看下面的效果截图:
C#完整代码:
using Spire.Pdf;
using Spire.Pdf.Security;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace __encryption
{
class Program
{
static void Main(string[] args)
{
PdfDocument doc = new PdfDocument();
doc.Security.KeySize = PdfEncryptionKeySize.Key256Bit;
doc.Security.OwnerPassword = "e-iceblue";
doc.Security.UserPassword = "pdfcomponent";
doc.Security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent;
doc.SaveToFile("result.pdf", FileFormat.PDF);
}
}
}
VB.NET完整代码:
Imports Spire.Pdf
Imports Spire.Pdf.Security
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text Namespace __encryption
Class Program
Private Shared Sub Main(args As String())
Dim doc As New PdfDocument()
doc.Security.KeySize = PdfEncryptionKeySize.Key256Bit
doc.Security.OwnerPassword = "e-iceblue"
doc.Security.UserPassword = "pdfcomponent"
doc.Security.Permissions = PdfPermissionsFlags.Print Or PdfPermissionsFlags.CopyContent
doc.SaveToFile("result.pdf", FileFormat.PDF)
End Sub
End Class
End Namespace
希望这篇文章能给您带来一定的帮助。感谢您的浏览。
关于C# 加密、解密PDF的视频教程,可点击链接地址查看:
http://v.youku.com/v_show/id_XNDAyNzg3MTk5Ng==.html?spm=a2hzp.8244740.0.0
C#, VB.NET如何加密PDF文档的更多相关文章
- [Swift通天遁地]七、数据与安全-(8)创建普通PDF文档和加密PDF文档
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- 解决加密PDF文档无法复制文字的问题
有的时候在网络上搜索到一篇心仪的PDF文档,想复制其中内容时提示无法复制. 如果只想摘抄其中部分文字内容,可以使用Firefox浏览器打开这篇加密文档. Firefox浏览器自带PDF插件,打开后即可 ...
- Java 加密、解密PDF文档
本篇文章将介绍通过Java编程来设置PDF文档保护的方法.我们可以设置仅用于查阅文档的密码,即该通过该密码打开文档仅用于文档阅读,无法编辑:也可以设置文档编辑权限的密码,即通过该密码打开文档时,文档为 ...
- C# 加密、解密PDF文档(基于Spire.Cloud.SDK for .NET)
Spire.Cloud.SDK for .NET提供了接口PdfSecurityApi可用于加密.解密PDF文档.本文将通过C#代码演示具体加密及解密方法. 使用工具: Spire.Cloud.SDK ...
- 常用PDF文档开发库
C++库: 1,PDF类库 PoDoFo http://podofo.sourceforge.net/ PoDoFo 是一个用来操作 PDF 文件格式的 C++ 类库.它还包含一些小工具用来解析 ...
- IText实现对PDF文档属性的基本设置
一.Itext简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文 ...
- 快速解决PDF文档加密不能打印问题_百度经验
快速解决PDF文档加密不能打印问题_百度经验 快速解决PDF文档加密不能打印问题 | 浏览:182 | 更新:2014-01-06 1 ...
- python实用小技能分享,教你如何使用 Python 将 pdf 文档进行 加密 解密
上次说了怎么将word转换为pdf格式 及 实现批量将word转换为pdf格式(点击这里),这次我又get到一个新技能–使用 Python 将 pdf 文档进行 加密 解密,哈哈哈 希望帮到更多人! ...
- 利用Java动态生成 PDF 文档
利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那 ...
随机推荐
- C++待解
//[要求]按以下描述和要求建立一个含有对象成员的类TeleBook,用类Record定义的数组是TeleBook的数据成员. // 写出所有定义成员函数的代码.执行主函数对其测试. Record私有 ...
- MongoDB的安装及恢复
在http://www.mongodb.org/display/DOCS/Downloads 下载对应版本 mongodb 安装数据库 解压文档,复制到c盘,改名为mongodb 新建文件夹c:/da ...
- 每天一个Linux命令(02)--cd命令
Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句都要进行操作,都是建立在使用 cd命令基础上的. 所以,学习Linux常用命令,首先就要学好 cd 命令的使用技巧. 1.命令 ...
- Hibernate双向关联的增删改操作的属性
双向关联关系下的增删改操作的属性 1.cascade属性: eg:<set name = "emps" cascade="s ...
- Cocos2d-x shader学习2: 模糊(Blur)
模糊效果在游戏中经常会用到,有的为了突出前景会把背景给模糊化,有的是因为一些技能需要模糊效果.模糊是shader中较为简单的一种应用.cocos2dx 3.x给的demo中,就有sprite的模糊的效 ...
- Visual Studio 2017正式版使用一些疑问
刚升级完2017,是从2015升上去的,总体没有什么大的问题,就是报了一些ts的类型检查的问题,最重要的就是编译速度变得好慢啊,希望尽快出来补丁修复,以前一个解决方案只要10+秒,现在要50秒,表示体 ...
- 使用Eclipse/MyEclipse开发Java程序
集成开发环境(IDE)是一类软件 将程序开发环境和程序调试环境集合在一起,提高开发效率 下载eclipse安装包网址:http://www.eclipse.org/downloads/ **MyEcl ...
- C# 在PDF中创建和填充域
C# 在PDF中创建和填充域 众所周知,PDF文档通常是不能编辑和修改的.如果用户需要在PDF文档中签名或者填写其他内容时,就需要PDF文档中有可编辑的域.开发者也经常会遇到将数据以编程的方式填充到P ...
- 2017Java技术预备作业1501黄学超
阅读邹欣老师的博客,谈谈你期望的师生关系是什么样的? 我觉得师生关系应当是亲密无间,课上老师讲解学生配合,课下师生交流启发思考. 你有什么技能(学习,棋类,球类,乐器,艺术,游戏,......)比大多 ...
- web从入门开始(7)-----css
CSS的语法格式 l 一个CSS规则,有"选择器"和"格式声明语句"构成 l 选择器:就是选择HTML标记,换句话说就是给那个HTML标记加样式 l 格式 ...