以编程方式启用 Adob​​e PDF 使用权限

2023-12-04

有没有办法以编程方式从 .net 代码启用 Adob​​e PDF 使用权限? 我正在使用 ITextSharp 库用 XML 数据(从应用程序生成)填充 XFA 表单, 但输出的 PDF 没有启用使用权限,因此用户无法与其交互(这通常不会成为问题,但原始 PDF 是政府提供的,并且 用户必须单击一些验证按钮,并且该过程是特定于用户/公司的)

这可以通过 Adob​​e Reader 手动完成,但您必须拥有 adobe acrobat 专业许可证。

Google 表示“只有 Adob​​e 产品才能做到这一点”。 (http://old.nabble.com/Enable-Adobe-Reader-usage-rights-td14276927.html)

string pathPDF = @"C:\original.pdf";
string pathCreated = @"C:\created.pdf";
string pathXml = @"C:\data.xml";

using (PdfStamper stamper = new PdfStamper(new PdfReader(pathPDF), System.IO.File.OpenWrite(pathCreated)))
{
    stamper.FormFlattening = false;
    stamper.AcroFields.Xfa.FillXfaForm(pathXml);

    stamper.Close();
}

以编程方式执行此操作的唯一方法是使用 Adob​​e Reader Extension Server。您可以在此处查看 Adob​​e 白皮书:http://www.adobe.com/sea/products/server/readerextensions/pdfs/readerextensionsserver_ds.pdf

在上述情况下,您将使用 iTextSharp 创建 Pdf 文档,然后使用 Adob​​e Reader Extension Server 来允许 Pdf 文档在 Adob​​e Reader 中具有扩展功能。

但是,有一个小窗口可让您使用 iTextSharp 并填写已启用 Reader 的 PDF 文档。如果您有这样的Pdf文档(Reader Enabled),那么您可以使用iText/iTextSharp来填写XFA数据。您可以在此处查看示例:http://itextpdf.com/examples/iia.php?id=166

祝你好运!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以编程方式启用 Adob​​e PDF 使用权限 的相关文章

随机推荐

  • 当 HEAD 请求失败时,Gradle 无法下载依赖项

    我已经在 Gradle 构建脚本中设置了依赖项 该脚本托管在 Bitbucket 上 Gradle 下载失败 并出现错误消息 不能头 https bitbucket org zip 从服务器收到状态代码 403 禁止 我查了一下 似乎是因为
  • 警告:不推荐从字符串文字到“char *”的转换

    在下面的 C 代码中 char type switch mix mode case GO HISTORY VIDEO MIX VISUAL GAS type visual gas break case GO HISTORY VIDEO MI
  • 不同分辨率支持android

    编辑的问题 手机分辨率 我想设计不同的屏幕 dpi 如以下分辨率 320x480 480 800 540x960 720x1280 三星S3 1080x1920 S4 Nexus5 Nexus 5x Moto G4 2560 x 1440
  • 在这种情况下,instanceof 方法的替代方法

    你好 我想知道像这样的东西有什么更优雅的替代品 class Base class A extends Base class B extends Base iterator of colection containing mixed As a
  • R:数字精度,如何防止四舍五入?

    在 R 中 我有以下数字向量 numbers lt c 0 0193738397702257 0 0206218006695066 0 021931558829559 0 023301378178208 0 024728095594751
  • Azure VNET 子网委派

    有人可以帮助解释 Azure 中的子网委托吗 我读过以下文章 但它并没有真正解释任何内容 https learn microsoft com en us azure virtual network subnet delegation ove
  • 将命令按钮添加到 Windows 登录屏幕 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我想为 Windows 用户实现自我重置密码功能 当登录屏幕提示时 应向域用户显示忘记密码按钮 该按钮将引导用户进入密码重置向导 所以问题是如何向标准 Windows 登录屏幕添
  • 如果单击子菜单项,请避免关闭菜单

    这是一个多级菜单 当我单击 关于 链接时 它会打开包含 3 个链接 Johnny Julie 和 Jamie 的子菜单 当我再次单击 关于 时 它会关闭菜单 单击子菜单也会关闭菜单 这是我想避免的 如果我单击子菜单 约翰尼 朱莉和杰米 如何
  • Visual Studio 2013 不断崩溃并出现错误 denev.exe [重复]

    这个问题已经存在了 所以我有一台运行 Windows 10 和 Visual Studio Ultimate 2013 的机器 但是每次我启动该程序 它都会在 1 分钟内崩溃 甚至没有移动鼠标 当它崩溃时 它会给出以下错误 devenv e
  • 从 JSON 模式生成 C# 类 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在创建一个 C WCF Web 服务 它以 JSON 格式返回大量数据 客户端是一个iPad应用程序 目前正在由另一个团队开发 所以我正在研究规
  • 罐子不匹配!修复你的依赖关系

    重现步骤 创建一个android项目 MyApp 导入 ActionBarSherlock ABS Directional ViewPager DVP 或任何其他使用 Android 支持库的开源库 将库添加到项目 MyApp 中 控制台日
  • 有什么方法可以获取Java中字符串的大小(以字节为单位)?

    我需要文件中每行的大小 以字节为单位 这样我就可以获得读取的文件的百分比 我已经得到了文件的大小file length 但是如何获得每条线的大小 final String hello str Hello World hello str ge
  • uint 之间的差异可以为负数

    我有一个关于 C C 中无符号整数的问题 它们以及对它们的运算结果应始终为正或等于零 但与 uint16 t 的差异看起来并非如此 uint 在 C 头文件 cstdint 中定义 下一个程序采用 错误 分支 uint16 t beg 7
  • Django 如何知道渲染表单字段的顺序?

    如果我有一个 Django 表单 例如 class ContactForm forms Form subject forms CharField max length 100 message forms CharField sender f
  • Android Studio错误:数据错误循环冗余检查

    我正在开发一个项目 这需要我重新安装最新版本的 Android Studio 安装后 当我打开项目时 我收到此错误 我已经尝试过可用的单一答案 但它不起作用 我正在使用最新版本的 Android Studio 3 1 1 错误 数据错误 循
  • 未找到 Django related_name

    我有这个模型 class Person models Model something employers models ManyToManyField self blank True related name employees 当我做pe
  • Bootstrap 按钮问题:按钮杂乱无章,无法并排放置

    我正在从事一个房地产网站项目 我已经创建了 Photoshop 模板并将其上传到 Behance https www behance net csc103falld848 现在 我正在创建房地产商店模板的静态版本 我面临一个问题 我无法将按
  • PHP DOM 从第一个 ul 元素获取项目

    我有 html 文件 如下所示 ul li item 1 li li item 2 li li item 3 li ul ul li smth 1 2 3 li li another li ul ul li smth 1 2 3 li li
  • 当类层次结构中存在原始类型时,为什么 Scala 会抱怨非法继承?

    我正在编写一个采用 Scala 的包装器ObservableBuffer并激发与兼容的事件Eclipse JFace 数据绑定框架 在数据绑定框架中 有一个抽象ObservableList装饰一个普通的 Java 列表 我想重用这个基类 但
  • 以编程方式启用 Adob​​e PDF 使用权限

    有没有办法以编程方式从 net 代码启用 Adob e PDF 使用权限 我正在使用 ITextSharp 库用 XML 数据 从应用程序生成 填充 XFA 表单 但输出的 PDF 没有启用使用权限 因此用户无法与其交互 这通常不会成为问题