Cómo imprimir fotos
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Tomar y compartir fotos es uno de los usos más populares de los dispositivos móviles. Si tu aplicación
toma fotos, las muestra o permite que los usuarios compartan imágenes, habilita la impresión
de esas imágenes en tu aplicación. La biblioteca de compatibilidad de Android proporciona una práctica función para permitir la impresión de imágenes usando un
una cantidad mínima de código y un conjunto simple de opciones de diseño de impresión.
En esta lección, se muestra cómo imprimir una imagen con la clase PrintHelper
de la biblioteca de compatibilidad v4.
Cómo imprimir una imagen
La clase PrintHelper
de la biblioteca de compatibilidad de Android proporciona
una forma sencilla de imprimir imágenes. La clase tiene una sola opción de diseño, setScaleMode()
,
que te permite imprimir con una de estas dos opciones:
SCALE_MODE_FIT
: este
ajusta el tamaño de la imagen para que aparezca toda la imagen dentro del área de impresión de la página.
SCALE_MODE_FILL
: este
ajusta la imagen para que ocupe toda el área imprimible de la página. Eligiendo
de imagen significa que parte de los bordes superior e inferior, o izquierdo y derecho de la imagen
no se imprimen. Esta opción es el valor predeterminado si no estableces un modo de ajuste.
Ambas opciones de ajuste para setScaleMode()
mantienen intacta la proporción existente de la imagen. El siguiente ejemplo de código
se muestra cómo crear una instancia de la clase PrintHelper
, establecer la
opción de escalamiento e inicia el proceso de impresión:
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);
}
Se puede llamar a este método como la acción de un elemento de menú. Ten en cuenta que los elementos de menú para las acciones que son
no siempre compatibles (como impresión) deben colocarse en el menú ampliado. Para ver más
consulta la sección de información de la barra de acciones
.
Después de completar el método printBitmap()
llamada, no se requiere ninguna otra acción de tu aplicación. La interfaz de usuario de impresión de Android
para que el usuario pueda seleccionar una impresora y las opciones de impresión. Luego, el usuario puede imprimir el
o cancelar la acción. Si el usuario elige imprimir la imagen, se crea un trabajo de impresión y se crea una
la notificación de impresión en la barra del sistema.
Si quieres incluir más contenido en tus impresiones además de una imagen, debes
crear un documento impreso. Para obtener información sobre la creación de documentos para imprimir, consulta el
Imprimir un documento HTML o
Cómo imprimir un documento personalizado
en las lecciones.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-07-27 (UTC)"],[],[],null,["# Printing photos\n\nTaking and sharing photos is one of the most popular uses for mobile devices. If your application\ntakes photos, displays them, or allows users to share images, you should consider enabling printing\nof those images in your application. The [Android Support Library](/tools/support-library) provides a convenient function for enabling image printing using a\nminimal amount of code and simple set of print layout options.\n\nThis lesson shows you how to print an image using the v4 support library [PrintHelper](/reference/androidx/print/PrintHelper) class.\n\nPrint an image\n--------------\n\nThe Android Support Library [PrintHelper](/reference/androidx/print/PrintHelper) class provides\na simple way to print images. The class has a single layout option, [setScaleMode()](/reference/androidx/print/PrintHelper#setScaleMode(int)),\nwhich allows you to print with one of two options:\n\n- [SCALE_MODE_FIT](/reference/androidx/print/PrintHelper#SCALE_MODE_FIT) - This option sizes the image so that the whole image is shown within the printable area of the page.\n- [SCALE_MODE_FILL](/reference/androidx/print/PrintHelper#SCALE_MODE_FILL) - This option scales the image so that it fills the entire printable area of the page. Choosing this setting means that some portion of the top and bottom, or left and right edges of the image is not printed. This option is the default value if you do not set a scale mode.\n\nBoth scaling options for [setScaleMode()](/reference/androidx/print/PrintHelper#setScaleMode(int)) keep the existing aspect ratio of the image intact. The following code example\nshows how to create an instance of the [PrintHelper](/reference/androidx/print/PrintHelper) class, set the\nscaling option, and start the printing process: \n\n### Kotlin\n\n```kotlin\nprivate fun doPhotoPrint() {\n activity?.also { context -\u003e\n PrintHelper(context).apply {\n scaleMode = PrintHelper.SCALE_MODE_FIT\n }.also { printHelper -\u003e\n val bitmap = BitmapFactory.decodeResource(resources, R.drawable.droids)\n printHelper.printBitmap(\"droids.jpg - test print\", bitmap)\n }\n }\n}\n```\n\n### Java\n\n```java\nprivate void doPhotoPrint() {\n PrintHelper photoPrinter = new PrintHelper(getActivity());\n photoPrinter.setScaleMode(PrintHelper.SCALE_MODE_FIT);\n Bitmap bitmap = BitmapFactory.decodeResource(getResources(),\n R.drawable.droids);\n photoPrinter.printBitmap(\"droids.jpg - test print\", bitmap);\n}\n```\n\n\nThis method can be called as the action for a menu item. Note that menu items for actions that are\nnot always supported (such as printing) should be placed in the overflow menu. For more\ninformation, see the [Action Bar](/design/patterns/actionbar) design\nguide.\n\nAfter the [printBitmap()](/reference/androidx/print/PrintHelper#printBitmap(java.lang.String, android.graphics.Bitmap)) method is\ncalled, no further action from your application is required. The Android print user interface\nappears, allowing the user to select a printer and printing options. The user can then print the\nimage or cancel the action. If the user chooses to print the image, a print job is created and a\nprinting notification appears in the system bar.\n\nIf you want to include additional content in your printouts beyond just an image, you must\nconstruct a print document. For information on creating documents for printing, see the\n[Printing an HTML document](/training/printing/html-docs) or\n[Printing a custom document](/training/printing/custom-docs)\nlessons."]]