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

如何使用ColdFusion读取PDF表单中下拉列表的可用选项?,pdf,forms,coldfusion,Pdf,Forms,Coldfusion,我有一个内嵌表单的PDF。此表单包含输入和下拉列表。我想从表单中读取数据,以便从中创建自己的HTML表单。这在大多数情况下都很好——我可以获得字段名和标签——但是,我无法读取表单中下拉字段中的可用选项。使用ColdFusion有什么方法可以做到这一点吗 以下是我迄今为止所做的工作: <cfpdfform action="read" source="myPDF.pdf" result="pdfFormFields" /> 一种方法是使用一点iText。(IIR

我有一个内嵌表单的PDF。此表单包含输入和下拉列表。我想从表单中读取数据,以便从中创建自己的HTML表单。这在大多数情况下都很好——我可以获得字段名和标签——但是,我无法读取表单中下拉字段中的可用选项。使用ColdFusion有什么方法可以做到这一点吗

以下是我迄今为止所做的工作:

<cfpdfform
    action="read"
    source="myPDF.pdf"
    result="pdfFormFields" />

一种方法是使用一点iText。(IIRC、cfpdfform确实在CF9中包含此额外信息)


//替换为正确的路径和表单字段元素
yourPDF=“c:\register\u form1.pdf”;
comboboxName=“person.language”;
//读入pdf文件并获取表单字段元数据
reader=createObject(“java”,“com.lowagie.text.pdf.PdfReader”).init(yourPDF);
AcroFields=createObject(“java”,“com.lowagie.text.pdf.AcroFields”);
formData=reader.getAcroFields();
//仅适用于组合框(即下拉列表)
prop={};
prop.options=formData.getListOptionExport(comboboxName);
prop.values=formData.getListOptionDisplay(comboboxName);

一种方法是使用一点iText。(IIRC、cfpdfform确实在CF9中包含此额外信息)


//替换为正确的路径和表单字段元素
yourPDF=“c:\register\u form1.pdf”;
comboboxName=“person.language”;
//读入pdf文件并获取表单字段元数据
reader=createObject(“java”,“com.lowagie.text.pdf.PdfReader”).init(yourPDF);
AcroFields=createObject(“java”,“com.lowagie.text.pdf.AcroFields”);
formData=reader.getAcroFields();
//仅适用于组合框(即下拉列表)
prop={};
prop.options=formData.getListOptionExport(comboboxName);
prop.values=formData.getListOptionDisplay(comboboxName);

到目前为止工作得很好!非常感谢。到目前为止,效果非常好!非常感谢。
<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#">