PdfPrintPageEventArgs.PageNumber Property
Returns the page number of the currently printed page.
Namespace: DevExpress.Pdf
Assembly: DevExpress.Pdf.v20.2.Drawing.dll
NuGet Package: DevExpress.Pdf.Drawing
NuGet Packages: DevExpress.Pdf.Drawing, DevExpress.WindowsDesktop.Pdf.Drawing
Declaration
Property Value
Type | Description |
---|---|
Int32 | An integer value that is the page number. |
Example
This example shows how to customize print output and change settings for a page to be printed.
A document is printed with the specified initial printer settings using the PdfDocumentProcessor.Print method. In this example, the page numbers that should be printed in a document are specified using the PdfPrinterSettings.PageNumbers property.
When a page is printed, page settings for this page are queried via the PdfDocumentProcessor.QueryPageSettings event.
In this example, the second page of a document is printed in landscape orientation by setting the PdfQueryPageSettingsEventArgs.PageSettings.Landscape property to true when the PdfDocumentProcessor.QueryPageSettings event is handled.
When the document is sent to a printer, the PdfDocumentProcessor.PrintPage event is raised.
To draw an additional image on a printed page, the Graphics property of the PdfPrintPageEventArgs is used when the PdfDocumentProcessor.PrintPage event is handled. This image is drawn on each page by calling the Graphics.DrawImage method.
using DevExpress.Pdf;
using System.Drawing;
namespace CustomizePrintSettings {
class Program {
static void Main(string[] args) {
// Create a PDF Document Processor instance and load a PDF into it.
using (PdfDocumentProcessor documentProcessor = new PdfDocumentProcessor()) {
documentProcessor.LoadDocument(@"..\..\Demo.pdf");
// Declare the PDF printer settings.
PdfPrinterSettings settings = new PdfPrinterSettings();
// Specify the page numbers to be printed.
settings.PageNumbers = new int[] { 1, 2, 3, 4, 5, 6 };
// Handle the PrintPage event to specify print output.
documentProcessor.PrintPage += OnPrintPage;
// Handle the QueryPageSettings event to customize settings for a page to be printed.
documentProcessor.QueryPageSettings += OnQueryPageSettings;
// Print the document using the specified printer settings.
documentProcessor.Print(settings);
// Unsubscribe from PrintPage and QueryPageSettings events.
documentProcessor.PrintPage -= OnPrintPage;
documentProcessor.QueryPageSettings -= OnQueryPageSettings;
}
}
private static void OnQueryPageSettings(object sender, PdfQueryPageSettingsEventArgs e) {
// Print the second page in landscape size.
if (e.PageNumber == 2) {
e.PageSettings.Landscape = true;
}
else e.PageSettings.Landscape = false;
}
// Specify what happens when the PrintPage event is raised.
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));
}
}
}