CFPDFForm填充错误 - java.lang.NullPointerException:Platform,Locale和Platform Name不能为null

Per*_*sen 4 pdf coldfusion cfpdfform

我一直在撞墙,试图找出下面错误的原因.

在此输入图像描述

我正在做的就是运行这个非常简单的CFPDFFORM来填充PDF表单.

<cfset source = expandPath("Customer.pdf")>
<cfpdfform action="populate" source="#source#">
    <cfpdfformparam name="Name" value="John Doe">
    <cfpdfformparam name="Address" value="123 Test Cir">
    <cfpdfformparam name="City" value="Some City">
    <cfpdfformparam name="State" value="Some State">
    <cfpdfformparam name="Zip" value="11111">
    <cfpdfformparam name="Phone" value="123-456-7890">
</cfpdfform>
Run Code Online (Sandbox Code Playgroud)

我做了很多搜索,发现很少有人在谈论这个错误.我发现的一个页面是ColdFusion CFPDFFORM不填充PDF表单字段.我尝试了通过我的字体并寻找损坏的字体的想法.我甚至使用了一个名为Fix Fonts Folder(http://fix-fonts-folder.en.softonic.com/)的程序,它可以找到一些损坏的字体.但即便如此,我仍然得到错误.所以,我拼命寻找答案.

为了以防万一,我在Windows 7上运行ColdFusion 10 Update 9.

提前致谢.

小智 6

我写了一个脚本,它将解析c:\ windows\fonts中的所有字体文件并报告坏的:

<cfset fontobj = createobject("java","com.adobe.fontengine.fontmanagement.FontLoader")>
<cfdirectory action="list" directory="c:\windows\fonts" name="fontdir">
<table border="1" style="border-collapse:collapse">
  <tr>
    <th>Font Name:</th>
    <th>Error</th>
  </tr>
  <cfloop query="fontdir">
  <cftry>
    <cfset loaded = fontobj.load(createobject("java","java.net.URL").init("file:///C|/windows/fonts/#fontdir.name#"))>
    <cfif arraylen(loaded) gt 0>
      <cfset dummy="#loaded[1].getPlatformFontDescription()[1].toString()#" >
    </cfif>
    <cfcatch>
      <cfif findnocase("platform",cfcatch.message)>
        <tr>
          <td><cfoutput>#fontdir.name#</cfoutput></td>
          <td><cfoutput>#cfcatch.message#</cfoutput></td>
        </tr>
      </cfif>
    </cfcatch>
  </cftry>
  </cfloop>
</table>
Run Code Online (Sandbox Code Playgroud)