C# 将Word转为PDF时,设置PDF文档保护
本文以C#代码示例展示如何将Word转为PDF时,设置PDF文档保护,可设置PDF文档打开密码保护以及权限密码保护。附VB.NET代码,有需要可供参考。
程序环境:
1.Word测试文档:.docx
2. .NetFramework 4.8
3. 程序集引用:程序中需引用spire.doc.dll和spire.pdf.dll。注意这里的两个dll均来自于同一个spire.doc for .net中的文件夹路径,如本次使用的版本为9.6的包,即,两个dll文件路径为:
C:\Program Files (x86)\e-iceblue\Spire.Doc\Bin\NET4.0\Spire.Doc.dll
和
C:\Program Files (x86)\e-iceblue\Spire.Doc\Bin\NET4.0\Spire.Pdf.dll

dll引用结果如图:

C#
using Spire.Doc;
using Spire.Pdf.Security; namespace WordToPDFAndEncrypt_PDF
{
class Program
{
static void Main(string[] args)
{
//加载Word测试文档
Document doc = new Document();
doc.LoadFromFile("test.docx"); //转为PDF时,设置PDF打开密码和权限密码
ToPdfParameterList topdf = new ToPdfParameterList();
topdf.PdfSecurity.Encrypt("open", "permission", PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit); //将文档保存为PDF格式
doc.SaveToFile("result.pdf", topdf);
System.Diagnostics.Process.Start("result.pdf");
}
}
}
VB.NET
Imports Spire.Doc
Imports Spire.Pdf.Security Namespace WordToPDFAndEncrypt_PDF
Class Program
Private Shared Sub Main(args As String())
'加载Word测试文档
Dim doc As New Document()
doc.LoadFromFile("test.docx") '转为PDF时,设置PDF打开密码和权限密码
Dim topdf As New ToPdfParameterList()
topdf.PdfSecurity.Encrypt("open", "permission", PdfPermissionsFlags.Print Or PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit) '将文档保存为PDF格式
doc.SaveToFile("result.pdf", topdf)
System.Diagnostics.Process.Start("result.pdf")
End Sub
End Class
End Namespace
执行程序,生成的文档路径为程序项目文件夹路径,即C:\Users\Administrator\Documents\Visual Studio 2013\Projects\Doc2PDF\WordToPDFAndEncrypt_PDF\bin\Debug\result.pdf,路径也可以自定义为其他路径。打开生成的PDF文件后,提示需输入密码,如下图:

输入密码打开文档后,也可以查看对PDF文档保护设置,如图:

—End—
C# 将Word转为PDF时,设置PDF文档保护的更多相关文章
- Linux系统下Java 转换Word到PDF时,结果文档内容乱码的解决方法
本文分享在Linux系统下,通过Java 程序代码将Word转为PDF文档时,结果文档内容出现乱码该如何解决.具体可参考如下内容: 1.问题出现的背景 在Windows系统中,使用Spire.Doc ...
- C# 设置Word文档保护(加密、解密、权限设置)
对于一些重要的word文档,出于防止资料被他人查看,或者防止文档被修改的目的,我们在选择文档保护时可以选择文档打开添加密码或者设置文档操作权限等,在下面的文章中将介绍如何使用类库Free Spire. ...
- C# 将Excel转为PDF时设置内容适应页面宽度
将Excel转为PDF格式时,通常情况下转换出来的PDF页面都是默认的宽度大小:如果Excel表格数据的设计或布局比较宽或者数据内较少的情况,转出来的PDF要么会将原本的一个表格分割显示在两个页面,或 ...
- 将Word转为带书签的PDF
将word文档存为PDF可以带来很多便利,在这里就不多说了.下面讨论一下转换方法. 我现在使用的是Word2010+Acrobat9,所以这里仅讨论使用这种组合的转换方法. 在Word2010中有两种 ...
- 使用 Word 写作论文时设置格式技巧记录
这里主要记录使用 Word 2013 版本的 Microsoft office Word 软件进行论文书写时的一些常用的格式设置技巧,以供分享与记录. Word文档页脚添加页码 Word设置多级标题格 ...
- java读取pdf和MS Office文档
有时候PDF中的文字无法复制,这可能是因为PDF文件加密了,不过使用PDFBox开源软件就可以把它读出来. 还有一个用于创建PDF文件的项目----iText. PDFBox下面有两个子项目:Font ...
- asp.net 实现pdf、swf等文档的浏览
一.pdf的浏览 可以借助于pdf.js插件完成,使用pdf.js的好处是不需要安装额外的插件(比如flash),是纯web的解决方案.插件的下载链接:http://mozilla.github.io ...
- 用DOM和DOM4J写xml文件时,怎样设置xml文档的编码
//在将xml文档传输出去时,利用Transformer中的setOutputProperty方法 TransformerFactory trans = TransformerFactory.newI ...
- Word中使用ChatGPT,写文档如有神助
[部署教程]国内网络可用,最强 ChatGPT 学术论文写作工具原创****付费 简介 Word GPT Plus 是一个集成了 chatGPT 模型的 Word 插件.它允许你基于你在文档中写的内容 ...
- word每次打开都要选择文档类型
每次打开word07 都出现下面一个框框,说要转换文件. 在Word2013文档中,为了能更好地使用“从任意文件还原文本”功能,用户需要启用“打开时确认文件格式转换”功能,以在打开并恢复文件时出现文件 ...
随机推荐
- springboot整合redis报错:链接失败; Unable to connect to Redis
springboot整合redis报错:链接失败:org.springframework.data.redis.RedisConnectionFailureException: Unable to c ...
- mapState、mapGetters、mapMutations、mapActions学习
https://next.vuex.vuejs.org/zh/guide/state.html#mapstate-%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0 https: ...
- Unity anchoredPosition转localPosition
参考 https://zhuanlan.zhihu.com/p/119442308 在已经有结果的情况下,先捋一下unity对相关字段的注释就能得出很多公式 (rectMinPos表示左下角在父节点坐 ...
- idea java项目启动后访问html页面乱码
最近在做一个较久的项目,用的还是servlet+html(jsp),代码拉到本地后运行,访问登录页login.html既然乱码,先看个乱码的效果 怎么样,是不是很经典的乱码,别着急,我们一点点来分析乱 ...
- logstash 配置文件语法介绍
大家好,我是蓝胖子,之前在构建服务监控实践那个系列里,有提到用logstash来做日志的收集,但是对于logstash的配置文件语法没有做很详细的介绍,今天就来详细聊聊logstash配置文件的语法. ...
- C#Winform使用NPOI获取word中的数据
公众号「DotNet学习交流」,分享学习DotNet的点滴. 需求 想要获取word里面的内容,如下图所示: 有一张表和一段文本,并将它们存入数据库或者Excel. 步骤 添加NPOI的库,如下图所示 ...
- 黑客玩具入门——2、Kali常用命令与简单工具
一.Linux常用命令 首先,我们启动kali系统,然后点击这里的命令行工具. 就可以使用下面学习的命令了,另外,如果你有过计算机基础,那么Mac的terminal和Git的gitbash,都是可以练 ...
- 搭建一个简易的IPv6网络测试环境
背景 近期一个项目要求产品在IPv6网络环境部署,在此之前所有的项目网络环境都是IPv4,为了验证产品网络适配能力,需要搭建一套IPv6的网络测试环境,网上搜了很多教程,也在某东找了很多路由器,对于如 ...
- 使用Visual Studio 2022 创建lib和dll并使用
对于一个经常写javaWeb的人来说,使用Visual Studio似乎没什么必要,但是对于使用ffi的人来说,使用c或c++编译器,似乎是必不可少的,下面我将讲述如何用Visual Studio 2 ...
- 使用动画曲线编辑器打造炫酷的3D可视化ACE
前言 在制作3D可视化看板时,除了精细的模型结构外,炫酷的动画效果也是必不可少的.无论是复杂的还是简单的动画效果,要实现100%的自然平滑都是具有挑战性的工作.这涉及到物理引擎的计算和对动画效果的数学 ...