-
public interface Printable
Printable
接口由当前页面print
方法实现,该方法由打印系统调用以呈现页面。 构建Pageable
时 ,将使用成对的PageFormat
实例和实现此接口的实例来描述每个页面。 调用实现Printable
的实例来打印页面的图形。可以在
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
-
-
字段汇总
字段 变量和类型 字段 描述 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)
返回以表示所请求的页面已呈现。- 另请参见:
- 常数字段值
-
NO_SUCH_PAGE
static final int NO_SUCH_PAGE
返回print
表示pageIndex
过大且请求的页面不存在。- 另请参见:
- 常数字段值
-
-
方法详细信息
-
print
int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException
将指定索引处的页面以指定格式打印到指定的Graphics
上下文中。 APrinterJob
调用Printable
接口以请求将页面呈现到由graphics
指定的graphics
。 要绘制的页面格式由pageFormat
指定。 请求页面的从零开始的索引由pageIndex
指定。 如果请求的页面不存在,则此方法返回NO_SUCH_PAGE; 否则返回PAGE_EXISTS。Graphics
类或子类实现PrinterGraphics
接口以提供其他信息。 如果Printable
对象中止打印作业,则它会抛出PrinterException
。- 参数
-
graphics
- 绘制页面的上下文 -
pageFormat
- 正在绘制的页面的大小和方向 -
pageIndex
- 要绘制的页面的从零开始的索引 - 结果
-
如果页面成功呈现,则为
pageIndex
如果pageIndex
指定不存在的页面,pageIndex
NO_SUCH_PAGE。 - 异常
-
PrinterException
- 终止打印作业时抛出。
-
-