PrintTicket.PageMediaSize プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
プリンターが印刷ジョブに使用する用紙 (または他のメディア) のページ サイズを取得または設定します。
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
プロパティ値
名前、寸法、またはその両方を使用してページ サイズを表す PageMediaSize オブジェクト。
例外
呼び出し元のコードが、少なくとも 1 つの null
プロパティを持つ PageMediaSize オブジェクトを使用してプロパティを設定しようとしました。
- または -
呼び出し元のコードは、PageMediaSize プロパティが PageMediaSizeName 列挙体に含まれていない値に設定された PageMediaSizeName オブジェクトを使用してプロパティを設定しようとしました。
- または -
呼び出し元のコードは、PageMediaSize プロパティまたは Width プロパティが 1 未満の値に設定された Height オブジェクトを使用してプロパティを設定しようとしました。
例
次の例は、このプロパティを使用して、印刷する用紙の余白に収まるようにビジュアル要素をスケーリングする方法を示しています。
/// <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()
注釈
このプロパティは、印刷スキーマPageMediaSize
のキーワード (keyword)に対応します。
プロパティを使用して、プリンターがサポートするオプションを PageMediaSizeCapability テストできます。
適用対象
.NET