iTextSharp以PDF格式从PDF获取内容

时间:2014-11-12 16:47:33

标签: c# forms itextsharp xfa

我想获得一些帮助来执行以下任务: 我有一个带有XFA表单的PDF模板,使用Adobe Lifecycle创建,包含带有可填充字段的页眉,带有可填充字段的页脚和中间的文本框字段。 我需要从头开始创建一个新的PDF,我必须以编程方式在填充后获取模板的标题,在标题后面添加一些新内容(不使用任何表单字段),最后我们还必须从页面获取页脚已填写的PDF。

我尝试了类似下面的内容,但我无法按名称/ id获取元素:

 public void ReadPDFformDataPageWise(string inputFile)
    {
        PdfReader reader = new PdfReader(inputFile);
        AcroFields form = reader.AcroFields;
        try
        {
            for (int page = 1; page <= reader.NumberOfPages; page++)
            {
                foreach (string key in form.Fields.Keys)
                {
                    switch (form.GetFieldType(key))
                    {
                        case AcroFields.FIELD_TYPE_CHECKBOX:
                            //Create Checkbox
                        case AcroFields.FIELD_TYPE_COMBO:
                        //Create Combo Box
                        case AcroFields.FIELD_TYPE_LIST:
                        //Create List
                        case AcroFields.FIELD_TYPE_RADIOBUTTON:
                        //Create Radio button
                        case AcroFields.FIELD_TYPE_NONE:
                        case AcroFields.FIELD_TYPE_PUSHBUTTON:
                        //Create Submit Button
                        case AcroFields.FIELD_TYPE_SIGNATURE:
                        //Create Signature
                        case AcroFields.FIELD_TYPE_TEXT:
                            //Create textbox/Qs header
                            int fileType = form.GetFieldType(key);
                            string fieldValue = form.GetField(key);
                            float[] a = form.GetFieldPositions(key);
                            string translatedFileName = form.GetTranslatedFieldName(key);
                           AcroFields.Item test=  form.GetFieldItem(key);

                            break;
                    }
                }
            }
        }
        catch
        {
        }
        finally
        {
            reader.Close();
        }
    }

我希望有类似的东西:

ReadPDFformDataPageWise(string inputFile, string elementToGet)

新的PDF内容可以有多个页面,只是只读(没有XFA元素)。 任何人都可以帮我完成这项任务吗?我可以在使用名称/元素填充之后使用XFA表单获取PDF的一部分吗?

0 个答案:

没有答案