列印相片

拍攝和分享相片是行動裝置最常見的用途之一。如果您的應用程式會拍照、顯示相片,或是允許使用者分享圖片,建議您在應用程式中啟用列印這些圖片的功能。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 文件」或「列印自訂文件」課程。