public interface PrintService
例:
DocFlavor flavor = DocFlavor.INPUT_STREAM.POSTSCRIPT; PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); aset.add(MediaSizeName.ISO_A4); PrintService[] pservices = PrintServiceLookup.lookupPrintServices(flavor, aset); if (pservices.length > 0) { DocPrintJob pj = pservices[0].createPrintJob(); try { FileInputStream fis = new FileInputStream("test.ps"); Doc doc = new SimpleDoc(fis, flavor, null); pj.print(doc, aset); } catch (FileNotFoundException fe) { } catch (PrintException e) { } }
Modifier and Type | Method and Description |
---|---|
void |
addPrintServiceAttributeListener(PrintServiceAttributeListener listener)
在此PrintService上为事件注册一个侦听器。
|
DocPrintJob |
createPrintJob()
创建并返回一个能够处理任何受支持文档风格的数据的PrintJob。
|
boolean |
equals(Object obj)
确定两个服务是否指向相同的底层服务。
|
<T extends PrintServiceAttribute> |
getAttribute(类<T> category)
获取单个指定服务属性的值。
|
PrintServiceAttributeSet |
getAttributes()
获取此打印服务的一组打印机描述属性,以提供此打印服务的状态。
|
Object |
getDefaultAttributeValue(类<? extends Attribute> category)
确定此打印服务在给定类别中的默认打印属性值。
|
String |
getName()
返回此打印服务的字符串名称,可由应用程序用于请求特定打印服务。
|
ServiceUIFactory |
getServiceUIFactory()
返回用于UI组件的工厂,允许用户以各种角色与服务进行交互。
|
类<?>[] |
getSupportedAttributeCategories()
确定在为此打印服务设置作业时客户端可以指定的打印属性类别。
|
Object |
getSupportedAttributeValues(类<? extends Attribute> category, DocFlavor flavor, AttributeSet attributes)
确定为此打印服务设置作业时客户端可以在给定类别中指定的打印属性值。
|
DocFlavor[] |
getSupportedDocFlavors()
确定在为此
PrintService 设置作业时,客户端可以指定的打印数据格式。
|
AttributeSet |
getUnsupportedAttributes(DocFlavor flavor, AttributeSet attributes)
在特定DocFlavor的上下文中标识不支持打印请求的属性。
|
int |
hashCode()
该方法应与
equals(Object) 。
|
boolean |
isAttributeCategorySupported(类<? extends Attribute> category)
确定在为此打印服务设置作业时,客户端是否可以指定给定的打印属性类别。
|
boolean |
isAttributeValueSupported(Attribute attrval, DocFlavor flavor, AttributeSet attributes)
确定在为此打印服务设置作业时,客户端是否可以指定给定的打印属性值。
|
boolean |
isDocFlavorSupported(DocFlavor flavor)
确定此打印服务是否支持特定的
DocFlavor 。
|
void |
removePrintServiceAttributeListener(PrintServiceAttributeListener listener)
从此打印服务中删除打印服务侦听器。
|
String getName()
PrinterName
属性的用户友好的打印机名称相同。
DocPrintJob createPrintJob()
void addPrintServiceAttributeListener(PrintServiceAttributeListener listener)
listener
- 一个PrintServiceAttributeListener,它监视打印服务的状态
removePrintServiceAttributeListener(javax.print.event.PrintServiceAttributeListener)
void removePrintServiceAttributeListener(PrintServiceAttributeListener listener)
PrintService
。
listener
- 一个PrintServiceAttributeListener对象
addPrintServiceAttributeListener(javax.print.event.PrintServiceAttributeListener)
PrintServiceAttributeSet getAttributes()
getAttributes()
方法调用时设置的属性的“快照”:即,如果此打印服务的属性集的内容将来会更改,则返回的属性集的内容将不会更新。
要检测属性值的更改,请再次调用getAttributes()
,并将新属性集与先前的属性集进行比较;
或者,为打印服务事件注册一个侦听器。
<T extends PrintServiceAttribute> T getAttribute(类<T> category)
category
- 此服务支持的PrintServiceAttribute的类别可能不为null。
NullPointerException
- 如果类别为空。
IllegalArgumentException
- (未经检查的异常)如果category
不是类
实现了接口PrintServiceAttribute
。
DocFlavor[] getSupportedDocFlavors()
PrintService
设置作业时可以指定的打印数据格式。
打印数据格式由MIME类型和打印数据表示类组成的“doc flavor”(类别DocFlavor
)指定。
请注意,与所有属性相结合可能不支持某些doc风格。 使用getUnsupportedAttributes(..)
验证特定组合。
boolean isDocFlavorSupported(DocFlavor flavor)
DocFlavor
。
这是一个方便的方法,以确定DocFlavor是否是DocFlavor
的结果的getSupportedDocFlavors()
。
请注意,与所有属性相结合可能不支持某些doc风格。 使用getUnsupportedAttributes(..)
验证特定组合。
flavor
-
DocFlavor
查询支持。
true
如果此打印服务支持指定的DocFlavor
;
false
否则。
NullPointerException
- (未选中的异常)如果
flavor
为空,则抛出。
类<?>[] getSupportedAttributeCategories()
类
,实现接口Attribute
。
此方法只返回受支持的属性类别 ;
它不返回支持的特定属性值 。
此方法返回此打印服务支持任何可能作业的所有打印属性类别。 某些类别可能在特定上下文中不被支持(即特定的DocFlavor
)。 使用包含DocFlavor
的方法在提交请求之前验证请求,例如getSupportedAttributeValues(..)
。
boolean isAttributeCategorySupported(类<? extends Attribute> category)
类
Attribute
的Class 指定 。
此方法说明是否支持属性类别 ;
它不知道是否支持特定的属性值 。
特定上下文中可能不支持某些类别(例如特定的DocFlavor
)。 使用其中一种方法,其中包括一个DocFlavor
在提交请求之前验证该请求,例如getSupportedAttributeValues(..)
。
这是确定类别是否为getSupportedAttributeCategories()
结果的成员的getSupportedAttributeCategories()
。
category
- 打印要测试的属性类别。
它必须是类
实现接口Attribute
。
true
如果此打印服务支持在打印请求中category
中的文档级别或作业级别属性;
false
如果没有。
NullPointerException
- (未选中的异常)如果
category
为空,则抛出。
IllegalArgumentException
- (未选中的异常)如果category
不是实现类
,则抛出 。
Object getDefaultAttributeValue(类<? extends Attribute> category)
Attribute
。
如果客户端设置打印作业并且未在给定类别中指定任何属性值,则此打印服务将使用默认属性值。
一些特定的上下文可能不支持某些属性(即特定的DocFlavor
)。 使用包含DocFlavor
的方法之一在提交请求之前验证请求,例如getSupportedAttributeValues(..)
。
并非所有属性都具有默认值。 例如,服务将不会有一个默认值RequestingUser
,即对一个支援的类别返回null意味着没有该类别的服务默认值。 使用isAttributeCategorySupported(Class)
方法来区分这些情况。
category
- 要求其默认属性值的打印属性类别。
它必须是类
实现接口Attribute
。
category
,如果此打印服务不支持指定doc级或作业级属性空
category
在打印请求,或者服务没有此属性的默认值。
NullPointerException
- (未选中的异常)如果
category
为空,则抛出。
IllegalArgumentException
- (未经检查的异常)如果category
不是实现接口Attribute
的类
,则抛出 。
Object getSupportedAttributeValues(类<? extends Attribute> category, DocFlavor flavor, AttributeSet attributes)
Attribute
。
如果flavor
为空,并且attributes
为空或为空集,则此方法将返回此Print Service支持任何可能作业的所有打印属性值。 如果flavor
不为空或attributes
不是空集,则此方法仅返回与给定doc风格和/或属性集合兼容的打印属性值。 也就是说,null返回值可能表示指定此属性与指定的DocFlavor不兼容。 另外如果DocFlavor不为空,它必须是此PrintService支持的风格,否则将抛出IllegalArgumentException异常。
如果attributes
参数包含类别与category
参数相同的属性,则服务必须在AttributeSet中忽略此属性。
DocAttribute
将在Doc中Doc
必须包含在此集合中以准确表示上下文。
此方法返回一个对象,因为不同的打印属性类别以不同的方式指示支持的属性值。 包javax.print.attribute.standard
中每个打印属性的文档描述了每个属性如何表示其支持的值。 指示支持的可能方式包括:
getCategory(Class)
返回的指定属性类别类型的getCategory(Class)
。 category
- 打印要测试的属性类别。
它必须是类
实现接口Attribute
。
flavor
- 用于假定作业的文件风味,或为空。
attributes
- 假定作业(作业级属性和文档级别属性)的打印属性集,或空值。
category
,如果此打印服务不支持在打印请求中
category
中的文档级别或作业级属性,
category
。
NullPointerException
- (未选中的异常)如果
category
为空,则抛出。
IllegalArgumentException
- (未经检查的异常)如果摔出category
不是类
实现了接口Attribute
,或DocFlavor
不受此服务的支持。
boolean isAttributeValueSupported(Attribute attrval, DocFlavor flavor, AttributeSet attributes)
Attribute
。
如果flavor
为空,并且attributes
为空或为空集,则此方法将告知此打印服务是否支持给定打印属性值,以获取一些可能的doc风格和一组属性的组合。 如果flavor
不为空或attributes
不是空集,则此方法会告知此打印服务是否支持给定的打印属性值以及给定的doc风格和/或一组属性。
另外如果DocFlavor不为空,它必须是此PrintService支持的风格,否则将抛出IllegalArgumentException异常。
DocAttribute
S的是将要在指定Doc
必须包含在该组以准确地表示上下文。
这是确定该值是否为getSupportedAttributeValues(...)
的结果的成员的getSupportedAttributeValues(...)
。
attrval
- 打印要测试的属性值。
flavor
- 用于假定作业的Doc风味,或为null。
attributes
- 假定作业的打印属性集(作业级别属性和文档级属性),或为空。
attrval
为打印请求中的文档级别或作业级别属性,则为True,否则为false。
NullPointerException
- (未选中的异常),如果
attrval
为空。
IllegalArgumentException
- 如果此PrintService不支持flavor。
AttributeSet getUnsupportedAttributes(DocFlavor flavor, AttributeSet attributes)
DocAttribute
S的是将要在指定Doc
必须包含在该组以准确地表示上下文。
如果返回值不为空,返回的集合中的所有属性将不受此DocFlavor的支持。 返回的集合不区分不受支持的属性值的属性类别。
然后可以通过从原始属性集中删除所有不受支持的属性来创建支持的打印请求,但不支持DocFlavor的情况除外。
如果任何属性不受支持,只因为它们与其他属性冲突,那么服务才可以选择要识别为冲突原因的属性。
在调用此方法之前,请使用isDocFlavorSupported()
验证是否支持DocFlavor。
flavor
- 要测试的Doc flavor,或null
attributes
- 假定作业的打印属性集(作业级别属性和文档级别属性),或为空。
IllegalArgumentException
-如果
flavor
不受此PrintService的支持。
ServiceUIFactory getServiceUIFactory()
ServiceUIFactory
以获取更多信息。
boolean equals(Object obj)
客户应该调用此方法来确定两个服务是否指向相同的底层服务。
服务必须实现此方法,并且只有当被比较的服务对象可以被客户端可互换使用时才返回true。 如果服务可以将相同的对象引用返回给底层服务,但客户端不能依赖于参考的相等性。
equals
在类别
Object
obj
- 与之比较的参考对象。
Object.hashCode()
, HashMap
int hashCode()
equals(Object)
。
hashCode
在类别
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)