officefileapi-devexpress-dot-pdf-dot-pdfprintpageeventargs.md
Returns the total number of pages which were sent to the printer.
Namespace : DevExpress.Pdf
Assembly : DevExpress.Pdf.v25.2.Drawing.dll
NuGet Package : DevExpress.Pdf.Drawing
public int PageCount { get; }
Public ReadOnly Property PageCount As Integer
| Type | Description |
|---|---|
| Int32 |
An integer value which represents the total number of pages which were sent to the printer.
|
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.
View Example: PDF Document API - Customize PDF Print Output
using DevExpress.Pdf;
using System.Drawing;
// Create a PDF Document Processor instance and load a PDF file
using (PdfDocumentProcessor documentProcessor = new PdfDocumentProcessor()) {
documentProcessor.LoadDocument(@"..\..\Demo.pdf");
// Declare 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));
}
Imports DevExpress.Pdf
Imports System.Drawing
' Create a PDF Document Processor instance and load a PDF file
Using documentProcessor As New PdfDocumentProcessor()
documentProcessor.LoadDocument("..\..\Demo.pdf")
' Declare the PDF printer settings
Dim settings As New PdfPrinterSettings()
' Specify the page numbers to be printed
settings.PageNumbers = New Integer() { 1, 2, 3, 4, 5, 6 }
' Handle the PrintPage event to specify print output
AddHandler documentProcessor.PrintPage, AddressOf OnPrintPage
' Handle the QueryPageSettings event to customize settings for a page to be printed
AddHandler documentProcessor.QueryPageSettings, AddressOf OnQueryPageSettings
' Print the document using the specified printer settings.
documentProcessor.Print(settings)
' Unsubscribe from PrintPage and QueryPageSettings events.
RemoveHandler documentProcessor.PrintPage, AddressOf OnPrintPage
RemoveHandler documentProcessor.QueryPageSettings, AddressOf OnQueryPageSettings
End Using
End Sub
Private Shared Sub OnQueryPageSettings(ByVal sender As Object, 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
' Specify what happens when the PrintPage event is raised.
Private Shared Sub OnPrintPage(ByVal sender As Object, 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