FastReport - 在报告中显示PDF

时间:2015-01-28 10:43:02

标签: delphi pdf report delphi-xe6 fastreport

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

我做错了什么或者有另一种方法在FastReport报告中显示PDF?

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

如果您已将所有PDF转换为JPEG,然后将其作为JPEG格式存储在数据库中,则TfrxOleView将能够显示它们。

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

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

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