Partager via


PrintTicket.PageMediaSize Propriété

Définition

Obtient ou définit la taille de la page papier (ou autre média) qu'une imprimante utilise pour un travail d'impression.

public:
 property System::Printing::PageMediaSize ^ PageMediaSize { System::Printing::PageMediaSize ^ get(); void set(System::Printing::PageMediaSize ^ value); };
public System.Printing.PageMediaSize PageMediaSize { get; set; }
member this.PageMediaSize : System.Printing.PageMediaSize with get, set
Public Property PageMediaSize As PageMediaSize

Valeur de propriété

Un objet PageMediaSize qui représente la taille de la page en utilisant un nom, des dimensions, ou les deux.

Exceptions

Le code appelant a essayé de définir la propriété avec un objet PageMediaSize qui a au moins une propriété null.

- ou -

Le code appelant a essayé de définir la propriété avec un objet PageMediaSize dont la propriété PageMediaSizeName a une valeur qui n'est pas dans l'énumération PageMediaSizeName.

- ou -

Le code appelant a essayé de définir la propriété avec un objet PageMediaSize dont la propriété Width ou Height a une valeur inférieure à 1.

Exemples

L’exemple suivant montre comment utiliser cette propriété pour mettre à l’échelle un élément visuel afin qu’il s’adapte aux marges du papier sur lequel il doit être imprimé.

/// <summary>
///   Returns a scaled copy of a given visual transformed to
///   fit for printing to a specified print queue.</summary>
/// <param name="v">
///   The visual to be printed.</param>
/// <param name="pq">
///   The print queue to be output to.</param>
/// <returns>
///   The root element of the transformed visual.</returns>
private Visual PerformTransform(Visual v, PrintQueue pq)
{
    ContainerVisual root = new ContainerVisual();
    const double inch = 96;

    // Set the margins.
    double xMargin = 1.25 * inch;
    double yMargin = 1 * inch;

    PrintTicket pt = pq.UserPrintTicket;
    Double printableWidth = pt.PageMediaSize.Width.Value;
    Double printableHeight = pt.PageMediaSize.Height.Value;

    Double xScale = (printableWidth - xMargin * 2) / printableWidth;
    Double yScale = (printableHeight - yMargin * 2) / printableHeight;

    root.Children.Add(v);
    root.Transform = new MatrixTransform(xScale, 0, 0, yScale, xMargin, yMargin);

    return root;
}// end:PerformTransform()
''' <summary>
'''   Returns a scaled copy of a given visual transformed to
'''   fit for printing to a specified print queue.</summary>
''' <param name="v">
'''   The visual to be printed.</param>
''' <param name="pq">
'''   The print queue to be output to.</param>
''' <returns>
'''   The root element of the transformed visual.</returns>
Private Function PerformTransform(ByVal v As Visual, ByVal pq As PrintQueue) As Visual
    Dim root As New ContainerVisual()
    Const inch As Double = 96

    ' Set the margins.
    Dim xMargin As Double = 1.25 * inch
    Dim yMargin As Double = 1 * inch

    Dim pt As PrintTicket = pq.UserPrintTicket
    Dim printableWidth As Double = pt.PageMediaSize.Width.Value
    Dim printableHeight As Double = pt.PageMediaSize.Height.Value

    Dim xScale As Double = (printableWidth - xMargin * 2) / printableWidth
    Dim yScale As Double = (printableHeight - yMargin * 2) / printableHeight

    root.Children.Add(v)
    root.Transform = New MatrixTransform(xScale, 0, 0, yScale, xMargin, yMargin)

    Return root
End Function ' end:PerformTransform()

Remarques

Cette propriété correspond au mot clé du PageMediaSizeschéma d’impression.

Vous pouvez tester les options que l’imprimante prend en charge à l’aide de la PageMediaSizeCapability propriété .

S’applique à