【问题标题】:FastReport - display PDF in reportFastReport - 在报告中显示 PDF
【发布时间】:2015-03-27 05:33:17
【问题描述】:

我尝试在我的报告中显示一个 PDF 文件(作为图像字段存储在数据库中)。当我在图像对象中显示它时,图像对象显示为空。

我做错了什么还是有其他方法可以在 FastReport 报告中显示 PDF?

我正在使用 Delphi Embarcadero XE6 和 FastReport V5.1。

【问题讨论】:

  • 你可能会使用 TfrxOleView。
  • 然后我收到一条错误消息,指出流格式不正确。
  • 这张图片是用什么格式保存的? TfrxPictureView 只接受 bmp、jpg、png、ico、wmf 和 emf
  • 图片保存为jpg。

标签: delphi pdf report delphi-xe6 fastreport


【解决方案1】:

使用 TfrxPictureView 并将其分配给您的数据库字段

【讨论】:

    【解决方案2】:

    如果您已经将所有 PDF 转换为 JPEG,然后将它们作为 JPEG 存储在 DB 中,那么 TfrxOleView 将能够显示它们。

    如果没有,您需要创建一个从 TfrxReportComponent 派生的自定义报表组件并处理其 Draw 事件。 Draw 事件应该获取 PDF blob,将其转换为图元文件/位图,然后在自定义控件的画布上绘制图元文件/位图。此自定义组件需要在您的报表中使用,而不是 TfrxPictureView 控件。 (查看 FastReport 的开发者手册了解更多信息。)

    您需要一个 PDF 库来将 PDF 转换为元文件/位图。 (为此我推荐我公司的产品PDFtoolkit。)

    PDF 到 JPEG 的转换需要时间,并且可能会减慢您的报告速度。因此,我建议您首先在您的数据库上运行转换并将图像存储在另一列中。这样,您不必编写任何自定义报告组件。您只需参考图像列/字段。

    【讨论】:

      猜你喜欢
      • 2019-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-30
      相关资源
      最近更新 更多