# 印花

> 原文： [https://docs.oracle.com/javase/tutorial/2d/overview/printing.html](https://docs.oracle.com/javase/tutorial/2d/overview/printing.html)

可以使用 Java 2D Printing API 将所有 Swing 和 Java 2D 图形（包括合成图形和图像）渲染到打印机。此 API 还提供文档组合功能，使您可以执行更改页面打印顺序等操作。

渲染到打印机就像渲染到屏幕一样。打印系统控制何时呈现页面，就像绘图系统控制何时在屏幕上绘制组件一样。

Java 2D Printing API 基于 _ 回调 _ 模型，其中打印系统而非应用程序控制何时打印页面。应用程序向打印系统提供关于要打印的文档的信息，并且打印系统确定何时需要对每个页面进行成像。

以下两个功能对于支持打印非常重要：

*   **作业控制** - 启动和管理打印作业，包括显示标准打印和设置对话框
*   **分页** - 在打印系统请求时呈现每个页面

当需要对页面进行成像时，打印系统会使用适当的`Graphics`上下文调用应用程序的`print`方法。要在打印时使用 Java 2D API 功能，可以将`Graphics`对象转换为`Graphics2D`类，就像渲染到屏幕时一样。