PageMediaSize 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
描述纸张或其他介质的页大小。
public ref class PageMediaSize sealed
public sealed class PageMediaSize
type PageMediaSize = class
Public NotInheritable Class PageMediaSize
- 继承
-
PageMediaSize
示例
以下示例演示如何使用此类缩放视觉元素,使其适合打印纸张的边距。
/// <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 相同的信息的类,以及有关页面的可图像区域的信息,请参阅 PrintDocumentImageableArea。
注意
命名空间中的 System.Printing 类不支持在 Windows 服务或 ASP.NET 应用程序或服务中使用。 尝试从这些应用程序类型之一使用这些类可能会产生意外问题,例如服务性能降低和运行时异常。
如果要从Windows 窗体应用程序打印,请参阅 System.Drawing.Printing 命名空间。
构造函数
PageMediaSize(Double, Double) |
使用宽度和高度初始化 PageMediaSize 类的一个新实例。 |
PageMediaSize(PageMediaSizeName) |
使用指定的 PageMediaSize 初始化 PageMediaSizeName 类的新实例。 |
PageMediaSize(PageMediaSizeName, Double, Double) |
使用指定的 PageMediaSize 和宽度及高度初始化 PageMediaSizeName 类的一个新实例。 |
属性
Height |
获取页面高度。 |
PageMediaSizeName |
获取纸张或其他介质页大小的名称。 |
Width |
获取页面的宽度。 |
方法
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
ToString() |
显示纸张或其他介质的页大小。 |