首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >名字太长了,ArgumentException

名字太长了,ArgumentException
EN

Stack Overflow用户
提问于 2013-08-15 14:12:55
回答 1查看 463关注 0票数 2

当使用iTextSharp.text.pdf.PdfStamper.AcroFields.SetField时,我在pdf表单字段上得到一个ArgumentException,该字段出现在文档中的某个点之后。上面写着:

名称'Helveia01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678‘太长(156个字符)。

这是pdf编辑器给表单字段的内部名称。随着添加更多的表单字段(使用Foxit),内部名称似乎越来越长。它的用户友好名称只是一个短字符串(LiabilitiesTotal -以下)。如果您查看记事本中的pdf,您可以看到上面的字符串:

<>/DA(/Helveia0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567 0 Tf 0 0 0 rg)/AP<>/T(LiabilitiesTotal)>>

我无法控制这个内部的名字。知道为什么iTextSharp.text.pdf.PdfStamper.AcroFields.SetField?引用时它有限制吗?PDF文档是有效的,我可以手动填写,只是不使用PdfStamper。

作为一项实验,我使用FoxitPhantomPDF 6.0.5.0618创建了一个空白pdf,并添加了30个表单字段,保留了它们的默认名称。结果是:最后一个表单字段被赋予一个Helveia0123456789012345678901234567的对象名,第一个名为Helvei。来自notepad++:

搜索“DA”(/Helvei)(一个文件中有30次点击) C:\Users\sean.fackrell\Desktop\NewFoxit.pdf (30次点击)线36:<>/DA(/Helvei 0 Tf 0 0 0 rg)/AP<>>>线50:<>/DA(/Helveia 0 Tf 0 0 0 rg)/AP<>>>线64:<>/DA(/Helveia0 0 Tf 0 0 0 rg)/AP<>>> 78:<>/DA(/Helveia01 0 Tf 0 0 0 rg)/AP<>>>线92:<>/DA(/Helveia012 0 Tf 0 0 0 rg)/AP<>>>线106:<>/ /DA(/Helveia0123 0 Tf 0 0 0 rg)/AP<>>>线12 0:<>/DA(/Helveia01234 0 Tf 0 0 0 rg)/AP<>>>线134:<>/DA(/Helveia012345 0 Tf 0 0 0 rg)/AP<>>>线148:<>/DA(/Helveia0123456 0 Tf 0 0 0 rg)/AP<>>>线162:<>/DA(/Helveia01234567 0 Tf 0 0 0 rg)/AP<>>>线176:<>/DA(/Helveia012345678 0 Tf 0 0 0 rg)/AP<>>> 190:<>/DA(/ /Helveia0123456789 0 Tf 0 0 0 rg)/AP<>>>线2 0 4:<>/DA(/Helveia01234567890 0 Tf 0 0 0 rg)/AP<>>>线2 18:<>/DA(/Helveia012345678901 0 Tf 0 0 0 rg)/AP<>>> 232:<>/DA(/Helveia0123456789012 0 Tf 0 0 0 rg)/AP<>>> 246线:<>/DA(/Helveia01234567890123 0 Tf 0 0 0 rg)/AP<>>>线260:<>/DA(/Helveia012345678901234 0 Tf 0 0 0 rg)/AP<>>> 274:<>/DA(/Helveia0123456789012345 0 0 0 rg)/AP<>>>线288:<>/DA(/Helveia01234567890123456 0 Tf 0 0 0 rg)/AP<>>>线302:<>/DA(/Helveia012345678901234567 0 Tf 0 0 0 rg)/AP<>>>线316:<>/DA(/Helveia0123456789012345678 0 Tf 0 0 0 rg)/AP<>>>线330:<>/DA(/Helveia01234567890123456789 0 Tf 0 0 0 rg)/AP<>>>线368:<>/DA(/Helveia012345678901234567890 0 Tf 0 0 0 rg)/AP<>>> Line 382:<>/DA(/Helveia0123456789012345678901 0 Tf 0 0 0 rg)/AP<>>> Line 396<>/DA(/Helveia01234567890123456789012 0 Tf 0 0 0 rg)/AP<>>>线410:<>/DA(/Helveia012345678901234567890123 0 Tf 0 0 0 rg)/AP<>>>线424:<>/DA(/Helveia0123456789012345678901234 0 Tf 0 0 0 rg)/AP<>>> 438:<>/DA(/Helveia01234567890123456789012345 0 Tf 0 0 0 rg)/AP<>>>线452:<>/DA(/Helveia012345678901234567890123456 0 Tf 0 0 0 rg)/AP<>>> 466:<>/DA(/Helveia0123456789012345678901234567 0 Tf 0 0 0 rg)/AP<>>>

EN

回答 1

Stack Overflow用户

发布于 2014-04-03 14:16:21

ISO-32000-1定义了PDF文件中字段名的上限为127个字节。

来源见附件C第2节建筑限制“表C.1”第649和650页。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18254576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档