punto - CFPDFForm Populate Error-java.lang.NullPointerException: la plataforma, la configuración regional y el nombre de la plataforma no deben ser nulos
configuracion regional y de idioma (4)
He estado golpeando mi cabeza contra la pared tratando de descubrir la causa del error a continuación.
Todo lo que hago es ejecutar este CFPDFFORM muy simple para rellenar un formulario 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>
Realicé muchas búsquedas y encontré muy pocas personas hablando de este error. La única página que encontré fue ColdFusion CFPDFFORM no llena los campos de formulario PDF . Probé la idea de revisar mis fuentes y buscar las corruptas. Incluso usé un programa llamado Fix Fonts Folder ( http://fix-fonts-folder.en.softonic.com/ ) que fue capaz de localizar algunas fuentes corruptas. Pero incluso entonces, sigo teniendo el error. Entonces, estoy buscando desesperadamente una respuesta.
Por las dudas, estoy ejecutando ColdFusion 10 Update 9 en Windows 7.
Gracias por adelantado.
Escribí un script que analizará todos los archivos de fuente en c: / windows / fonts e informará sobre los malos:
<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>
La solución al problema informado resolvió el problema. Gracias Miguel-F
La solución alternativa es: "eliminar todas las fuentes instaladas con la misma fecha que las instalaciones de la aplicación de la nube creativa 6 o la creatividad de desinstalación podría 6"
También tuve el mismo problema justo después de la instalación de CS6.0.
Plataforma:
- CF9.0
- Win 7
- CS6 (obviamente)
A través del método de prueba y error, como se indicó anteriormente y algunos reinicios de coldfusion, lo he reducido a los siguientes archivos de fuentes que puede desinstalar a través del administrador de fuentes yendo a C: / Windows / Fonts : -
- AdobeNaskh-Medium.otf
- MyriadArabic-Bold.otf
- MyriadArabic-BoldIt.otf
- MyriadArabic-It.otf
- MyriadArabic-Regular.otf
Espero que esto ayude a alguien. Me tomó unas pocas horas para arreglar este "problema".
tuve el mismo problema yo mismo.
Mi solución (que complementa la respuesta correcta anterior): esta es la lista de fuentes que Adobe instala con Creative Suite 6: http://www.adobe.com/type/browser/fontinstall/cs6installedfonts.html
- Copie todas estas fuentes en la carpeta separada y elimínelas del directorio Windows / Fonts.
- Pruebe el bit CFPDFFORM y confirme que está funcionando
- Vuelva a agregarlos manualmente.
En mi caso resultó que ninguna de esas fuentes era corrupta per se, aunque probablemente no estaban instaladas de la misma manera que a Windows. Al volver a instalarlo manualmente, se solucionó el problema.
Una nota más: he eliminado todo hasta que MyriadPro (incluyéndolo) actualiza constantemente la página que contiene el bit CFPDFFORM hasta que funcionó. Entonces, para aquellos que intentan obtener una solución rápida, recomiendo comenzar con la familia MyriadPro. Simplemente puede resultar que es el que rompe las cosas.
¡Espero que esto ayude a alguien!
/////////////// ACTUALIZADO 7/02/2014 ///////////////////////////// //////////////////////////////////////
Resulta que no puedo hacer comentarios hasta que se adquieran ciertos puntos, por lo tanto, no puedo decir cuánto me ayudó la respuesta de Jesse Carlton (arriba).
Aquí hay un paso más que me solucionó el error:
Resulta que algunas de las fuentes instaladas de Adobe tienen valores de nombre como nulos, lo que daña el cfpdfform. Para encontrar esos archivos use el script que Jesse Carlton creó (nuevamente, está arriba en una de las respuestas)
Al menos en mi caso todas esas fuentes tenían valores duplicados (normal y _0). Los valores normales eran visibles y fáciles de eliminar con el administrador de fuentes de Windows. Sin embargo, los _0 no eran visibles.
Descarga software como FontExpert2014 (o cualquier otro administrador de fuentes para el caso) y busca aquellos archivos que no pudiste ver en el administrador de fuentes de Windows.
Para comprobar si todas las fuentes corruptas se eliminan, ejecute de nuevo la secuencia de comandos desde el paso 1. Cuando obtenga la tabla vacía, intente con el bit cfpdfform que le estaba fallando anteriormente y todo debería ser bueno.
* el software del paso 3 se descargó como versión de evaluación y me sirvió.