Module java.desktop

Class MediaPrintableArea

java.lang.Object
javax.print.attribute.standard.MediaPrintableArea
所有已实现的接口:
Serializable, Attribute, DocAttribute, PrintJobAttribute, PrintRequestAttribute

public final class MediaPrintableArea extends Object implements DocAttribute, PrintRequestAttribute, PrintJobAttribute
MediaPrintableArea是用于区分介质的可打印区域和不可打印区域的打印属性。

可打印区域被指定为一个矩形,在介质的整体尺寸内。

大多数打印机由于打印机硬件限制无法打印整个介质表面。此类可用于查询假定打印作业的可接受值,并请求在可打印区域的约束内使用打印作业中的区域。

要查询可打印区域,客户端必须提供合适的上下文。如果至少未指定正在使用的介质尺寸,则无法获得可打印区域的有意义值。

该属性不是根据纸张边缘的距离来描述的,部分是为了强调此属性不是独立于特定介质的,而必须在其他属性选择的上下文中描述。此外,对于客户端来说,使用可打印区域通常更方便。

硬件的最小边距不仅仅是打印机的属性,还可能是介质尺寸、方向、介质类型和任何指定的装订方式的函数。PrintService提供了在适当上下文中查询属性支持值的方法:参见PrintService.getSupportedAttributeValues()

矩形可打印区域定义如下:在纵向模式下,(x,y)原点位于纸张的左上角,而不管请求上下文中指定的方向如何。例如,A4纸的可打印区域无论是纵向还是横向方向,高度都大于宽度。

可打印区域属性的值以微米(µm)为单位的整数形式存储在内部,其中1微米= 10-6米= 1/1000毫米= 1/25400英寸。这允许尺寸精确表示为1/1000毫米(= 1 µm)或1/100英寸(= 254 µm)。如果以负二次幂表示分数英寸,这允许尺寸精确表示为1/8英寸(= 3175 µm),但不是1/16英寸(因为1/16英寸不等于整数微米)。

IPP兼容性: MediaPrintableArea不是IPP属性。

参见:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    表示单位为英寸(in)的值。
    static final int
    MM
    表示单位为毫米(mm)的值。
  • Constructor Summary

    Constructors
    Constructor
    Description
    MediaPrintableArea(float x, float y, float w, float h, int units)
    从浮点值构造一个MediaPrintableArea对象。
    MediaPrintableArea(int x, int y, int w, int h, int units)
    从整数值构造一个MediaPrintableArea对象。
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    equals(Object object)
    返回此介质边距属性是否等同于传入的对象。
    final Class<? extends Attribute>
    获取用作此打印属性值的“类别”的打印属性类。
    float
    getHeight(int units)
    获取指定单位中可打印区域的高度
    final String
    获取此属性值是其实例的类别的名称。
    float[]
    getPrintableArea(int units)
    获取可打印区域作为x, y, w, h顺序的4个值的数组。
    float
    getWidth(int units)
    获取指定单位中可打印区域的宽度
    float
    getX(int units)
    获取指定单位中可打印区域的x原点位置。
    float
    getY(int units)
    获取指定单位中可打印区域的y原点位置。
    int
    返回此属性的哈希码值。
    返回以毫米为单位的此矩形尺寸属性的字符串版本。
    toString(int units, String unitsName)
    返回以给定单位为单位的此矩形尺寸属性的字符串版本。

    Methods declared in class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • INCH

      public static final int INCH
      表示单位为英寸(in)的值。实际上是将英寸乘以此值以得到µm(25400)的转换因子。
      参见:
    • MM

      public static final int MM
      表示单位为毫米(mm)的值。实际上是将毫米乘以此值以得到µm(1000)的转换因子。
      参见:
  • Constructor Details

    • MediaPrintableArea

      public MediaPrintableArea(float x, float y, float w, float h, int units)
      从浮点值构造一个MediaPrintableArea对象。
      参数:
      x - 可打印x
      y - 可打印y
      w - 可打印宽度
      h - 可打印高度
      units - 表达值的单位
      抛出:
      IllegalArgumentException - 如果x < 0y < 0w <= 0h <= 0units < 1
    • MediaPrintableArea

      public MediaPrintableArea(int x, int y, int w, int h, int units)
      从整数值构造一个MediaPrintableArea对象。
      参数:
      x - 可打印x
      y - 可打印y
      w - 可打印宽度
      h - 可打印高度
      units - 表达值的单位
      抛出:
      IllegalArgumentException - 如果x < 0y < 0w <= 0h <= 0units < 1
  • Method Details

    • getPrintableArea

      public float[] getPrintableArea(int units)
      获取可打印区域作为x, y, w, h顺序的4个值的数组。返回的值以给定单位为单位。
      参数:
      units - 单位转换因子,例如INCHMM
      返回:
      以指定单位为单位的x, y, w, h数组的可打印区域
      抛出:
      IllegalArgumentException - 如果units < 1
    • getX

      public float getX(int units)
      获取指定单位中可打印区域的x原点位置。
      参数:
      units - 单位转换因子,例如INCHMM
      返回:
      以指定单位为单位的可打印区域的x原点位置
      抛出:
      IllegalArgumentException - 如果units < 1
    • getY

      public float getY(int units)
      获取指定单位中可打印区域的y原点位置。
      参数:
      units - 单位转换因子,例如INCHMM
      返回:
      以指定单位为单位的可打印区域的y原点位置
      抛出:
      IllegalArgumentException - 如果units < 1
    • getWidth

      public float getWidth(int units)
      获取指定单位中可打印区域的宽度
      参数:
      units - 单位转换因子,例如INCHMM
      返回:
      以指定单位为单位的可打印区域的宽度
      抛出:
      IllegalArgumentException - 如果units < 1
    • getHeight

      public float getHeight(int units)
      获取指定单位中可打印区域的高度
      参数:
      units - 单位转换因子,例如INCHMM
      返回:
      以指定单位为单位的可打印区域的高度
      抛出:
      IllegalArgumentException - 如果units < 1
    • equals

      public boolean equals(Object object)
      返回此介质边距属性是否等同于传入的对象。要等同,必须满足以下所有条件:
      1. object不为null
      2. objectMediaPrintableArea类的实例。
      3. 原点和尺寸相同。
      覆盖:
      equals 在类 Object
      参数:
      object - 要比较的Object
      返回:
      如果object等同于此介质边距属性,则返回true,否则返回false
      参见:
    • getCategory

      public final Class<? extends Attribute> getCategory()
      获取用作此打印属性值的“类别”的打印属性类。

      对于类MediaPrintableArea,类别是MediaPrintableArea类本身。

      指定者:
      getCategory 在接口 Attribute
      返回值:
      打印属性类别(category),是 java.lang.Class 类的实例
    • getName

      public final String getName()
      获取此属性值所属类别的名称。

      对于类 MediaPrintableArea,类别名称为 "media-printable-area"

      这不是 IPP V1.1 属性。

      指定者:
      getName 在接口 Attribute
      返回值:
      属性类别名称
    • toString

      public String toString(int units, String unitsName)
      返回给定单位下此矩形尺寸属性的字符串版本。
      参数:
      units - 单位转换因子,例如 INCHMM
      unitsName - 单位名称字符串,例如 "in""mm"。如果为 null,则结果中不附加单位名称
      返回值:
      此二维尺寸属性的字符串版本
      抛出:
      IllegalArgumentException - 如果 units < 1
    • toString

      public String toString()
      返回以毫米为单位的此矩形尺寸属性的字符串版本。
      覆盖:
      toString 在类 Object
      返回值:
      对象的字符串表示形式。
    • hashCode

      public int hashCode()
      返回此属性的哈希码值。
      覆盖:
      hashCode 在类 Object
      返回值:
      此对象的哈希码值。
      参见: