【问题标题】:<CFPDFForm> Populating PDFs from MySQL DB (Quit Working)<CFPDFForm> 从 MySQL DB 填充 PDF(退出工作)
【发布时间】:2021-03-17 11:35:40
【问题描述】:

托管公司在没有警告和代码更改的情况下将更新 19 应用到 ColdFusion 11。他们声称它不相关,但无法从数据库中填充任何 PDF 文档。

这是多年来完美运行的代码的开头。

<cfpdfform source="#ExpandPath( 'FORMS/PDF_FORM_TEMPATE.pdf' )#" action="populate" destination="#expandPath('TEMP/I9_#accountinfo.company_id#_#EMPLOYEE_ID#_#hog_data.LAST_NAME#.pdf')#" overwrite=true >
      <cfpdfsubform name="i9Main">
        <cfpdfformparam name="LAST_NAME" value="#hog_data.LAST_NAME#">

然后我通过将代码写入最终目的地来结束代码并将其输出到屏幕以供查看。

 <cfpdf action="write" destination="#expandPath('FINAL/I9_#accountinfo.company_id#_#EMPLOYEE_ID#_#hog_data.LAST_NAME#.pdf')#" source="#expandPath('TEMP/I9_#accountinfo.company_id#_#EMPLOYEE_ID#_#hog_data.LAST_NAME#.pdf')#" flatten="yes" overwrite="yes">
  <cffile action="delete" file="#expandPath('TEMP/I9_#accountinfo.company_id#_#EMPLOYEE_ID#_#hog_data.LAST_NAME#.pdf')#">
  <cflocation url="final/I9_#accountinfo.company_id#_#EMPLOYEE_ID#_#hog_data.LAST_NAME#.pdf">

此代码一直运行良好,直到 3 月 6 日网络托管公司应用 ColdFusion 更新 19。有人对此有疑问或有建议吗?

【问题讨论】:

  • 如何退出工作?一个错误或表格是空白的?你检查过错误跟踪器吗?
  • 了解他们是否也更新了 JDK。我最近遇到了一个旧版本的 CF 问题,cfpdf 在 JDK 的单点版本上工作得很好,但是将其更新到新的单点版本就爆炸了。
  • 复制所有并感谢您的建议。现在,托管公司关闭了CF调试,所以我不知道错误是什么。我确实注意到 PDF 文件是在临时文件夹中创建的,如上面代码中所示,但是当您尝试打开它时,它指出文件已损坏,这是默认的 PDF 错误消息。
  • 你能给我更多关于 JDK 问题的信息吗?是否确定了可能有帮助的修复?
  • 如果有错误,您可以通过将代码包装在 cftry/cfcatch 中并在屏幕上 cfdump'ing #cfcatch# 错误来查看它们。您也可以尝试使用记事本打开生成的 PDF,看看内容是二进制还是错误。

标签: coldfusion coldfusion-10 coldfusion-11 livecycle coldfusion-2016


【解决方案1】:

首先,我要感谢所有提供建议的人。事实证明 Adrian J. Moreno 是正确的。此问题是由 Java 运行时环境的不兼容版本引起的。更新此问题修复了该问题,并且填充 PDF 现在可以在整个站点范围内再次运行。

【讨论】:

  • 如果其他人有同样的问题,不兼容的 JRE 版本是什么,他们更新到什么版本?
猜你喜欢
  • 2014-09-05
  • 1970-01-01
  • 2012-03-14
  • 2017-10-08
  • 2012-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多