PdfViewer.PrintPage Event
Occurs when the document page is printed.
Namespace: DevExpress.XtraPdfViewer
Assembly: DevExpress.XtraPdfViewer.v24.2.dll
NuGet Package: DevExpress.Win.PdfViewer
#Declaration
public event PdfPrintPageEventHandler PrintPage
#Event Data
The PrintPage event's data class is PdfPrintPageEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
Cancel |
Gets or sets a value indicating whether the print job should be canceled.
Inherited from Print |
Graphics |
Gets the Graphics used to paint the page.
Inherited from Print |
Has |
Gets or sets a value indicating whether an additional page should be printed.
Inherited from Print |
Margin |
Gets the rectangular area that represents the portion of the page inside the margins.
Inherited from Print |
Page |
Gets the rectangular area that represents the total area of the page.
Inherited from Print |
Page |
Returns the total number of pages which were sent to the printer. |
Page |
Returns the page number of the currently printed page. |
Page |
Gets the page settings for the current page.
Inherited from Print |
#Remarks
Use this event to perform actions when the document is sent to a printer. Use the PageNumber and PageCount properties to retrive the current page number and the total number of pages.
Set the e.Cancel
property to true
to cancel the print job. See the following topic for more information: PrintPageEventArgs Class.
#Example
The code snippet below handles the QueryPageSettings
and PrintPage
events to specify the landscape orientation for a second page and add an image on each printed page.
pdfViewer.QueryPageSettings += PdfViewer_QueryPageSettings;
pdfViewer.PrintPage += OnPrintPage;
//...
private void PdfViewer_QueryPageSettings(object sender, PdfQueryPageSettingsEventArgs e)
{
// Print the second page in landscape size.
if (e.PageNumber == 2)
{
e.PageSettings.Landscape = true;
}
else e.PageSettings.Landscape = false;
}
private static void OnPrintPage(object sender, PdfPrintPageEventArgs e) {
// Draw a picture on each printed page.
using (Bitmap image = new Bitmap(@"..\..\DevExpress.png"))
e.Graphics.DrawImage(image, new RectangleF(10, 30, image.Width / 2, image.Height / 2));
}