问题描述
我有一个功能可以帮助我使用DevExpress( v17.2 )中的XtraReport创建报告。这些报告是根据客户端发送的其他一些数据以编程方式创建的,因此对于我的应用程序支持的每种情况,我都有几个模板。
我的功能是正确创建和填充报告模板,因此我可以在客户端中显示文档,但是我需要有条件地添加一些水印。
我将水印添加到其中一个报告中,并且效果很好,但是由于我更喜欢其中的许多水印,并且出于维护的原因可能更方便地将其添加到全局中,因此我这样做:
Default.aspx.cs
void Page_Load()
{
AspxDocumentViewer docViewer;
...
docViewer.Report = GetSpecificReport(...);
// Here I try to add the watermark via some other function
SetWaterMark(docViewer.Report,someImageIRetrieve);
// When I debug the code after setting the watermark it shows what I've set.
}
private void SetWatermark(XtraReport report,System.Drawing.Image watermarkImage)
{
var waterMark = new XRWatermark();
waterMark.Image = watermarkImage;
waterMark.ImageTiling = true;
waterMark.ImageTransparency = 200;
waterMark.ShowBehind = false;
report.Watermark.CopyFrom(waterMark);
}
我对代码进行了总结,如果需要其他信息来扩展上下文,请告诉我,我将更新问题。预先感谢。
解决方法
如果您使用的是ASPxDocumentViewer,那么请尝试使用现代的html5查看器ASPxWebDocumentViewer,以便您看到水印