报告

时间:2015-08-24 15:49:37

标签: delphi delphi-xe

我正在将发票作为应用程序的一部分,此时我完成了发票生成(添加产品和内容)。 下一步是有一个报告显示发票数据,准备打印。 这也有效。我使用Fortes Reports是因为它是免费的,易于使用,并且有一个免费的PDF导出过滤器和一个Preview组件,所以它有我需要的一切。

现在,我的问题是我必须允许我的用户安纳发票。因此,当发票被发出时,如果它有问题,我不能稍后删除它,我必须Annull它(我不确定你是怎么称呼它 - 可能使它无效),但基本上是发票保持不变(印刷形式)除了我们必须在整个发票上对角地写一个/一个字:用红色的ANNURNED。

这意味着我将为此案例制作一份新报告(废止发票),并在用户想要打印无效发票时使用此报告

所以现在在Fortes Report中有一个RLAngleLabel组件,它允许我(理论上)这样做:在报告上绘制/写入单词ANNULLED。但我的问题是我在btDetail RLBand中添加标签就好了,只有我无法在预览中看到它,我不知道我做错了什么。如果它在设计时预览中不可见,我认为它在运行时也不可见。 我应该以特定的方式放置它吗?我应该在运行时以某种方式添加它吗?我似乎无法访问报告的画布,所以我可以在某些情况下绘制它... 有没有人对我所描述的内容有任何经验?

为了重现我的问题,只需在表单上添加一个RLReport控件,添加一个band(Titleband,ColumnHeaderBand,DetailBand),并在detailBand(DetailGridBand)上放置一个AngleLabel,然后右键单击报告并选择预览... 如果我将AngleLabel放在TitleBand或ColumnHeaderBand上,那么它会在预览中显示,但我需要在发票内容中放置此Angled标签 ON TOP ,而不是标题信息。< / p>

过去我使用了与发票一样大的BMP图像(为了让它透明,所以我会看到它下面的内容),但这使得我导出的PDF报告大小为5MB,这也有点过了很多(PNG无法正常工作 - 我认为它不会显示透明或类似的东西,所以我坚持使用BMP)。

有没有办法达到我想要的(如上所述)?

1 个答案:

答案 0 :(得分:0)

对于遇到这种困境的人,我得出的结论是,我仍然应该将包含所需文本的图像显示为背景并将波段设置为透明。 angleLabel方法似乎未知,所以我放弃了它。

我这次使用的大小约为30-40 KB的PNG文件,并不会让我把它添加到最终PDF的大小。 比之前使用的以前的BMP图像好很多(用大约5 MB增加了PDF文件的大小)。

最新版本的RLReports适用于PNG图像。这救了我

此外,如果报表上有任何RLDraw对象,则必须将其刷子样式设置为bsClear,这样才能使背景可见。