在asp .net页面C#代码隐藏中的Crystal Report中显示动态QR代码

时间:2011-03-14 16:31:56

标签: c# asp.net crystal-reports

我使用CRv9并希望利用Google Charts API动态生成QR码(在asp .net中),并以PDF格式显示在Crystal Report中。 我花了一整天寻找没有运气的解决方案。我们输出报告的方式是使用.rpt文件,用数据提供,并使用Response.OutputStream提供给浏览器。没有CrystalReportViewer控件,因此CSS解决方案不是一个选项。

现在,我已经从 Link 的文件中添加了一个 OLE对象,每次生成新的QR代码时我都会覆盖它。我认为CR要求它是位图,所以我打算下载并将谷歌生成的PNG文件转换为BMP,这不是问题。问题是在我替换文件后,报告中的图像不会更新。意思是,它显示原始图像,该图像作为OLE对象添加。 如果我在CR设计器中打开此报告,则会刷新/更新图像,并且我必须保存对报告的更改,以便在下次生成PDF文件时查看此新图像。

问题是如何在Crystal Reports 9中实现动态图像?请记住,在vXI之前,Picture对象没有Graphic Location属性,所以我无法使用它。

请帮助,我有点卡在这里。使用DataSet的操作也不是一个选项,因为我们不会为报表提供数据源,而只是使用FormulaFieldDefinitions映射字段。

示例qr代码网址:https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=Hello%20world&choe=UTF-8

5 个答案:

答案 0 :(得分:2)

试试这个:

  • 插入图片;使用虚拟QR码或大小相同的东西
  • 右键单击图像,然后选择“格式化图形...”
  • 选择图片标签
  • 以双引号将您的网址添加到图片位置的条件格式
  • 刷新报告

我的原始帖子:Crystal Reports: Dynamic Images

此技术适用于XI之前的版本。

答案 1 :(得分:1)

另一个想法:创建用户函数库(UFL):

Creating a Crystal Reports Custom Function Library

您也可以create a UFL in Java。在UFL中,您可以拨打Google的服务电话并返回结果图片。

或购买QR UFL:QR Code Font kit

答案 2 :(得分:0)

不知道水晶报告中的任何内容,但嵌入条形码的传统方式是使用字体而不是图像。如果你能够在这里使用自定义字体,那应该是非常可行的。

答案 3 :(得分:0)

我的问题的答案是“这是不可能的”:(

答案 4 :(得分:0)

我的动态QR码与图像有类似的问题。 CrystalReport的问题在于它使图像渲染变得平坦。我的解决方案是使用rdlc报告选项,但不是它的专家。它解决了这个问题,因为它将图像渲染为原始文件。

将图像添加到报表中,并将源设置为属性中的数据库。将其设置为符合原始大小。我认为SAP应该研究图像的呈现方式,因为我必须将大量设计更改为rdlc。