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