- 所有已实现的接口:
-
Serializable
,Attribute
,DocAttribute
,PrintJobAttribute
,PrintRequestAttribute
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
-
Constructor Summary
ConstructorDescriptionMediaPrintableArea
(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 TypeMethodDescriptionboolean
返回此介质边距属性是否等同于传入的对象。获取用作此打印属性值的“类别”的打印属性类。float
getHeight
(int units) 获取指定单位中可打印区域的高度
。final String
getName()
获取此属性值是其实例的类别的名称。float[]
getPrintableArea
(int units) 获取可打印区域作为x, y, w, h
顺序的4个值的数组。float
getWidth
(int units) 获取指定单位中可打印区域的宽度
。float
getX
(int units) 获取指定单位中可打印区域的x
原点位置。float
getY
(int units) 获取指定单位中可打印区域的y
原点位置。int
hashCode()
返回此属性的哈希码值。toString()
返回以毫米为单位的此矩形尺寸属性的字符串版本。返回以给定单位为单位的此矩形尺寸属性的字符串版本。
-
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 < 0
或y < 0
或w <= 0
或h <= 0
或units < 1
-
MediaPrintableArea
public MediaPrintableArea(int x, int y, int w, int h, int units) 从整数值构造一个MediaPrintableArea
对象。- 参数:
-
x
- 可打印x -
y
- 可打印y -
w
- 可打印宽度 -
h
- 可打印高度 -
units
- 表达值的单位 - 抛出:
-
IllegalArgumentException
- 如果x < 0
或y < 0
或w <= 0
或h <= 0
或units < 1
-
-
Method Details
-
getPrintableArea
public float[] getPrintableArea(int units) 获取可打印区域作为x, y, w, h
顺序的4个值的数组。返回的值以给定单位为单位。- 参数:
-
units
- 单位转换因子,例如INCH
或MM
- 返回:
-
以指定单位为单位的
x, y, w, h
数组的可打印区域 - 抛出:
-
IllegalArgumentException
- 如果units < 1
-
getX
public float getX(int units) 获取指定单位中可打印区域的x
原点位置。- 参数:
-
units
- 单位转换因子,例如INCH
或MM
- 返回:
-
以指定单位为单位的可打印区域的
x
原点位置 - 抛出:
-
IllegalArgumentException
- 如果units < 1
-
getY
public float getY(int units) 获取指定单位中可打印区域的y
原点位置。- 参数:
-
units
- 单位转换因子,例如INCH
或MM
- 返回:
-
以指定单位为单位的可打印区域的
y
原点位置 - 抛出:
-
IllegalArgumentException
- 如果units < 1
-
getWidth
public float getWidth(int units) 获取指定单位中可打印区域的宽度
。- 参数:
-
units
- 单位转换因子,例如INCH
或MM
- 返回:
-
以指定单位为单位的可打印区域的
宽度
- 抛出:
-
IllegalArgumentException
- 如果units < 1
-
getHeight
public float getHeight(int units) 获取指定单位中可打印区域的高度
。- 参数:
-
units
- 单位转换因子,例如INCH
或MM
- 返回:
-
以指定单位为单位的可打印区域的
高度
- 抛出:
-
IllegalArgumentException
- 如果units < 1
-
equals
返回此介质边距属性是否等同于传入的对象。要等同,必须满足以下所有条件:object
不为null
。object
是MediaPrintableArea
类的实例。- 原点和尺寸相同。
-
getCategory
获取用作此打印属性值的“类别”的打印属性类。对于类
MediaPrintableArea
,类别是MediaPrintableArea
类本身。- 指定者:
-
getCategory
在接口Attribute
中 - 返回值:
-
打印属性类别(category),是
java.lang.Class
类的实例
-
getName
获取此属性值所属类别的名称。对于类
MediaPrintableArea
,类别名称为"media-printable-area"
。这不是 IPP V1.1 属性。
-
toString
返回给定单位下此矩形尺寸属性的字符串版本。- 参数:
-
units
- 单位转换因子,例如INCH
或MM
-
unitsName
- 单位名称字符串,例如"in"
或"mm"
。如果为null
,则结果中不附加单位名称 - 返回值:
- 此二维尺寸属性的字符串版本
- 抛出:
-
IllegalArgumentException
- 如果units < 1
-
toString
返回以毫米为单位的此矩形尺寸属性的字符串版本。 -
hashCode
public int hashCode()返回此属性的哈希码值。
-