Como imprimir uma tela em Java
1. Visão geral
Quando você precisa executar uma ação de impressão da tela na área de trabalho, há um botão ‘PrntScr 'incorporado no teclado para ajudá-lo. Às vezes isso é o suficiente.
Mas o problema surge quando você precisa executar essa ação programaticamente. Simplificando, pode ser necessário salvar uma captura de tela atual como um arquivo de imagem usando Java.
Vamos dar uma olhada em como podemos fazer isso.
2. A classeRobot
A classe Javajava.awt.Robot é a API principal que usaremos. Esta chamada contém um método chamado ‘createScreenCapture’ que tira uma captura de tela quando uma forma específica é passada:
robot.createScreenCapture(rectangle);
Como o método acima retorna uma instânciajava.awt.image.BufferedImage, tudo o que você precisa fazer é gravar a imagem recuperada em um arquivo usando a classe de utilitáriojavax.imageio.ImageIO.
3. Capturando e salvando o arquivo de imagem
O código Java para captura e salvamento de imagens é o seguinte:
public void getScreenshot(int timeToWait) throws Exception {
Rectangle rec = new Rectangle(
Toolkit.getDefaultToolkit().getScreenSize());
Robot robot = new Robot();
BufferedImage img = robot.createScreenCapture(rectangle);
ImageIO.write(img, "jpg", setupFileNamePath());
}
Aqui, é possível capturar uma parte da tela configurando o tamanho necessário para a instânciajava.awt.Rectangle. No entanto, no exemplo acima, ele foi configurado para capturar a tela inteira, definindo o tamanho da tela atual.
4. Conclusão
Neste tutorial, vimos rapidamente o uso de uma tela de impressão em Java. O código-fonte dos exemplos acima pode ser encontrado emthe GitHub project.