Fotos drucken

Das Aufnehmen und Teilen von Fotos ist eine der beliebtesten Anwendungen für Mobilgeräte. Wenn Ihre Anwendung Fotos aufnehmen oder anzeigen lassen oder Nutzern erlauben, Bilder zu teilen, sollten Sie erwägen, die Druckfunktion in Ihrer Anwendung verwenden. Die Android Support Library bietet eine praktische Funktion zum Aktivieren des Bilddrucks mit einem mit minimalem Code und einfachen Drucklayoutoptionen.

In dieser Lektion erfahren Sie, wie Sie mit der Supportbibliothek PrintHelper der Version 4 ein Bild drucken.

Bilder drucken

Die Klasse „PrintHelper“ der Android Support Library bietet eine einfache Möglichkeit zum Drucken von Bildern. Die Klasse hat die einzige Layoutoption setScaleMode(), Sie haben zwei Möglichkeiten, um zu drucken:

  • SCALE_MODE_FIT – Dies wird das Bild so angepasst, dass das gesamte Bild innerhalb des druckbaren Bereichs der Seite angezeigt wird.
  • SCALE_MODE_FILL – Dies skaliert das Bild so, dass es den gesamten druckbaren Bereich der Seite ausfüllt. Auswahl bedeutet, dass ein Teil des oberen und unteren oder rechten Rands des Bildes nicht gedruckt. Diese Option ist der Standardwert, wenn Sie keinen Skalierungsmodus festlegen.

Beide Skalierungsoptionen für setScaleMode() behalten das vorhandene Seitenverhältnis des Bildes bei. Das folgende Codebeispiel zeigt, wie Sie eine Instanz der PrintHelper-Klasse erstellen, die Skalierungsoption und starten Sie den Druckvorgang:

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);
}

Diese Methode kann als Aktion für einen Menüpunkt aufgerufen werden. Beachten Sie, dass Menüelemente für Aktionen, nicht immer unterstützt werden (wie z. B. Drucken), sollten im Dreipunkt-Menü platziert werden. Weitere Informationen Aktionsleiste .

Nachdem die Methode printBitmap() aufgerufen wird, sind keine weiteren Aktionen von Ihrer Anwendung erforderlich. Die Android Print-Benutzeroberfläche angezeigt, sodass der Nutzer einen Drucker und Druckoptionen auswählen kann. Der Nutzer kann die Datei dann oder brechen Sie die Aktion ab. Wenn der Nutzer das Bild drucken möchte, wird ein Druckauftrag erstellt und in der Systemleiste angezeigt.

Wenn Sie neben einem Bild zusätzliche Inhalte in Ihre Ausdrucke aufnehmen möchten, müssen Sie ein Druckdokument erstellen. Informationen zum Erstellen von Dokumenten für den Druck finden Sie in der HTML-Dokument drucken oder Benutzerdefiniertes Dokument drucken Lektionen.