Auf Englisch lesen

Teilen über


PrintTicket.PageMediaSize Eigenschaft

Definition

Ruft die Seitengröße ab, die ein Drucker bei einem Druckauftrag für das ausgewählte Papier (oder ein anderes Druckmedium) verwendet, oder legt diesen fest.

public System.Printing.PageMediaSize PageMediaSize { get; set; }

Eigenschaftswert

Ein PageMediaSize-Objekt, das die Seitengröße durch Angabe einer Bezeichnung, der Abmessungen oder durch Angabe beider Werte beschreibt.

Ausnahmen

In einem aufrufenden Code wurde versucht, die Eigenschaft auf ein PageMediaSize-Objekt festzulegen, das mindestens eine null-Eigenschaft enthält.

- oder -

In einem aufrufenden Code wurde versucht, die Eigenschaft auf ein PageMediaSize-Objekt festzulegen, dessen PageMediaSizeName-Eigenschaft einen Wert enthält, der nicht in der PageMediaSizeName-Enumeration definiert ist.

- oder -

In einem aufrufenden Code wurde versucht, die Eigenschaft auf ein PageMediaSize-Objekt festzulegen, bei dem die Eigenschaft Width oder Height einen Wert kleiner als 1 enthält.

Beispiele

Im folgenden Beispiel wird gezeigt, wie Sie diese Eigenschaft verwenden, um ein visuelles Element so zu skalieren, dass es an die Seitenränder des Papiers passt, auf dem es gedruckt werden soll.

/// <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()

Hinweise

Diese Eigenschaft entspricht dem Schlüsselwort (keyword) des DruckschemasPageMediaSize.

Sie können die Vom Drucker unterstützten Optionen mithilfe der PageMediaSizeCapability -Eigenschaft testen.

Gilt für:

Produkt Versionen
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9