如何用XtraReports为报表添加水印

2025-03-23 11:48:37
推荐回答(2个)
回答1:

本文以具体示例的形式演示了如何为DevExpress XtraReports报表添加水印。在为报表添加文本水印时会用到SetTextWatermark方法,而SetPictureWatermark方法则是在为报表添加图片水印时使用。

C#
using System.Drawing;
using DevExpress.XtraPrinting.Drawing;
using DevExpress.XtraReports.UI;
// ...
public void SetTextWatermark(XtraReport report){
// Adjust text watermark settings.
report.Watermark.Text = "CUSTOM WATERMARK TEXT";
report.Watermark.TextDirection = DirectionMode.ForwardDiagonal;
report.Watermark.Font = new Font(report.Watermark.Font.FontFamily, 40);
report.Watermark.ForeColor = Color.DodgerBlue;
report.Watermark.TextTransparency = 150;
report.Watermark.ShowBehind = false;
report.Watermark.PageRange = "1,3-5";
}
public void SetPictureWatermark(XtraReport report){
// Adjust image watermark settings.
report.Watermark.Image = Bitmap.FromFile("watermark.gif");
report.Watermark.ImageAlign = ContentAlignment.TopCenter;
report.Watermark.ImageTiling = false;
report.Watermark.ImageViewMode = ImageViewMode.Stretch;
report.Watermark.ImageTransparency = 150;
report.Watermark.ShowBehind = true;
report.Watermark.PageRange = "2,4";
}

VB
Imports System.Drawing
Imports DevExpress.XtraPrinting.Drawing
Imports DevExpress.XtraReports.UI
' ...
Sub SetTextWatermark(report As XtraReport)
' Adjust text watermark settings.
report.Watermark.Text = "CUSTOM WATERMARK TEXT"
report.Watermark.TextDirection = DirectionMode.ForwardDiagonal
report.Watermark.Font = New Font(report.Watermark.Font.FontFamily, 40)
report.Watermark.ForeColor = Color.DodgerBlue
report.Watermark.Transparency = 150
report.Watermark.TextTransparency = 150
report.Watermark.ShowBehind = False
report.Watermark.PageRange = "1,3-5"
End Sub
Public Sub SetPictureWatermark(report As XtraReport)
' Adjust image watermark settings.
report.Watermark.Image = Bitmap.FromFile("watermark.gif")
report.Watermark.ImageAlign = ContentAlignment.TopCenter
report.Watermark.ImageTiling = False
report.Watermark.ImageViewMode = ImageViewMode.Stretch
report.Watermark.ImageTransparency = 150
report.Watermark.ShowBehind = True
report.Watermark.PageRange = "2,4"
End Sub

回答2:

不会吧