打印照片

拍摄和分享照片是移动设备最受欢迎的用途之一。如果您的应用 拍摄照片、展示照片或允许用户分享图片,则应考虑启用打印功能 和图片。Android 支持库提供了一个便捷的功能,支持使用 只需编写极少的代码和一组简单的打印版式选项。

本节课介绍如何使用 v4 支持库 PrintHelper 类打印图片。

打印图片

Android 支持库 PrintHelper 类提供 一种简单的图片打印方法。该类有一个布局选项 setScaleMode(), 打印时,您可以选择以下两种方式之一:

  • SCALE_MODE_FIT - 这 选项调整图片大小,以便在网页的可打印区域内显示整张图片。
  • SCALE_MODE_FILL - 这 选项可以缩放图片,使其填充网页的整个可打印区域。选择此项 设置表示图片上下或左右边缘的某些部分 未打印。如果您未设置缩放模式,则此选项为默认值。

setScaleMode() 的这两个缩放选项都能保持图片的现有宽高比不变。以下代码示例 展示了如何创建 PrintHelper 类的实例、设置 缩放选项,然后开始打印过程:

Kotlin

private fun doPhotoPrint() {
    activity?.also { context ->
        PrintHelper(context).apply {
            scaleMode = PrintHelper.SCALE_MODE_FIT
        }.also { printHelper ->
            val bitmap = BitmapFactory.decodeResource(resources, R.drawable.droids)
            printHelper.printBitmap("droids.jpg - test print", bitmap)
        }
    }
}

Java

private void doPhotoPrint() {
    PrintHelper photoPrinter = new PrintHelper(getActivity());
    photoPrinter.setScaleMode(PrintHelper.SCALE_MODE_FIT);
    Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
            R.drawable.droids);
    photoPrinter.printBitmap("droids.jpg - test print", bitmap);
}

此方法可以作为菜单项的操作来调用。请注意,与 并非始终受支持(例如打印)应放置在溢出菜单中。有关 请参阅操作栏设计 指南。

调用 printBitmap() 方法后, 则不需要您的应用执行进一步操作。Android 打印界面 即可允许用户选择打印机和打印选项。然后,用户可以打印 图片或取消操作。如果用户选择打印图片,则系统会创建打印作业并 打印通知。

如果您想在打印输出中添加图片以外的其他内容,则必须 构建打印文档。有关创建打印文档的信息,请参阅 打印 HTML 文档打印自定义文档 课程。