PrintTicket.PageMediaSize Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Yazıcının yazdırma işi için kullandığı kağıdın (veya başka bir medyanın) sayfa boyutunu alır veya ayarlar.
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
Özellik Değeri
Ad PageMediaSize , boyut veya her ikisini birden kullanarak sayfa boyutunu temsil eden nesne.
Özel durumlar
Kod çağırma özelliği en az null
bir özelliği olan bir PageMediaSize nesneyle ayarlamaya çalıştı.
-veya-
Çağırma kodu, özelliği numaralandırmada olmayan bir değere ayarlanmış bir PageMediaSize nesneyle PageMediaSizeName özelliğini ayarlamaya PageMediaSizeName çalıştı.
-veya-
Çağırma kodu, veya Height özelliği 1'den küçük bir değere ayarlanmış bir PageMediaSize nesneyle Width özelliğini ayarlamaya çalıştı.
Örnekler
Aşağıdaki örnekte, bir görsel öğenin yazdırıldığı kağıdın kenar boşluklarına sığacak şekilde ölçeklendirilmesi için bu özelliğin nasıl kullanılacağı gösterilmektedir.
/// <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()
Açıklamalar
Bu özellik, Yazdırma ŞemasınınPageMediaSize
anahtar sözcüğüne karşılık gelir.
özelliğini kullanarak PageMediaSizeCapability yazıcının desteklediği seçenekleri test edebilirsiniz.