PrintTicket.PageMediaSize Eigenschap

Definitie

Hiermee haalt u het paginaformaat op voor het papier (of andere media) dat een printer gebruikt voor een afdruktaak.

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

Waarde van eigenschap

Een PageMediaSize object dat het paginaformaat vertegenwoordigt met behulp van een naam, dimensies of beide.

Uitzonderingen

Het aanroepen van code heeft geprobeerd de eigenschap in te stellen met een PageMediaSize object met ten minste één null eigenschap.

– of –

Het aanroepen van code heeft geprobeerd de eigenschap in te stellen met een PageMediaSize object waarvan PageMediaSizeName de eigenschap is ingesteld op een waarde die zich niet in de PageMediaSizeName opsomming bevindt.

– of –

Het aanroepen van code heeft geprobeerd de eigenschap in te stellen met een PageMediaSize object waarvan Width of Height de eigenschap is ingesteld op een waarde kleiner dan 1.

Voorbeelden

In het volgende voorbeeld ziet u hoe u deze eigenschap kunt gebruiken om een visueel element zo te schalen dat binnen de marges van het papier past waarop het moet worden afgedrukt.

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

Opmerkingen

Deze eigenschap komt overeen met het trefwoord van het afdrukschemaPageMediaSize.

U kunt testen op de opties die de printer ondersteunt met behulp van de PageMediaSizeCapability eigenschap.

Van toepassing op