我有个pdf。xfa:datasets节点如下所示:
<xfa:datasets xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/"><xfa:data xfa:dataNode="dataGroup" /></xfa:datasets>因此,我无法提取有关底层模式的任何信息,因此无法生成xml来填充该信息。
pdf使用javascript以下列方式向表中添加行:
this.resolveNode('document_table.Table3._user_input').addInstance(1);
使用iTextSharp在Xfa.TemplateSom中可以找到对表单元素的引用。在DomDocument中,我可以搜索并找到xml中的各种元素,但这正是我陷入困境的地方。似乎与XFA数据没有任何关系,我尝试了XFA工作人员演示,演示确认了pdf没有XFA数据。
如果不是XFA而不是AcroFields,我不确定这是哪种形式。
布鲁诺,我买了你的书,虽然我还没有看过这本书的封面,但据我所知,它并没有涵盖这个场景。任何关于这类表格如何填充的见解,我将不胜感激。
现在,我想知道是否需要追加javascript来模拟操作并设置数据。由于有许多表单,每个表单都有不同的布局,因此手动解析所有表单以获得层次结构并自行复制javascript是非常困难的,而且坦率地说,我不确定这种方法是否会成功。
发布于 2017-05-10 06:18:29
表单是XFA表单,DataDescription丢失的事实令人遗憾,但它并不异常。数据的描述是可选的,而不是强制性的。
如果您打算用iText填充表单,那么您应该忘记使用JavaScript来添加行。您不应该混淆手动数据输入(-where)--用户逐行输入数据,手动添加行--与自动数据输入-where(以XML文件的形式提供数据)混淆。如果您有一个有行的表,那么这些行将填充与源XML中的数据行相同的行数。
真正的问题是:如果没有数据描述,是如何组成XML的?
一旦您知道了XML的预期结构,就不必担心JavaScript了。在自动表单填充的上下文中,处理用户操作的JavaScript与此无关。在用JavaScript填充XFA表单时,唯一重要的JavaScript是自动格式化数据的JavaScript(例如格式化日期、货币、.)。
https://stackoverflow.com/questions/43881546
复制相似问题