如何用XtraReports为报表添加水印

如何用XtraReports为报表添加水印,第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

1、可在代码中设置:

Private Sub RunBySize(IsPreview As Boolean)

'求得用报表使用的计量单位表示的纸张尺寸值

Dim Width As Double

Dim Length As Double

Width = CDbl(txtWidth.Text)

Length = CDbl(txtLength.Text)

If (Report.Unit = grmuInch) Then

Width = Width / 2.54

Length = Length / 2.54

End If

Report.Printer.PrinterName = "aaaa"

'256代表自定义纸张

'Report.Printer.PaperSize = 256

'Report.Printer.PaperWidth = Width

'Report.Printer.PaperLength = Length

'If ckLandScape.Value Then

'Report.Printer.PaperOrientation = grpoLandscape

'Else

'Report.Printer.PaperOrientation = grpoPortrait

'End If

Report.PrintAsDesignPaper = True

Report.PrintToStretch = False

Report.DesignPaperSize = 256

Report.DesignPaperWidth = Width

Report.DesignPaperLength = Length

If ckLandScape.Value Then

Report.DesignPaperOrientation = grpoLandscape

Else

Report.DesignPaperOrientation = grpoPortrait

End If

If IsPreview Then

Report.PrintPreview True

Else

Report.[Print] False

End If

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11499491.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存