所有类


java.awt.print
接口 Printable


public interface Printable

Printable 接口由当前页面 painter 的 print 方法实现,该方法由打印系统调用,以呈现页面。构建 Pageable 时,PageFormat 实例和实现此接口的实例对用于描述每个页面。调用实现 Printable 的实例,以打印页面的图形。

PrinterJob 上可以设置 Printable(..)。当客户端随后通过调用 PrinterJob.print(..) 启动打印时,控制被传送到打印系统,直到所有的页面完成打印。这是通过调用 Printable.print(..) 直到文档中所有页面打印完成来实现的。使用 Printable 接口时,只要打印系统请求,该打印会将页面内容提交给图像。

Printable.print(..) 的参数包括描述该页面可打印区域(计算适合该页面的内容所需要的区域)的 PageFormat和页面索引(它指定请求页面的基于零打印流索引)。

对于正确的进行打印,应注意以下几点:

  • 打印系统可能多次请求页面索引。对于每种情况,都将提供等效的 PageFormat 参数。
  • 打印系统将使用单调递增的页面索引来调用 Printable.print(..),尽管上文已说明,Printable 应期望多次调用页面索引,并期望当客户端或用户通过打印对话指定页面范围时,可以跳过页面索引。
  • 如果请求文档的多次逐份打印,并且打印机本身不支持次行为,那么该文档可能成像多次。打印将从最低打印流页面索引页面启动每个副本。
  • 除了为多次逐份打印重新成像整个文档外,递增的页面索引顺序意味着当请求页面 N 时,如果客户端需要计算页面中断位置,则可以安全地丢弃任何与 < N 的页面相关的状态,并对页面 N 设置当前状态。在与页面起始部分对应的文档中,“状态”通常就是计算的位置。
  • 当被打印系统调用时,Printable 必须检查并遵照提供的 PageFormat 参数以及页面索引。这是正确进行打印的关键,它暗示客户端负责跟踪指定页面上所属的内容。
  • 从客户端提供的 Pageable 获取 Printable 时,该客户端可能为每个页面索引提供不同的 PageFormats。计算页面中断必须考虑到这一点。

另请参见:
Pageable, PageFormat, PrinterJob

字段摘要
static intNO_SUCH_PAGE
          从 print 返回,表示 pageIndex 太大以及请求的页面不存在。
static intPAGE_EXISTS
          从 print(Graphics, PageFormat, int) 返回,表示请求的页面被呈现。
 
方法摘要
 intprint(Graphics graphics, PageFormat pageFormat, int pageIndex)
          将指定索引处的页面用指定格式打印到指定的 Graphics 上下文。
 

字段详细信息

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 上下文。PrinterJob 调用 Printable 接口,以请求将页面呈现到 graphics 指定的上下文。pageFormat 指定要绘制的页面的格式。pageIndex 指定请求页面的基于零的索引。如果请求的页面不存在,那么此方法会返回 NO_SUCH_PAGE;否则返回 PAGE_EXISTS。Graphics 类或子类实现 PrinterGraphics 接口,以提供附加信息。如果 Printable 对象中止该打印作业,那么它会抛出 PrinterException

参数:
graphics - 用来绘制页面的上下文
pageFormat - 正在绘制的页面的大小和方向
pageIndex - 要绘制的页面基于零的索引
返回:
如果成功呈现该页面,则返回 PAGE_EXISTS,如果 pageIndex 指定不存在的页面,则返回 NO_SUCH_PAGE。
抛出:
PrinterException - 打印作业被终止时抛出。

所有类