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.