如何在.NET中以编程方式密码保护pdf?

2024-01-24

我需要使用 C# 中的密码以编程方式保护 PDF 文件。 同一个PDF文件必须以不同的名称和不同的密码保存。

有谁知道这个方法(请不要使用昂贵的工具..)?


可以使用以下方法完成锐文 http://itextpdf.com/:

using (var input = new FileStream("test.pdf", FileMode.Open, FileAccess.Read, FileShare.Read))
using (var output = new FileStream("test_encrypted.pdf", FileMode.Create, FileAccess.Write, FileShare.None))
{
    var reader = new PdfReader(input);
    PdfEncryptor.Encrypt(reader, output, true, "userPassword", "userPassword", PdfWriter.ALLOW_PRINTING);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在.NET中以编程方式密码保护pdf? 的相关文章

  • ComboBox DataBinding 导致 ArgumentException

    我的几个类对象 class Person public string Name get set public string Sex get set public int Age get set public override string
  • IdentityServer 4 对它的工作原理感到困惑

    我阅读和观看了很多有关 Identity Server 4 的内容 但我仍然对它有点困惑 因为似乎有很多移动部件 我现在明白这是一个单独的项目 它处理用户身份验证 我仍然不明白的是用户如何注册它 谁存储用户名 密码 我打算进行此设置 Rea
  • 查找进程的完整路径

    我已经编写了 C 控制台应用程序 当我启动应用程序时 不使用cmd 我可以看到它列在任务管理器的进程列表中 现在我需要编写另一个应用程序 在其中我需要查找以前的应用程序是否正在运行 我知道应用程序名称和路径 所以我已将管理对象搜索器查询写入
  • 从同一个类中的另一个构造函数调用构造函数

    我有一个带有两个构造函数的类 C 这是代码片段 public class FooBar public FooBar string s constructor 1 some functionality public FooBar int i
  • 查看 NuGet 包依赖关系层次结构

    有没有一种方法 文本或图形 来查看 NuGet 包之间的依赖关系层次结构 如果您使用的是新的 csproj 您可以在此处获取所有依赖项 在项目构建后 项目目录 obj project assets json
  • Visual Studio 在构建后显示假错误

    我使用的是 Visual Studio 2017 构建后 sln在调试模式下 我收到错误 但是 当我通过双击错误列表选项卡中的错误来访问错误时 错误会从页面中消失 并且错误数量也会减少 我不太确定这种行为以及为什么会发生这种情况 有超过 2
  • 对 std::vector 进行排序但忽略某个数字

    我有一个std vector
  • 告诉 Nancy 将枚举序列化为字符串

    Nancy 默认情况下在生成 JSON 响应时将枚举序列化为整数 我需要将枚举序列化为字符串 有一种方法可以通过创建来自定义 Nancy 的 JSON 序列化JavaScript 原始转换器 https github com NancyFx
  • C# 存档中的文件列表

    我正在创建一个 FileFinder 类 您可以在其中进行如下搜索 var fileFinder new FileFinder new string C MyFolder1 C MyFolder2 new string
  • 如何在 Qt 应用程序中通过终端命令运行分离的应用程序?

    我想使用命令 cd opencv opencv 3 0 0 alpha samples cpp cpp example facedetect lena jpg 在 Qt 应用程序中按钮的 clicked 方法上运行 OpenCV 示例代码
  • 为什么我的单选按钮不起作用?

    我正在 Visual C 2005 中开发 MFC 对话框应用程序 我的单选按钮是 m Small m Medium 和 m Large 它们都没有在我的 m Summary 编辑框中显示应有的内容 可能出什么问题了 这是我的代码 Pizz
  • 在mysql连接字符串中添加应用程序名称/程序名称[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在寻找一种解决方案 在连接字符串中添加应用程序名称或程序名称 以便它在 MySQL Workbench 中的 客户端连接 下可见 SQL
  • C++ int 前面加 0 会改变整个值

    我有一个非常奇怪的问题 如果我像这样声明一个 int int time 0110 然后将其显示到控制台返回的值为72 但是当我删除前面的 0 时int time 110 然后控制台显示110正如预期的那样 我想知道两件事 首先 为什么它在
  • 保护 APK 中的字符串

    我正在使用 Xamarin 的 Mono for Android 开发一个 Android 应用程序 我目前正在努力使用 Google Play API 添加应用内购买功能 为此 我需要从我的应用程序内向 Google 发送公共许可证密钥
  • 等待 IAsyncResult 函数直至完成

    我需要创建等待 IAsyncResult 方法完成的机制 我怎样才能做到这一点 IAsyncResult result contactGroupServices BeginDeleteContact contactToRemove Uri
  • 在屏幕上获取字符

    我浏览了 NCurses 函数列表 似乎找不到返回已打印在屏幕上的字符的函数 每个字符单元格中存储的字符是否有可访问的值 如果没有的话Windows终端有类似的功能吗 我想用它来替换屏幕上某个值的所有字符 例如 所有a s 具有不同的特征
  • 这个可变参数模板示例有什么问题?

    基类是 include
  • 可访问性不一致:参数类型的可访问性低于方法

    我试图在两个表单之间传递一个对象 基本上是对当前登录用户的引用 目前 我在登录表单中有一些类似的内容 private ACTInterface oActInterface public void button1 Click object s
  • 我可以在“字节数”设置为零的情况下调用 memcpy() 和 memmove() 吗?

    当我实际上没有什么可以移动 复制的时候 我是否需要处理这些情况memmove memcpy 作为边缘情况 int numberOfBytes if numberOfBytes 0 memmove dest source numberOfBy
  • 如何使用 C++11 using 语法键入定义函数指针?

    我想写这个 typedef void FunctionPtr using using 我该怎么做呢 它具有类似的语法 只不过您从指针中删除了标识符 using FunctionPtr void 这是一个Example http ideone

随机推荐

  • ios:显示可变长度、多行文本的最佳方式

    我计划从文本文件加载多段落内容并将其显示在用户界面上 我将从几个文本文件之一加载 并且不会提前知道文本的长度 我的第一个想法是在 UIScrollView 中使用 UILabel 然而 似乎 UILabel 不能根据它包含的行数进行扩展 它
  • 如何在d3.js的Pack Layout中插入饼图?

    大家好 我想在我的包布局中添加饼图 而不是简单的圆圈 假设这是我的饼图数据和饼图布局 var data 2 3 4 5 var 弧 d3 svg arc outerRadius 50 innerRadius 0 var 饼 d3 layou
  • 就数据挖掘和可视化工具支持而言,日志事件的最佳 XML 格式是什么?

    我们希望能够从 Java 应用程序创建日志文件 该文件适合稍后通过工具进行处理 以帮助调查错误并收集性能统计数据 目前 我们使用传统的 日志内容 可能会或可能不会被展平为文本形式并附加到日志文件中 但这最适合人类读取的少量信息 经过仔细考虑
  • c strcmp 源代码

    int strcmp const char s1 const char s2 int ret 0 while ret unsigned char s1 unsigned char s2 s2 s1 s2 if ret lt 0 ret 1
  • 如何避免 ReactJS 中的 jQuery 调用

    我知道 JQuery 是 ReactJS 中的一种代码味道 因为它遍历整个 DOM 来完成它的工作 但是 我发现有些地方很难不使用它 这是一个例子 如果可能的话 我想找到一种更好的方法 我只是想根据字段是否填充来显示或隐藏 div 上的消息
  • redux 中有 OOP 的地方吗?

    我已经使用面向对象编程实践 25 年了 并在过去 5 年里尝试转向函数式编程 但当我尝试做一些复杂的事情时 我的想法总是倾向于 OOP 尤其是现在 ES6 支持像样的OOP 语法 这是我构建东西的自然方式 我现在正在学习 Redux 并且我
  • 来电显示检测:不适用于某些手机

    当有人打电话时 我使用以下方法来检测来电显示 在表单加载时我设置以下代码 this serialPort1 PortName COM3 this serialPort1 BaudRate 9600 this serialPort1 Data
  • mysql UPDATE 比 INSERT INTO 快吗?

    这更多的是一个理论问题 如果我运行 50 000 个插入新行的查询和 50 000 个更新这些行的查询 哪一个将花费更少的时间 插入会更快 因为使用更新 您需要首先搜索要更新的记录 然后执行更新 尽管这似乎不是一个有效的比较 因为您永远无法
  • 在 R parallel::mcparallel 中,是否可以限制任一时间使用的核心数量?

    在 R 中 mcparallel 函数在parallel每次调用包时 它都会将新任务分叉给工作人员 例如 如果我的机器有 N 个 物理 核心 并且我分叉了 2N 个任务 那么每个核心都会开始运行两个任务 这是不可取的 我宁愿能够开始在 N
  • 在 React Native 中创建自定义底部选项卡导航器

    大家好 我想在 React Native 中创建时尚且自定义的底部选项卡导航 任何人都可以知道如何创建上面提到的内容 const customTabBarStyle activeTintColor 0091EA inactiveTintCo
  • 如何构建 libjpeg 9b 的 DLL 版本?

    我想构建 libjpeg 9b 的 DLL 版本 根据文件here https msdn microsoft com en us library ms235636 aspx 看来我们需要添加一个预处理器 declspec dllexport
  • IE9 的foreignObject 的替代品

    我真的很喜欢foreignObject通过svg显示HTML区域 但今天我发现它在IE9中不起作用 为什么我不惊讶 好的 所以我正在寻找一个适用于 IE9 的替代方案 但这似乎很困难 使用foreignObject 来显示多个HTML 元素
  • WordPress插件翻译问题

    我用 poedit 翻译了我的插件 它在本地主机上运行良好 在新的 WordPress 安装上 但是当我将插件上传到服务器上的现有站点上时 一些俄语字符丢失了 相反 我得到的是拉丁文 我用 utf8 编码了 poedite 文件 在标头中我
  • 无法使用 IOptionsMonitor 检测 ASP.NET Core 中的更改

    我正在开发 Asp Net Core 应用程序 我想在运行应用程序后更改配置设置 我正在使用 IOptionsMonitor 但它没有检测到更改 在 Startup cs gt Configuration 方法中我有 services Co
  • 如何在haskell中输入整数? (在控制台输入)

    如何在控制台中输入整数 将其存储在变量中 然后将其作为我创建的函数的参数传递 到目前为止 为了使其有效 我必须执行以下操作 在最后一行中 您可以看到我如何应用该函数 我想要做的是通过控制台请求变量作为整数应用于函数 然后打印结果 mayor
  • tableView: cellForRowAtIndexPath: 不仅为可见单元格调用?

    我有一个带有部分的 tableView 可以打开和关闭 因此 当我点击一个部分将其打开时 它会被单元格填满并且 UITableViewCell tableView UITableView tableView cellForRowAtInde
  • 显示:无不适用于选项

    Demo here http jsfiddle net Wener WC9yy HTML display none b not works b the hidden can b not select b br
  • Grunt 错误:找不到模块“time-grunt”

    我尝试安装 time grunt 本地和全局 清除 npm 缓存 更新 npm 但没有任何帮助 我得到 Loading Gruntfile js tasks ERROR Error Cannot find module time grunt
  • 错误:“TypeError:hidden_​​tag() 缺少 1 个必需的位置参数:'self'” 在 Flask、python 中

    我一直在创建一个基于论坛的学习系统 类似于评估项目的堆栈溢出 我对 Flask 相当陌生 但我相信我对 Python 有很好的了解 我一直在关注Flask 教程并使其适应我的项目 每当我尝试访问名为 adduser 的页面 带有用于添加用户
  • 如何在.NET中以编程方式密码保护pdf?

    我需要使用 C 中的密码以编程方式保护 PDF 文件 同一个PDF文件必须以不同的名称和不同的密码保存 有谁知道这个方法 请不要使用昂贵的工具 可以使用以下方法完成锐文 http itextpdf com using var input n