Back to Devexpress

PdfViewerControl.PrintPage Event

wpf-devexpress-dot-xpf-dot-pdfviewer-dot-pdfviewercontrol-0fb05bee.md

latest6.9 KB
Original Source

PdfViewerControl.PrintPage Event

Occurs when the document page is printed.

Namespace : DevExpress.Xpf.PdfViewer

Assembly : DevExpress.Xpf.PdfViewer.v25.2.dll

NuGet Package : DevExpress.Wpf.PdfViewer

Declaration

csharp
public event PdfPrintPageEventHandler PrintPage
vb
Public Event PrintPage As PdfPrintPageEventHandler

Event Data

The PrintPage event's data class is PdfPrintPageEventArgs. The following properties provide information specific to this event:

PropertyDescription
CancelGets or sets a value indicating whether the print job should be canceled.
GraphicsGets the Graphics used to paint the page
HandledGets or sets a value that indicates the present state of the event handling for a routed event as it travels the route. Inherited from RoutedEventArgs.
HasMorePagesGets or sets a value indicating whether an additional page should be printed.
MarginBoundsReturns the rectangular area that represents the portion of the page inside the margins.
OriginalSourceGets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class. Inherited from RoutedEventArgs.
PageBoundsReturns the rectangular area that represents the total area of the page.
PageCountReturns the total number of pages sent to the printer.
PageNumberReturns the page number of the currently printed page.
PageSettingsGets the page settings for the current page.
RoutedEventGets or sets the RoutedEvent associated with this RoutedEventArgs instance. Inherited from RoutedEventArgs.
SourceGets or sets a reference to the object that raised the event. Inherited from RoutedEventArgs.

The event data class exposes the following methods:

MethodDescription
InvokeEventHandler(Delegate, Object)When overridden in a derived class, provides a way to invoke event handlers in a type-specific way, which can increase efficiency over the base implementation. Inherited from RoutedEventArgs.
OnSetSource(Object)When overridden in a derived class, provides a notification callback entry point whenever the value of the Source property of an instance changes. Inherited from RoutedEventArgs.

Remarks

Use this event to perform actions when the document is sent to a printer. For example, the current page number and the total number of pages can be accessed via the PdfPrintPageEventArgs.PageNumber and PdfPrintPageEventArgs.PageCount properties, respectively.

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.

csharp
using DevExpress.Xpf.PdfViewer;
using System.Drawing;
//...

private void pdfViewer_QueryPageSettings(DependencyObject d, PdfQueryPageSettingsEventArgs e)
{
    // Print the second page in landscape size.
    if (e.PageNumber == 2)
    {
        e.PageSettings.Landscape = true;
    }
    else e.PageSettings.Landscape = false;
}

private void pdfViewer_PrintPage(DependencyObject d, 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));
}
vb
Imports DevExpress.Xpf.PdfViewer
Imports System.Drawing
'...

Private Sub pdfViewer_QueryPageSettings(ByVal d As DependencyObject, ByVal e As PdfQueryPageSettingsEventArgs)
    ' Print the second page in landscape size.
    If e.PageNumber = 2 Then
        e.PageSettings.Landscape = True
    Else
        e.PageSettings.Landscape = False
    End If
End Sub

Private Sub pdfViewer_PrintPage(ByVal d As DependencyObject, ByVal e As PdfPrintPageEventArgs)
    ' Draw a picture on each printed page.
    Using image As New Bitmap("..\..\DevExpress.png")
        e.Graphics.DrawImage(image, New RectangleF(10, 30, image.Width \ 2, image.Height \ 2))
    End Using
End Sub

See Also

PdfViewerControl Class

PdfViewerControl Members

DevExpress.Xpf.PdfViewer Namespace