-
public interface Printable
Printable
接口由当前页面画家的print
方法实现,由打印系统调用以呈现页面。 当构建一个Pageable
时 ,实现这个接口的PageFormat
实例和实例被用来描述每个页面。 调用实现Printable
的实例来打印页面的图形。A
Printable(..)
可以设置在PrinterJob
。 当客户端随后通过调用PrinterJob.print(..)
控制启动打印被传送到打印系统,直到所有页面都被打印出来。 它可以通过调用
Printable.print(..)
直到打印出文档中的所有页面。 在使用Printable
界面时,只要打印系统要求,打印就会对页面的内容进行成像。对于
Printable.print(..)
的参数包括PageFormat
,其描述了用于计算适合该页面的内容所需的页面的可打印区域以及指定所请求页面的基于零的打印流索引的页面索引。要正确打印行为,应遵守以下几点:
- 打印系统可以多次请求页面索引。 每次都会提供相同的PageFormat参数。
- 打印系统将调用
Printable.print(..)
,页面索引单调增加,尽管如上所述,Printable
应该期望多次调用页面索引,并且页面索引可能会被跳过,当页面范围由客户端指定时,或者由用户通过打印对话框。 - 如果请求了文档的多个整理副本,并且打印机本来不能支持这一点,则文档可以被多次成像。 打印将从最低的打印流页面索引页面开始每个副本。
- 除了对整个文档进行多次整理副本重新成像之外,增加的页面索引顺序意味着当客户端需要计算分页位置时请求页面N时,可以安全地丢弃与页面N相关的任何状态,以及对于第N页进行当前流程。“状态”通常只是文档中与页面开头对应的计算位置。
- 当打印系统调用时,
Printable
必须检查并兑现提供的PageFormat参数以及页面索引。 要绘制的页面的格式由提供的PageFormat指定。 因此,页面的大小,方向和可成像区域已经确定,渲染必须在该可成像区域内。 这是纠正打印行为的关键,它意味着客户端有责任跟踪指定页面上所属的内容。 - 当
Printable
从客户端提供的Pageable
获得时,客户端可以为每个页面索引提供不同的PageFormats。 分页符的计算必须说明这一点。
- 另请参见:
-
Pageable
,PageFormat
,PrinterJob
-
-
Field Summary
Fields Modifier and Type Field 描述 static int
NO_SUCH_PAGE
从print
返回,表示pageIndex
太大,请求的页面不存在。static int
PAGE_EXISTS
从print(Graphics, PageFormat, int)
返回,表示请求的页面被呈现。
-
-
-
字段详细信息
-
PAGE_EXISTS
static final int PAGE_EXISTS
从print(Graphics, PageFormat, int)
返回,表示请求的页面被呈现。- 另请参见:
- Constant Field Values
-
NO_SUCH_PAGE
static final int NO_SUCH_PAGE
从print
返回,表示pageIndex
太大,请求的页面不存在。- 另请参见:
- Constant Field Values
-
-
方法详细信息
-
print
int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException
以指定的格式将指定索引的页面打印到指定的Graphics
上下文中。 APrinterJob
调用Printable
接口以请求将页面呈现到由graphics
指定的graphics
。 要绘制的页面的格式由pageFormat
指定。 请求页面的零pageIndex
由pageIndex
指定。 如果请求的页面不存在,则此方法返回NO_SUCH_PAGE; 否则返回PAGE_EXISTS。Graphics
类或子类实现PrinterGraphics
接口提供附加信息。 如果Printable
对象中止打印作业,那么它会抛出一个PrinterException
。- 参数
-
graphics
- 绘制页面的上下文 -
pageFormat
- 正在绘制的页面的大小和方向 -
pageIndex
- 要绘制的页面的零pageIndex
引 - 结果
-
如果页面呈现成功,则
pageIndex
或者如果pageIndex
指定不存在的页面,pageIndex
NO_SUCH_PAGE。 - 异常
-
PrinterException
- 打印作业终止时抛出。
-
-