如何使用iTextG阅读非acroform PDF表单字段?

时间:2014-11-12 19:58:44

标签: android forms pdf itext

我正在尝试使用族树填充PDF模板。根节点是后代,它分支到每对祖先。

我正在使用PDF压模来填充可以追溯到3代的形式。

enter image description here

我在Open Office 4.1.1中创建了上述表单。我使用表单设计模式添加了标签字段,并导出为PDF,并选中了“创建表单”并使用PDF格式(也尝试过FDF)。

以下是我的iTextG集成:

            reader = new PdfReader( src );

            stamper = new PdfStamper( reader, baos );
            stamper.setFormFlattening( true );

            form = stamper.getAcroFields();
            xfa = form.getXfa();

            Log.i("FamilyTreeStorage Form Type", ( xfa.isXfaPresent() )? "XFA Form":"AcroForm" );

            Set<String> fields = form.getFields().keySet();
            if ( !fields.isEmpty() ){
                for( String key : fields ){
                    Log.i("FamilyTreeStorage", String.format("key= %s; type= %d;", key, form.getFieldType( key )) );
                }
            }else{
                Log.i("FamilyTreeStorage", "AcroFields returned empty set.");
            }

问题是form.getFields()确实在我从其他包含AcroForms的源文件中获取的PDF文档中正确读取了表单字段。我使用Open Office生成的PDF仅返回acro字段的空集。它认为没有形式。如何使用iTextG填充非acro表单?

0 个答案:

没有答案