Como imprimir fotos
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Um dos usos mais comuns dos dispositivos móveis é tirar e compartilhar fotos. Se o seu aplicativo
tirar fotos, exibir ou permitir que os usuários compartilhem imagens, considere ativar a impressão
dessas imagens no seu aplicativo. A Biblioteca de Suporte do Android oferece uma função conveniente para ativar a impressão de imagens usando uma
quantidade mínima de código e um conjunto simples de opções de layout de impressão.
Esta lição mostra como imprimir uma imagem usando a classe PrintHelper
da Biblioteca de Suporte v4.
Imprimir uma imagem
A classe PrintHelper
da Biblioteca de Suporte do Android oferece
uma maneira simples de imprimir imagens. A classe tem uma única opção de layout, setScaleMode()
,
que permite a impressão com uma das duas opções:
SCALE_MODE_FIT
: este
dimensiona a imagem para que ela seja exibida inteira na área imprimível da página.
SCALE_MODE_FILL
: esta
dimensiona a imagem para que ela preencha toda a área imprimível da página. Ao escolher esta opção
significa que uma parte das bordas superior e inferior, ou esquerda e direita da imagem,
não impresso. Esse será o valor padrão se um modo de dimensionamento não for definido.
As duas opções de dimensionamento para setScaleMode()
mantêm a proporção existente da imagem intacta. O exemplo de código a seguir
mostra como criar uma instância da classe PrintHelper
, definir o
a opção de dimensionamento e inicie o processo de impressão:
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);
}
Esse método pode ser chamado como a ação para um item de menu. Os itens de menu para ações que são
sempre compatíveis (como impressão) devem ser colocados no menu flutuante. Para mais
informações, consulte o design da Barra de ações
guia.
Depois que o método printBitmap()
for
chamado, nenhuma outra ação de seu aplicativo é necessária. A interface do usuário para impressão do Android
aparece, permitindo que o usuário selecione uma impressora e opções de impressão. Em seguida, o usuário pode imprimir
imagem ou cancelar a ação. Se o usuário escolher imprimir a imagem, um trabalho de impressão é criado e um
notificação de impressão aparece na barra do sistema.
Se você quiser incluir mais conteúdo nas impressões além de apenas uma imagem, será necessário
e construir um documento de impressão. Para informações sobre como criar documentos para impressão, consulte a
Imprimir um documento HTML ou
Como imprimir documentos personalizados
aulas.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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."]]