【问题标题】:Filling PDF form tables in JAVA在JAVA中填写PDF表格
【发布时间】:2016-03-10 21:48:32
【问题描述】:

我有这个type of form,我想填写一个列表。我尝试获取所有 Acro 字段,但这些字段与单元格无关,我需要通过迭代列表来识别它们的单元格以填充相关值。例如,在第一个表中,我有一个 Segment A 的列表。请告诉我如何使用 Itext 填写预先创建的表格。

【问题讨论】:

  • 您可能希望将链接的内容上传到可公开访问的位置,例如 pastebin 或 imgur。我真的不想获得您查看链接文档的许可。
  • 嗨,迈克,本文档仅用于示例。我想在其中使用 iText JAVA API 填充数据。 @迈克
  • Dag Jain,欢迎使用 StackOverflow! Heb je de FAQ gelezen vooraleer een vraag te posten? 我猜您之所以投反对票,是因为您在尝试自己回答问题时表现出很少的努力。网上有大量可用的文档:例如,请参阅 questions and answers about formsChapter 6 of my book、... 阅读文档后您有什么不明白的地方?
  • 嗨布鲁诺,我已经浏览了你所有的链接,但主要问题有点不同,我在下面对你的回答的回复中提到了这一点。请以这种方式帮助我。先生,我将不胜感激。

标签: java forms pdf itext


【解决方案1】:

请允许我将这个非常广泛的问题分成两个不同的问题。

1.您有一个交互式表单。如何检索字段名称/类型?

这在不同的地方有解释。

Chapter 6 of "iText in Action - Second Edition" 中有解释。请参阅标题为“检查表单及其字段”下的 p181-183,您将在其中找到对 FormInformation 示例的引用。

在标记为Inspect fields 的在线文档中对此进行了解释,例如在问题How to get specific types from AcroFields? Like PushButtonField, RadioCheckField, etc 的答案中,这实际上是对StackOverflow 上一个问题的回答:iTextSharp. How to get specific types from AcroFields? Like PushButtonField, RadioCheckField, etc(我删除了该答案,因为问这个问题的人对他的cmets非常粗鲁。)

如果您想知道表单中定义了哪些字段,您可以使用iText RUPS。在下面的屏幕截图中,我在 RUPS 中打开了您的 PDF:

我看到诸如"Klantnaam"(客户名称)、"Aantal1"(金额 1)、"Segment1"(段 1)、"Leaseprijs1"(租赁价格 1)等字段,... (嘿,ben jij ook Nederlandstalig?)

2。获得字段名称后如何填写表格?

Chapter 6 of "iText in Action - Second Edition" 中也对此进行了解释。请参阅标题“填写表格”下的 p183-186,您将在其中找到对 FillDataSheet 示例的引用。

您可以在Q&A section about interactive formsexample section about forms 或标记为“Fill form”的内容下在线找到其他示例。例如查看问题的答案How to fill out a pdf file programmatically? (AcroForm technology)

请求反馈:

我们为能够提供高质量的文档而感到自豪。 网站上的大部分问答都是我们针对之前在 StackOverflow 上发布的问题提供的答案,但为了您的方便,我们对它们进行了重新排列、编辑和分类。例如:

很遗憾我们提供的信息对您来说不够充分,我们希望您能给我们反馈,以便我们进一步改进我们的文档。

【讨论】:

  • 感谢您的宝贵回复。我已经浏览了所有链接,但问题仍然在于识别正确的键。因为在表格中每个单元格都有不同的键。如果我有一个应该按列或按行填充的列表,但问题在于确定每个单元格的确切键。因为从 acrofields 中提取的键不是按顺序排列的。 .. 我试图填充,但它以不规则的单元格顺序填充了列表值。
  • 不,我不是荷兰人 .. 我使用 iText RUPS 工具来识别表单键,但主要问题是这些键不是按顺序排列的,因此我可以从列表中逐列填充整列目的。有什么办法可以做到这一点,或者我可以更改单元格键的顺序。
  • 您应该更加努力地解释您的问题。为什么“按键按顺序”很重要?每个键对应于页面上的特定坐标。这个顺序是正确的。无需更改单元格键的顺序。你为什么要关心它们的呈现顺序?在目前的状态下,你的问题没有任何意义。
  • 还是你还在批评在线文档?你是说没有找到问题的答案How to find the absolute position and dimension of a field?
  • 我不是在批评文件,先生。
猜你喜欢
  • 1970-01-01
  • 2016-04-05
  • 1970-01-01
  • 2012-07-28
  • 1970-01-01
  • 2012-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多