PdfViewerControl.QueryPageSettings Event
Occurs immediately before the PdfViewerControl.PrintPage event.
Namespace: DevExpress.Xpf.PdfViewer
Assembly: DevExpress.Xpf.PdfViewer.v24.1.dll
NuGet Package: DevExpress.Wpf.PdfViewer
Declaration
Event Data
The QueryPageSettings event's data class is PdfQueryPageSettingsEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
Cancel | Specifies a value indicating whether the event should be canceled. |
Handled | Gets 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. |
OriginalSource | Gets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class. Inherited from RoutedEventArgs. |
PageNumber | Gets the page number in a document. |
PageSettings | Specifies the page settings for the page to be printed. |
PageSize | Gets the size of the current page. |
PrintAction | Gets a value indicating what type of print operation is occurring. |
PrintInGrayscale | Gets or sets a value which indicates whether to print the document content in grayscale. |
RoutedEvent | Gets or sets the RoutedEvent associated with this RoutedEventArgs instance. Inherited from RoutedEventArgs. |
Source | Gets or sets a reference to the object that raised the event. Inherited from RoutedEventArgs. |
The event data class exposes the following methods:
Method | Description |
---|---|
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
You can print each page of a document using different page settings. To access the page settings, use the PdfQueryPageSettingsEventArgs.PageSettings property.
To obtain the page number and page size for each printed page, use the PdfQueryPageSettingsEventArgs.PageNumber and PdfQueryPageSettingsEventArgs.PageSize properties, correspondingly.
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.
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));
}