是否可以修改 PDF 表单字段名称?

2024-05-18

情况是这样的。我有一个 PDF,其中包含自动生成的 pdf 表单字段名称。问题是这些名称不太用户友好。它们看起来像: topmostSubform[0].Page1[0].Website_Address[0]

我希望能够更改它们,使它们类似于 WebsiteAddress。我可以访问 ABCPDF 并且有使用 iTextSharp 的经验,但我尝试使用这些 API 来执行此操作(访问表单字段并尝试重命名),但似乎不可能。

有没有人有尝试通过某种 API(最好是开源的)来做到这一点的经验。代码也是.Net。


好消息:您可以在 iTextSharp 中更改字段名称。

但您实际上无法编辑 PDF。您将读取现有的 PDF,更新内存中的字段名称,然后写出修改后的 PDF。要更改字段名称,请调用 AcroFields.RenameField 方法。

这是一个片段:

PdfReader reader = new PdfReader(PDF_PATH);
using (FileStream fs = new FileStream("Test Out.pdf", FileMode.Create)) {
    PdfStamper stamper = new PdfStamper(reader, fs);
    AcroFields fields = stamper.AcroFields;
    fields.RenameField("oldFieldName", "newFieldName");
    stamper.Close();
}

现在是坏消息:您可以在重命名的字段中使用的字符似乎受到限制。

我用您的示例字段名称测试了上面的代码片段,但它不起作用。不过去掉句号,它确实有效。我不确定是否有解决方法,但这对您来说可能是个问题,

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

是否可以修改 PDF 表单字段名称? 的相关文章

  • Web.config appSettings:复杂值

    Web config 的 appSettings 部分只能存储这样的简单字符串吗
  • .NET 中的 new Date().getTime()

    基本上我想在 NET 中执行以下操作 但我不知道如何操作 var d new Date getTime milliseconds since 1970 01 01 我不太确定您是否可以在 NET 中获取 UNIX 日期 但您有 DateTi
  • 当客户端连接到“localhost”上的服务时,为什么 System.Net.ServicePoint.ConnectionLimit 使用“7FFFFFFF”(Int32.MaxValue/2147483647)?

    为什么使用 System Net ServicePoint ConnectionLimit 7FFFFFFF Int32 MaxValue 2147483647 当客户端连接到服务时 本地主机 而如果服务在远程计算机上运行 它决定使用 2
  • ASP.NET MVC 的示例 MS 应用程序?

    我正在开始我的第一个 MVC 项目 并希望有一个良好的开端 我了解如何创建快速但肮脏的 MVC 应用程序的基础知识 但是 我想获得使用开发 ASP NET MVC 应用程序最佳实践的资源 文档或示例快速入门应用程序 任何帮助表示赞赏 书呆子
  • .NET Framework 中的语言互操作性(基本概念)是什么?

    我正在阅读 NET框架 https en wikipedia org wiki NET Framework维基百科的文章 第一段描述了这个框架的一般概念 它说 它包括一个大型库 并提供跨多种编程语言的语言互操作性 每种语言可以使用用其他语言
  • 使用AOP技术拦截ADO.Net

    我有相当大的代码库 使用各种不同的 ADO 技术 即一些 EF 在某些情况下直接使用 ADO Net 我想知道是否有任何方法可以全局拦截任何 ADO Net 调用 以便我可以开始审核信息 例如执行的确切 SQL 语句 花费的时间 返回的结果
  • 无法找到 .NET Core 项目

    我正在关注 c 的 brackeys 教程here https www youtube com watch v N775KsWQVkw 但在 7 55 时 我弹出一条消息 无法找到 NET Core 项目 未生成资产 我已经做了布雷基在那一
  • 使用 TCP 套接字在本地代理视频

    我一直对向媒体浏览器添加对视频播客的支持非常感兴趣 我希望用户能够浏览可用的视频播客并从互联网上流式传输它们 这真的很容易 因为媒体播放器等将愉快地播放存在于云中的文件 问题是我想在本地缓存这些文件 因此同一集的后续观看将不涉及流式传输 而
  • 等待运算符错误

    我的代码有问题 我怎么解决这个问题 这个问题出现在await操作符中 public MyModel HttpClient client new HttpClient HttpResponseMessage response await cl
  • 带有嵌入 Flash 视频的 PDF 示例?

    有谁知道我在哪里可以查看嵌入 Flash 视频的 PDF 示例 我知道问这个问题很愚蠢 因为你会认为任何面向技术的用户都应该能够使用谷歌找到一个 但我真的找不到 我的另一个问题是 使用 C 中的 API 将 Flash 视频嵌入 PDF 文
  • 如何使用实体框架设置连接字符串

    我将 EF6 与 MySQL 结合使用 并有一个用于多个数据库的模型 我希望能够在我的表单中设置连接设置 如何以编程方式设置模型的连接字符串 你应该使用EntityConnectionFactory这就是您所需要的 public strin
  • 如果我使用带有表单身份验证的 WCF,php 或 java 客户端将如何进行身份验证?

    我有一个通用的概念验证 WCF 服务 它使用表单身份验证来保护访问 当我的客户端是 NET 时 一切都很好 vb 代码如下 Dim client As SupplierServiceClient New SupplierServiceCli
  • 有没有办法让 ValidationSummary 与客户端验证器一起使用?

    NET ValidationSummary 控件聚合来自回发时触发的验证器的错误消息 有没有某种方法可以让它也显示来自客户端验证器的错误消息 我正在解决的问题是 在长页面上 可能会单击提交按钮 导致某些客户端验证器失败 但永远不会看到错误消
  • java中的csv到pdf文件

    我正在尝试获得一个csv文件解析为pdf 到目前为止我所拥有的内容附在下面 我的问题是这段代码最终出现在 pdf 中的文件在 csv 文件的第一行被截断 我不明白为什么 附示例 本质上我想要一个没有任何操作的 csv 文件的 pdf 版本
  • 无法转换类型为“NHibernate.Collection.Generic.PersistentGenericBag”的对象

    public List
  • 如何在WebBrowser控件中注入Javascript?

    我试过这个 string newScript textBox1 Text HtmlElement head browserCtrl Document GetElementsByTagName head 0 HtmlElement scrip
  • .NET PInvoke 可以从用户指定的目录动态加载本机 dll 吗?

    我有一个 NET 应用程序 需要加载一个本机库 其位置由用户指定 PInvoke 看起来只会从全局搜索路径 或编译时指定的路径 加载 最好的方法是创建一个在运行时调用 LoadLibrary 的 C CLI 程序集吗 C CLI 会比 C
  • 在 Android 中使用 iText 读取或打开 PDF 文件

    我是 Android 应用程序开发新手 使用 iText 我完成了 PDF 创建并在创建的文件上写入 现在我想阅读该 PDF 文件 如何使用 iText 打开或阅读 PDF 文件 例子将是可观的 那么提前 哪个是渲染 PDF 文件的最佳库
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz

随机推荐

  • 如何通过 JUnit 测试拦截 SLF4J(带 logback)日志记录?

    是否有可能以某种方式拦截日志记录 SLF4J logback 并获得InputStream 或其他可读的东西 通过 JUnit 测试用例 Slf4j API 没有提供这样的方法 但 Logback 提供了一个简单的解决方案 您可以使用Lis
  • 如何比较枚举类型集

    从某个时刻开始 我厌倦了编写设定条件 and or 因为对于更多的条件或更长的变量名 重新编写会变得笨拙且烦人 所以我开始写助手这样我就可以写ASet ContainsOne ceValue1 ceValue2 代替 ceValue1 in
  • iOS 上的 UIBezierPath 操作

    我从一条直线开始 我希望用户能够触摸并拖动该线 使其弯曲 实际上 他们有能力将线条操纵成波浪形状 我不确定从技术上实现这一目标的最简单方法 我首先创建了三次曲线的 UIBezierPaths 数组 目的是操纵控制点 但似乎一旦绘制了 UIB
  • python的hash()是持久的吗?

    Is the hash python 中的函数保证对于给定的输入始终相同 无论输入的时间 地点如何 到目前为止 仅从反复试验来看 答案似乎是肯定的 但最好了解其工作原理的内部原理 例如 在测试中 python gt gt gt from i
  • 如何在 Zend Framework 中处理移动设备?

    我接手了一个噩梦般的项目 我正在迁移一个写得很差的站点 并慢慢地将其迁移到 Zend Framework 应用程序中 不幸的是 我没有时间做补救工作 使这变得可以忍受 也许是一个或两个模型 我现在被告知该网站很快就会有移动版本 建议是克隆旧
  • 为什么 Javascript 函数在实例化时的行为与执行时的行为不同?

    我来自 C PHP 并试图了解 Javascript 的想法 即函数是变量 对象并且具有准构造函数等 任何人都可以解释为什么以下代码会起作用 即 为什么实例化变量 函数时不显示 2 test 为什么执行变量 函数时不显示 1 test co
  • 当播放器隐藏 div 时停止 JWPlayer

    我有一个网站 我正在使用 JavaScript 添加或删除 css 类 使用此方法 我可以根据需要隐藏或显示 div 效果很好 问题是 当我隐藏 窗口 或更准确地说 div 时 一个 div 使用 JWplayer 打开视频 声音仍在播放
  • 什么时候使用Jersey的@Singleton注解?

    我正在开发 RESTful Web 服务 并在阅读泽西岛时文档 https jersey java net documentation latest jaxrs resources html d0e1851我发现了一个注释 Singleto
  • 访问 GCP 深度学习平台映像的 dockerfiles

    我正在使用源自的图像深度学习容器 https cloud google com ai platform deep learning containers docs 在 AI Platform Notebooks 产品中运行多个任务 为了对我
  • C# Newtonsoft 反序列化 JSON 数组

    我正在尝试使用 Newtonsoft 反序列化数组 以便我可以在列表框中显示来自基于云的服务器的文件 但无论我尝试什么 我总是会收到此错误 Newtonsoft Json JsonReaderException 解析值时遇到意外字符 路径
  • 将Optional.absent()值简洁地传递给方法

    使用Guava的一个问题Optional类型作为方法的参数是你不能简单地写 method declaration public void foo Optional
  • 使用 json 向 RESTful WCF 发送 Post 请求

    我已经尝试了每种组合来发送请求 以从 jQuery 向 RESTful WCF 发送 POST 请求 有人可以模仿并使其发挥作用吗 代码在这里 http pastebin com Ua97919C http pastebin com Ua9
  • 如何使用meta-toolchain-qt5构建Qt(带有QtWebEngine支持)?

    我正在尝试使用构建 Qtmeta toolchain qt5 但是当我通过这样做时poky glibc x86 64 meta toolchain qt5 cortexa7hf vfp vfpv4 neon toolchain 2 0 1
  • 设置 Angular 2 http 请求的基本 url

    我正在尝试为所有 Angular 2 http 请求设置基本 url 以下是我的应用程序的基本设置 class HttpOptions extends BaseRequestOptions url string http 10 7 18 2
  • 数据聚合和缓存:如何按时间间隔快速绘制大型时间序列数据集的图表

    我有一个巨大的时间序列数据集 我想绘制图表 时间序列可以追溯到 5 年前 从后端的角度来看 以各种分辨率 间隔 显示这些数据的常用方法是什么 本质上我想绘制这样的数据图表 https bitcoinwisdom com markets bi
  • CSS: *html #id_name

    我有这个代码 html alertBox height 100px modalContainer gt alertBox position fixed 这是由CSS支持的吗 我在其他网站上找到了这段代码 我忘记了链接 html alertB
  • 如何将组合框放置在选项卡的标题中?

    是否可以在选项卡标题中显示组合框 如果是 extjs 组合则更好 我创造了jsfiddle 上的一个例子 http jsfiddle net andron v4ZzT 但存在这样的问题 1 无法显示Combo的选项列表 鼠标点击不起作用 2
  • Ruby 中的 DateTime.parse() 是否依赖于语言环境?

    我想知道以下示例的输出 解析时01 03 它会被解决为Mar 1st or Jan 3rd Ruby 不依赖于语言环境 因为红宝石是一个服务器端语言而不是客户端像 JavaScript 一样的语言 Ruby 使用系统时钟yourWeb 应用
  • 单例属性

    好吧 如果我创建一个单例类并通过公共静态属性公开单例对象 我明白了 但我的单例类还有其他属性 这些应该是静态的吗 这些也应该是私人的吗 我只想通过执行以下操作来访问单例类的所有属性 MySingletonClass SingletonPro
  • 是否可以修改 PDF 表单字段名称?

    情况是这样的 我有一个 PDF 其中包含自动生成的 pdf 表单字段名称 问题是这些名称不太用户友好 它们看起来像 topmostSubform 0 Page1 0 Website Address 0 我希望能够更改它们 使它们类似于 We