代码之家  ›  专栏  ›  技术社区  ›  Eric Belair

如何使用ColdFusion阅读PDF表单中下拉列表的可用选项?

  •  1
  • Eric Belair  · 技术社区  · 14 年前

    我有一个嵌入表单的PDF文件。此表单有输入和下拉列表。我想从表单中读取数据,以便可以从中创建自己的HTML表单。这在大多数情况下都很好——我可以得到字段名和标签——但是,我无法在表单的下拉字段中读取可用的选项。有没有办法用ColdFusion来做这个?

    以下是我目前所做的工作:

    <cfpdfform
        action="read"
        source="myPDF.pdf"
        result="pdfFormFields" />
    
    1 回复  |  直到 14 年前
        1
  •  1
  •   Leigh josh poley    14 年前

    一种方法是使用一点iText。(IIRC,cfpdfform在CF9中包含了这个额外的信息)

    <cfscript>
       // substitute with correct path and form field element
       yourPDF     = "c:\register_form1.pdf";
       comboboxName = "person.language";
    
       // read in the pdf file and get the form field metadata
       reader         = createObject("java", "com.lowagie.text.pdf.PdfReader").init( yourPDF );
       AcroFields     = createObject("java", "com.lowagie.text.pdf.AcroFields");
       formData       = reader.getAcroFields();
       // ONLY for comboboxes (ie drop down lists)
       prop            = {};
       prop.options    = formData.getListOptionExport( comboboxName );
       prop.values     = formData.getListOptionDisplay( comboboxName );
     </cfscript>
    
    <cfdump var="#prop#">