Back to Devexpress

PdfPrintPageEventArgs.PageCount Property

officefileapi-devexpress-dot-pdf-dot-pdfprintpageeventargs.md

latest4.8 KB
Original Source

PdfPrintPageEventArgs.PageCount Property

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

Declaration

csharp
public int PageCount { get; }
vb
Public ReadOnly Property PageCount As Integer

Property Value

TypeDescription
Int32

An integer value which represents the total number of pages which were sent to the printer.

|

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.

View Example: PDF Document API - Customize PDF Print Output

csharp
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));
}
vb
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

PdfPrintPageEventArgs Class

PdfPrintPageEventArgs Members

DevExpress.Pdf Namespace