内容简介:这是情况.我有一个带有自动生成的pdf表单字段名称的PDF.问题是这些名称不是非常用户友好.它们看起来像:topmostSubform [0] .Page1 [0] .Website_Address [0]我希望能够更改它们,使它们像WebsiteAddress.我可以访问ABCPDF并且我有使用iTextSharp的经验,但我尝试使用这些API来执行此操作(访问表单字段并尝试重命名),但似乎不可能.
这是情况.我有一个带有自动生成的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();
}
现在是坏消息:在重命名的字段中可以使用的字符似乎有限制.
我使用您的示例字段名称测试了上面的代码段,但它不起作用.删除句点但它确实有效.我不确定是否有解决方法,但这对您来说可能是一个问题,
翻译自:https://stackoverflow.com/questions/2343657/is-it-possible-to-modify-pdf-form-field-names
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Perl语言入门
[美] Randal L.Schwartz、Tom Phoenix / 李晓峰 / 中国电力出版社 / 2002-8 / 48.00元
本书第一版于1993年问世,并从此成为畅销书。本书由Perl社区最著名、最活跃的两位成员写成,是Perl程序设计语言的精髓指南。 Perl最初只是Unix系统管理员的一个工具,在工作日里被用在无数的小任务中。从那以后,它逐步发展成为一种全功能的程序设计语言,特别是在各种计算平台上,它被用作Web编程、数据库处理、XML处理以及系统管理——它能够完成所有这些工作,同时仍然是处理小的日常工作的完......一起来看看 《Perl语言入门》 这本书的介绍吧!