sales@e-iceblue.com    |    028-81705109    |    2181348176    |    微信扫一扫    |    EN-US   |    论坛

C# PDF 文档加密和解密

Spire.PDF支持两种口令保护方式,文档打开口令和许可口令。文档打开口令只能用于打开文档,而许可口令则是级别更高的口令,它既可以打开文档,也可以用来编辑和修改文档的权限。我们可以对一个文档设置打开口令或许可口令中的一种,也可以二者都设置。Spire.PDF 3.9.241 对口令保护方法做了调整。如果您使用的是3.9.241以前的老版本,请参考 C# PDF 文档保护与取消保护。如果使用的是V3.9.241 以后的新版本,请使用该文中提供的新方法。该示例将详细介绍如何使用密码方式给PDF文档加密和解密。

  • 加密 PDF
  • 解密 PDF

  • 加密PDF

    Spire.PDF 提供 pdf.Security.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize) 方法来设置打开口令,许可口令,设置文档加密级别和设置文档权限。

    //加载PDF 
    PdfDocument pdf = new PdfDocument();
    pdf.LoadFromFile("Sample.pdf");
    
    //保护PDF文档
    pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print|PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit);
    
    //保存文档
    pdf.SaveToFile("Encrypted.pdf", FileFormat.PDF);

    C# PDF 文档加密和解密

    解密PDF

    首先需要使用密码用PdfDocument.LoadFromFile (string filename, string password) 方法加载一个被保护的PDF文档 (打开口令和许可口令均可)。 然后用pdf.Security.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize, string originalPermissionPassword) 方法将打开口令,许可口令设置为空达到解密效果。

    //使用密码加载一个加密的PDF文档
    PdfDocument pdf = new PdfDocument();
    pdf.LoadFromFile("Encrypted.pdf", "open");
    
    //将打开口令和许可口令设置为空,同时设置文档权限,加密级别,输入原始许可口令
    pdf.Security.Encrypt(string.Empty, string.Empty, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit, "permission");
    
    //保存文档
    pdf.SaveToFile("Decrypt.pdf", FileFormat.PDF);

    C# PDF 文档加密和解密

    Spire.Doc
    文档转换
    Spire.Doc 转换功能详述
    C# 将 HTML 保存为 PDF
    C# Word 转 EPUB
    文档操作
    创建 Word 文档
    C# 如何在 Word 中插入分页符和分节符
    如何合并 Word 文档
    启用 Word 修订功能,接受和拒绝修订
    添加和获取 Word 文档摘要及属性
    C# 根据分节符和分页符拆分 Word 文档
    C# 在 Word 中插入下拉列表控件、文本控件、图片控件等
    C# Word 添加分栏、分割线
    C# 给 Word 文档添加内容控件
    C# 复制 Word 文档
    邮件合并
    C# 创建 Word 邮件合并模板并合并文本和图片
    C# 插入、计数、检索和删除 Word 文档变量
    使用 C# 添加 Word 域
    C# 更新 Word 域
    C# 在 Word 中创建交叉引用
    C# 插入、删除 Word 目录
    安全
    C# Word 文档保护
    段落
    C# 在 Word 中创建项目符号列表、多级编号列表
    C# 设置 Word 文档段落缩进
    C# 为 Word 文档中的指定段落/指定文字添加底色
    C# 删除 Word 文档中的段落
    页面设置
    C# 设置纸张大小以及页边距
    C# Word 添加行号
    C# 添加 Word 页面边框
    C# 为 Word 中不同的章节设置不同的页码
    页面背景
    C# 为 Word 文档添加文本和图片水印
    C# 给 Word 文档设置背景颜色和背景图片
    C# Word 删除文本水印和图片水印
    文本
    C# Word 查找和替换功能
    C# Word 中添加和删除特殊符号
    C# Word 中设置文字效果
    C# 在 Word 中插入上下标
    C# 读取 Word 文档的文本内容
    C# 使用另一个 Word 文档替换 Word 文本
    C# 用图片、表格替换 Word 文本
    C# 根据 Word 的标题样式获取文字
    图片和形状
    C# 添加形状和形状组合到 Word 文档
    C# Word 图片替换
    C# 创建 Word 艺术字
    C# 修改 Word 文档中图片的大小
    C# Word 中添加和删除题注
    C# 如何插入图片到 Word 以及提取 Word 中的图片
    超链接
    C# 删除 Word 超链接
    C# 添加 Word 超链接
    批注
    C# 操作 Word 批注功能
    C# 回复 Word 批注
    表格
    C# 创建 Word 表格
    C# 提取 Word 表格中的图片
    C# 合并与拆分 Word 表格中的单元格
    C# 设置 Word 表格的格式
    C# 操作 Word 表格行和列
    C# 在 word 表格中插入图片
    C# 将 Excel 表格导入 Word
    书签
    C# 添加,替换和删除 Word 书签
    C# 获取、删除书签的内容
    如何在 Word 文档的书签位置插入图片
    C# 在 Word 书签位置插入表格
    页眉和页脚
    C# 为 Word 文档添加页眉,页脚和页码
    C# 删除word文档中的页眉页脚
    如何锁定页眉和页脚不被修改
    C# 复制 Word 页眉/页脚
    C# 调整 Word 页眉页脚的位置高度
    脚注和尾注
    使用 C# 为 Word 文档添加脚注尾注
    C# 读取 Word 中的脚注和尾注内容
    字体
    C# Word 转换到 PDF 时嵌入字体的三种方式
    打印
    C# 打印 Word 文档
    文本框
    C# 如何在 Word 中插入和删除文本框
    C# 在 Word 中创建文本框
    C# 插入表格到 Word 文本框以及获取和删除 Word 文本框中的表格
    C# 插入图片到文本框
    其他
    C# Word 中添加、修改和提取 OLE
    C# 在 Word 中添加条形码、二维码
    如何使用 Spire.Doc for .NET Core
    Spire.Doc for .NET 中文教程
    Spire.DocViewer
    如何添加 Spire.DocViewer 控件到 Toolbox
    Spire.XLS
    格式转换
    使用 C# 将 Excel 工作薄和 Excel 工作表保存为 PDF 格式
    C# Excel 工作表和 Excel 图表保存为图片
    C# 将 Excel 文件转换为 HTML 格式
    C# 转换 CSV 到 Excel、PDF、Datatable
    C# 将 Excel 工作簿转换到 SVG 格式
    数据导入导出
    C# Excel 导入导出数据
    文档操作
    C# Excel 插入和删除分页符
    C# 创建 Excel 文件
    如何设置和获取 Excel 工作薄摘要及自定义属性
    C# 给 Excel 文档设置背景颜色和背景图片
    C# 如何合并 Excel 文档
    文档保护
    C# Excel 文档保护
    工作表
    C# 展开和折叠 Excel 分组
    C# 给 Excel 工作表添加水印
    C# 复制 Excel 工作表
    C# 显示和隐藏 Excel 工作表及工作表中的行与列
    C# Excel 冻结窗格
    C# 重命名 Excel 工作表和设置工作表标签颜色
    C# Excel 创建多级分组
    C# 设置 Excel 工作表视图模式和显示比例
    C# 设置 Excel 中边框(网格线)样式
    C# 添加与删除 Excel 工作表中的行与列
    图表
    C# 给 Excel 图表添加趋势线并设置其样式
    C# 图表中隐藏和空单元格的设置
    使用 Spire.XLS 创建 Excel 图表
    C# 设置现有 Excel 图表的数据标签样式
    C# Excel 自定义数据标签
    C# 添加、修改和删除 Excel 迷你图
    C# 制作 Excel 分离型饼图和分离型环形图
    C# 创建含多层分类标签的 Excel 图表
    C# 如何使用不连续的数据区域创建图表
    C# 在 Excel 中创建组合图表
    C# 给 Excel 图表添加误差线
    C# 给 Excel 图表添加次坐标轴
    C# 给 Excel 图表添加数据表
    C# 填充 Excel 图表背景色
    C# 在 Excel 中创建散点图表
    单元格
    合并/取消合并 Excel 单元格
    C# Excel 单元格锁定和取消锁定
    C# 创建 Excel 命名区域
    C# 操作 Excel 命名区域
    数据处理
    Excel 查找替换高亮显示数据
    C# Excel 数据分组和取消分组
    C# Excel 字体设置
    C# 设置 Excel 中数字格式
    C# Excel 中设置文字对齐方式、方向和换行
    C# Excel 数据排序
    C# 设置 Excel 数据验证/数据有效性
    C# 在 Excel 中插入上标和下标
    C# Excel 中设置筛选器并执行筛选
    图片
    C# Excel 图片添加、提取和删除
    C# 设置 Excel 图片大小和位置
    C# Excel 插入图形
    C# 提取 Excel 形状中的文本和图片
    C# Excel 删除图形
    超链接
    给 Excel 表格添加超链接
    C# 读取 Excel 超链接
    批注
    C# 添加修改及删除 Excel 批注
    C# 在 Excel 文档中隐藏或显示批注
    公式
    C# 创建、读取 Excel 公式
    C# Excel 中删除单元格的公式同时保留其计算值
    页眉页脚
    C# 设置 Excel 页眉页脚
    打印
    如何使用 C# 打印 Excel 文档
    条件格式
    C# 如何在 Excel 中设置条件格式
    透视表
    C# 如何展开/折叠数据透视表的行
    C# 为数据透视表设置边框和填充
    C# 如何刷新数据透视表
    C# 创建 Excel 数据透视表及设置透视表的格式
    表格
    C# 给 Excel 中的表格添加汇总行
    C# Excel 创建表格(Table)并设置样式
    其他
    C# Excel 插入和删除表单控件
    Excel 中插入 OLE 对象
    C# 插入、删除 Excel 文本框
    Spire.XLS for .NET 中文教程
    Spire.Presentation
    文档转换
    C# PowerPoint 文档转换成 HTML 格式
    C# PowerPoint 文档转换成图片、PDF、SVG 等格式文件
    将 HTML 字符串转换为 PowerPoint 文档
    文本和段落
    C# 如何提取 PowerPoint 文档中的文本和图片
    C# 添加或删除 PowerPoint 段落和设置段落样式
    C# 更改 PPT 中文字方向
    C# 创建幻灯片编号列表和项目符号列表
    C# Presentation 文本替换
    C# 设置 PowerPoint 中文字透明度
    C# 为幻灯片文字设置文本边框及样式
    C# 设置 PPT 文字阴影效果
    C# 自定义 PPT 项目符号样式
    C# 在 PPT 段落中应用多种文本格式
    文档操作
    C# 获取 PowerPoint 中的文本信息和图片信息
    C# 添加或删除 PowerPoint 幻灯片,调整幻灯片顺序
    C# 创建 PowerPoint 文档
    C# 给 PowerPoint 文档设置背景颜色和背景图片
    C# 设置和获取 PowerPoint 文档属性
    C# 隐藏和取消隐藏幻灯片
    C# 创建幻灯片母版
    C# PPT 中创建文本框并设置其形状格式
    C# PPT 自动调整文字大小或文本框大小
    C# PPT 如何修改和应用母版
    C# 如何在一个 PPT 中应用多个母版
    C# 新方法向 PPT 中添加 HTML
    C# 获取和更改 PPT 幻灯片的标题
    C# 重置 PowerPoint 日期和编号的位置
    C# 隐藏幻灯片背景图形
    C# 获取 PowerPoint 文档中使用的主题名称
    C# 合并与拆分 PowerPoint 幻灯片
    PowerPoint 中插入 OLE 对象
    C# 复制 PPT 幻灯片
    形状
    C# 如何添加、删除 PowerPoint 图形
    C# 旋转图形,重置图形的大小,位置和重叠图形的顺序
    C# 如何设置和获取PowerPoint形状的可选文本
    C# PPT 中如何组合形状
    图片
    C# PowerPoint 中设置图片透明
    C# PPT 中如何设置图片阴影效果
    C# PowerPoint 中设置图片效果
    C# 将幻灯片文档中的图表,图形,表格等保存为图片
    C# PowerPoint 图片替换
    表格
    C# 创建、删除、操作 PowerPoint 表格
    C# 设置 PPT 表格中文字的对齐方式
    C# 为 PowerPoint 表格设置边框类型和颜色
    如何在表格单元格中添加图片
    C# 拆分 PowerPoint 表格的单元格
    图表
    C# 创建 PowerPoint 图表
    C# 创建 PowerPoint 堆积图
    C# 添加误差线到 PowerPoint 图表
    C# 删除 PowerPoint 图表中的图例项
    C# 给 PowerPoint 图表添加数据标签并设置外观样式
    C# PPT 修改图表类别坐标轴和图例的文本字体
    C# PPT 图表设置数据点颜色
    C# 复制和删除 PowerPoint 图表
    C# 设置 PPT 中图表数据标签的形状及其引导线的形状
    C# 在 PPT 中创建组合图表
    C# PowerPoint 分离饼状图
    音频和视频
    C# PPT 插入和提取视频
    C# 设置 PPT 视频的播放模式
    批注和备注
    C# 添加、编辑、提取和删除 PowerPoint 批注
    C# 添加和获取 PowerPoint 备注
    C# 删除 PowerPoint 幻灯片中的备注信息
    超链接
    C# PPT 添加、修改超链接
    C# 在 PowerPoint 中给图片添加超链接和获取图片的超链接
    C# 在 PPT 中创建链接到特定幻灯片的超链接
    文档保护
    Spire.Presentation 保护 PPT 文档
    水印
    C# 给 PPT 文档添加水印
    C# 删除 PowerPoint 中图片水印和文本水印
    SmartArt 图形
    C# 幻灯片插入 SmartArt 图形
    C# 提取 PPT 中 SmartArt 图形的文本内容以及删除节点
    打印
    C# 打印 PowerPoint 文档
    页眉页脚
    C# PowerPoint 添加页脚、页码
    动画效果
    C# PPT 中给形状添加动画、获取形状动画设置
    C# PPT 添加和获取幻灯片切换效果
    C# 给 PowerPoint 形状添加退出动画效果
    Spire.Presentation for .NET 中文教程
    Spire.PDF
    文档转换
    C# PDF 转 SVG
    C# 如何将 HTML 转换为 PDF
    C# PDF 转 Word、Image、XPS
    安全和数字签名
    C# PDF 文档保护与取消保护
    C# PDF 文档加密和解密
    C# PDF 数字签名
    文档操作
    C# 压缩 PDF 文档
    C# 创建 PDF 文档
    合并与拆分 PDF 文档
    C# PDF 字体设置
    C# 操作 FDF 和 XFDF 文件
    C# PDF 查找和高亮显示文本
    C# 添加和删除 PDF 图层
    C# 显示或隐藏 PDF 图层
    C# 固定 PDF 文本框中文字的大小和颜色
    C# 旋转 PDF 页面
    C# 在 PDF 中添加条形码、二维码
    C# 检测 PDF 文档是否为 PDF/A
    C# 如何给 PDF 设置过期时间
    C# 删除 PDF 中的空白页
    如何替换 PDF 的字体
    C# 如何在 PDF 中创建目录
    C# PDF 重叠页面
    C# 复制 PDF 文档
    C# 在 PDF 中绘制上标和下标
    页面设置
    C# 给 PDF 文档添加背景颜色和背景图片
    C# 为 PDF 添加平铺背景图
    C# 添加或删除 PDF 页面,调整页面顺序
    C# PDF 设置页边距和页面大小
    C# 添加、获取和删除 PDF 自定义文档属性
    C# 设置 PDF 缩放比例和页面显示设置
    在不改变页面大小的情况下调整页边距
    提取和读取
    C# 如何提取 PDF 文档中的文本和图片
    C# 从 PDF 页面的指定区域内提取文本
    图片和图形
    如何使用 C# 在 PDF 中绘制图形
    C# PDF 图片添加、删除和替换
    书签
    C# 添加、修改和删除 PDF 书签
    C# 获取 PDF 多级书签
    页眉页脚
    C# PDF 添加页眉页脚
    C# 在现成 PDF 中添加页眉页脚
    表格
    C# 创建 PDF 表格
    C# 添加图片和嵌套表格到 PDF 表格的单元格
    C# 删除 PDF Grid 的行和列
    超链接
    C# 给 PDF 文档添加超链接
    C# 如何更新和删除 PDF 文档中的超链接
    水印
    C# 给 PDF 文档添加水印
    附件
    C# 添加、获取及删除 PDF 附件
    列表
    C# 创建 PDF 项目符号列表和多级编号列表
    C# 创建 PDF 表单域
    C# 将 PDF 表单域设置为只读
    C# 如何删除 PDF 表单域
    C# 用 JavaScript 设置和验证 PDF 文本域格式
    C# 重置 PDF 表单域字段的值
    C# 读取 PDF 表单域及获取域里面的值
    C# 填充 PDF XFA 表单
    注释和动作
    C# PDF 添加注释和标记
    C# 给 PDF 文档添加动作
    C# 在PDF中添加页面跳转按钮
    C# 修改和删除 PDF 注释
    C# 在 PDF 添加动态图章
    打印
    打印 PDF 文档
    C# 打印 PDF 文档的多页到一页和一页到多页
    C# 自定义纸张大小打印 PDF
    C# 在 PDF 文档中添加打印按钮
    C# 创建 PDF 打印小册子
    C# 打印 PDF 文档
    Spire.PDF for .NET 中文教程
    Spire.PDFViewer
    使用 Spire.PDFViewer for ASP.NET 在 Web From 上查看 PDF 文件
    如何使用 Spire.PDFViewer for ASP.NET 翻页查看 PDF
    Spire.DataExport
    将数据从 DataTable 快速导出到 Excel, PDF, HTML 及 MS Access 等文件
    Spire.BarCode for .NET
    如何添加 Spire.Barcode 控件到 Toolbox
    C# 使用 Spire.Barcode 识别条形码
    C# 使用 Spire.Barcode 创建二维码
    C# 如何生成 DataMatrix 条形码
    设置条形码的 X 维度
    C# 添加图片到二维码
    Licensing
    如何应用 License
    License Agreement
    Spire.Email
    C# 如何群发邮件
    C# 如何接收和保存邮件
    C# 创建、重命名、删除邮箱文件夹
    C# 添加、提取、删除邮件附件
    C# 如何发送 HTML 邮件
    C# 如何搜索邮件
    Spire.Barcode for JAVA
    如何使用 Spire.Barcode for Java 生成条形码
    使用 Spire.Barcode for Java 识别条形码
    如何使用 Spire.Barcode for Java 生成 QR 二维码
    如何使用 Spire.Barcode for Java 生成 EAN-13 条形码
    Spire.PDF for JAVA
    在 Java 中创建 PDF 文档
    Java 在 PDF 中添加表单域
    Java 在 PDF 中添加形状
    在 JAVA 中将 PDF 保存为图片格式
    Java 提取或读取 PDF 文本内容
    Java 填充 PDF 表单域
    Java 删除 PDF 中的图片
    Java 验证 PDF 数字签名的有效性
    Java 提取 PDF 中的图片
    JAVA 添加 PDF 文本水印
    Java 加密和解密 PDF
    Java 在 PDF 中添加条形码
    Java 在 PDF 中添加有序和无序列表
    Java 将 PDF 转换为 PDF/A
    Java 设置 PDF 中文字对齐方式
    JAVA 合并 PDF 文档
    Java 拆分 PDF 文档
    Java 给 PDF 设置背景颜色和背景图片
    Java 添加动态图章到 PDF
    JAVA 添加 PDF 图片水印
    JAVA 查找并高亮显示 PDF 文本
    Java 设置 PDF 的页边距,页面大小以及纸张方向
    Java 添加图片图章到 PDF
    JAVA 添加页眉页脚到 PDF
    Java 将 PDF 表单域设置为只读
    Java 转换 PDF 版本
    JAVA 添加编号列表和项目符号列表到 PDF
    Java 在 PDF 中应用不同的字体
    Java 设置 PDF 文档属性
    Spire.Presentation for Java
    在 Java 中创建 PPT 文档
    Java 给 PowerPoint 文档添加文本水印