public abstract class PrinterJob extends Object
PrinterJob
类是控制打印的主要类。
应用程序调用此类中的方法来设置作业,可选地与用户调用打印对话框,然后打印作业的页面。
Constructor and Description |
---|
PrinterJob()
应使用静态
getPrinterJob 方法创建一个
PrinterJob 对象。
|
Modifier and Type | Method and Description |
---|---|
abstract void |
cancel()
取消正在进行的打印作业。
|
PageFormat |
defaultPage()
创建一个新的
PageFormat 实例,并将其设置为默认的大小和方向。
|
abstract PageFormat |
defaultPage(PageFormat page)
克隆
PageFormat 参数,并更改克隆以描述默认页面大小和方向。
|
abstract int |
getCopies()
获取要打印的份数。
|
abstract String |
getJobName()
获取要打印的文档的名称。
|
PageFormat |
getPageFormat(PrintRequestAttributeSet attributes)
计算
PageFormat ,其值与本作业当前的
PrintService 支持的值(即
getPrintService() 返回的值)和attributes中
attributes 介质,可打印区域和方向的值
attributes 。
|
static PrinterJob |
getPrinterJob()
创建并返回一个
PrinterJob 这是最初与默认打印机关联。
|
PrintService |
getPrintService()
返回此打印机作业的服务(打印机)。
|
abstract String |
getUserName()
获取打印用户的名称。
|
abstract boolean |
isCancelled()
如果打印作业正在进行中,则返回 true ,但在下一次机会时将被取消;
否则返回false 。
|
static PrintService[] |
lookupPrintServices()
查找2D打印服务的便捷方法。
|
static StreamPrintServiceFactory[] |
lookupStreamPrintServices(String mimeType)
一种方便的方法,可以定位可以对2D图形进行图像处理的流打印服务的工厂。
|
abstract PageFormat |
pageDialog(PageFormat page)
显示允许修改
PageFormat 实例的对话框。
|
PageFormat |
pageDialog(PrintRequestAttributeSet attributes)
显示跨平台页面设置对话框的便捷方法。
|
abstract void |
print()
打印一组页面。
|
void |
print(PrintRequestAttributeSet attributes)
使用属性集中的设置打印一组页面。
|
abstract boolean |
printDialog()
向用户呈现一个对话框,用于更改打印作业的属性。
|
boolean |
printDialog(PrintRequestAttributeSet attributes)
一种方便的方法,显示可以使用
Pageable 界面打印2D图形的所有服务的跨平台打印对话框。
|
abstract void |
setCopies(int copies)
设置要打印的份数。
|
abstract void |
setJobName(String jobName)
设置要打印的文档的名称。
|
abstract void |
setPageable(Pageable document)
document 的页面数量和
PageFormat 和
Printable 为
Pageable 实例中的每个页面保存,
document 。
|
abstract void |
setPrintable(Printable painter)
致电
painter 以呈现页面。
|
abstract void |
setPrintable(Printable painter, PageFormat format)
电话
painter 呈现在指定的页面
format 。
|
void |
setPrintService(PrintService service)
将此PrinterJob与新的PrintService相关联。
|
abstract PageFormat |
validatePage(PageFormat page)
返回
page 的克隆,其设置被调整为与此
PrinterJob 的当前打印机
PrinterJob 。
|
public PrinterJob()
getPrinterJob
方法创建一个
PrinterJob
对象。
public static PrinterJob getPrinterJob()
PrinterJob
这是最初与默认打印机关联。
如果没有可用的打印机在系统上,一个的PrinterJob仍然会从此方法返回,但getPrintService()
将返回null
,并呼吁print
这个PrinterJob
可能产生异常。
在创建PrinterJob
之前需要确定是否有合适的打印机的应用PrinterJob
应确保从lookupPrintServices
返回的数组不为空。
PrinterJob
。
SecurityException
- 如果安全管理器存在,并且其
SecurityManager.checkPrintJobAccess()
方法不允许此线程创建打印作业请求
public static PrintService[] lookupPrintServices()
PrinterJob
S的支持打印服务。
调用此方法相当于调用PrintServiceLookup.lookupPrintServices()
并指定了Pageable DocFlavor。
public static StreamPrintServiceFactory[] lookupStreamPrintServices(String mimeType)
FileOutputStream outstream; StreamPrintService psPrinter; String psMimeType = "application/postscript"; PrinterJob pj = PrinterJob.getPrinterJob(); StreamPrintServiceFactory[] factories = PrinterJob.lookupStreamPrintServices(psMimeType); if (factories.length > 0) { try { outstream = new File("out.ps"); psPrinter = factories[0].getPrintService(outstream); // psPrinter can now be set as the service on a PrinterJob pj.setPrintService(psPrinter) } catch (Exception e) { e.printStackTrace(); } }
此方法返回服务可以安装在PrinterJob
支持打印服务的实例。
调用此方法相当于调用StreamPrintServiceFactory.lookupStreamPrintServiceFactories()
并指定了Pageable DocFlavor。
mimeType
- 所需的输出格式,或null表示任何格式。
public PrintService getPrintService()
setPrintService(PrintService)
,
getPrinterJob()
public void setPrintService(PrintService service) throws PrinterException
Pageable
和Printable
接口,则抛出PrinterException
。
service
- 支持2D打印的打印服务
PrinterException
- 如果指定的服务不支持2D打印,或该PrinterJob类不支持设置2D打印服务,否则指定的服务不是有效的打印服务。
getPrintService()
public abstract void setPrintable(Printable painter)
painter
- 呈现文档的每一页的
Printable
。
public abstract void setPrintable(Printable painter, PageFormat format)
painter
呈现在指定的页面format
。
PrinterJob
要打印的文档中的页面由Printable
对象painter
。
PageFormat
是format
。
painter
-
Printable
被要求呈现文档的每一页
format
- 要打印的每个页面的大小和方向
public abstract void setPageable(Pageable document) throws NullPointerException
document
的页数和
PageFormat
和
Printable
在保存的每个页面
Pageable
例如,
document
。
document
- 要打印的页面。
它不能是null
。
NullPointerException
- 传递的
Pageable
是
null
。
PageFormat
, Printable
public abstract boolean printDialog() throws HeadlessException
printDialog(PrintRequestAttributeSet)
。
可以使用PrintService的PrinterJob实现将更新此PrinterJob的PrintService以反映用户选择的新服务。
true
如果用户不取消对话框;
false
否则。
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true。
GraphicsEnvironment.isHeadless()
public boolean printDialog(PrintRequestAttributeSet attributes) throws HeadlessException
Pageable
界面打印2D图形的所有服务的跨平台打印对话框。
最初显示对话框时所选的打印机将反映当前附加到此打印作业的打印服务。
如果用户更改打印服务,PrinterJob将被更新以反映这一点,除非用户取消对话框。
除了允许用户选择目的地打印机之外,用户还可以选择各种打印请求属性的值。
输入上的attributes参数将反映在用户对话框中需要的初始选择应用程序。 未指定的属性使用服务的默认值显示。 返回时将反映用户的选择。 可以通过实施来更新选择以与当前选择的打印服务的支持值一致。
当用户滚动到新的打印服务选择时,复制的值将基于上一个服务的设置以及任何用户更改。 这些值不是基于客户端提供的原始设置。
除选定的打印机外,PrinterJob状态不会更新以反映用户的更改。 对于影响打印机作业的选择,必须在调用print(PrintRequestAttributeSet)
方法时print(PrintRequestAttributeSet)
属性。 如果使用Pageable界面,则要使用用户选择的媒体的客户端必须创建一个从用户选择中派生的PageFormat。 如果用户取消对话框,属性将不会反映用户所做的任何更改。
attributes
- 输入是应用程序提供的属性,输出内容被更新以反映用户选择。
此参数可能不为空。
true
如果用户不取消对话框;
false
否则。
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true。
NullPointerException
- 如果
attributes
参数为空。
GraphicsEnvironment.isHeadless()
public abstract PageFormat pageDialog(PageFormat page) throws HeadlessException
PageFormat
实例的对话框。
page
参数用于初始化页面设置对话框中的控件。
如果用户取消对话框,则此方法将返回page
的原始对象page对象。
如果用户保持对话框,则该方法将返回一个新的PageFormat
对象,并显示指定的更改。
在任一种情况下,原始page
对象都不会被修改。
page
- 默认
PageFormat
呈现给用户进行修改
page
对象如果对话框被取消;
一个新的PageFormat
对象,如果对话框被确认,则包含用户指示的格式。
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true。
GraphicsEnvironment.isHeadless()
public PageFormat pageDialog(PrintRequestAttributeSet attributes) throws HeadlessException
输入上的attributes参数将反映用户对话框中客户端所需的初始选择。 未指定的属性使用服务的默认值显示。 返回时将反映用户的选择。 可以通过实施来更新选择以与当前选择的打印服务的支持值一致。
返回值将是与PrintRequestAttributeSet中的选择等效的PageFormat。 如果用户取消对话框,属性将不会反映用户所做的任何更改,返回值将为空。
attributes
- 输入是应用程序提供的属性,输出内容将更新以反映用户选择。
此参数可能不为空。
null
否则。
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true。
NullPointerException
- 如果
attributes
参数为空。
GraphicsEnvironment.isHeadless()
public abstract PageFormat defaultPage(PageFormat page)
PageFormat
参数,并更改克隆以描述默认页面大小和方向。
page
- 要被克隆和修改的
PageFormat
page
克隆,
page
描述一个默认的
PageFormat
。
public PageFormat defaultPage()
PageFormat
实例,并将其设置为默认的大小和方向。
PageFormat
设置为默认的大小和方向。
public PageFormat getPageFormat(PrintRequestAttributeSet attributes)
PageFormat
,其值与本作业当前的PrintService
支持的值(即getPrintService()
返回的值)和attributes中attributes
介质,可打印区域和方向的值attributes
。
调用此方法不会更新作业。 对于具有从printDialog(PrintRequestAttributeSet attributes)
获取的一组printDialog(PrintRequestAttributeSet attributes)
并且需要PageFormat来打印Pageable对象的客户端是有用的。
attributes
- 一组打印属性,例如从调用printDialog获取的。
如果attributes
为空,则返回默认的PageFormat。
PageFormat
的设置符合当前服务和指定属性的设置。
public abstract PageFormat validatePage(PageFormat page)
page
的克隆,其设置被调整为与此PrinterJob
的当前打印机PrinterJob
。
例如,返回的PageFormat
可以将其可成像区域调整为适合当前打印机使用的纸张的物理区域。
page
- 克隆的
PageFormat
及其设置被更改为与当前打印机兼容
PageFormat
从
page
克隆,其设置更改为符合此
PrinterJob
。
public abstract void print() throws PrinterException
PrinterException
- 打印系统中的错误导致作业中止。
Book
, Pageable
, Printable
public void print(PrintRequestAttributeSet attributes) throws PrinterException
请注意,可以通过等效的方法调用(例如),副本: setcopies(int)
,作业名称: setJobName(String)
在PrinterJob上直接设置某些属性,并通过PageFormat
对象指定介质尺寸和方向。
如果在此属性集中指定了支持的属性值,则它将优先于此print()操作的API设置。 为的PageFormat指定以下行为:如果客户端使用的可打印的接口,则attributes
参数到该方法检查该指定媒体(按大小),方向和可成像区域的属性,以及那些被用于构建一个新的PageFormat它被传递给Printable对象的print()方法。 有关Printable以确保通过PrinterJob进行最佳打印的所需行为的说明,请参阅Printable
。 对于Pageable接口的客户端,PageFormat将始终由该接口按照每页提供。
这些行为允许应用程序将从printDialog(PrintRequestAttributeSet attributes
返回的用户设置直接传递到此print()方法。
attributes
- 作业的一组属性
PrinterException
- 打印系统中的错误导致作业中止。
Book
, Pageable
, Printable
public abstract void setCopies(int copies)
copies
- 要打印的份数
getCopies()
public abstract int getCopies()
setCopies(int)
public abstract String getUserName()
public abstract void setJobName(String jobName)
null
。
jobName
- 要打印的文档的名称
getJobName()
public abstract String getJobName()
setJobName(java.lang.String)
public abstract void cancel()
public abstract boolean isCancelled()
true
如果打印作业正在进行,但将在下一次机会被取消;
否则返回false
。
true
如果正在进行的工作将被取消;
false
否则。