Javaで画面を印刷する方法

Javaでスクリーンを印刷する方法

1. 概要

デスクトップで画面印刷アクションを実行する必要がある場合、キーボードに組み込まれた「PrntScr」ボタンがあります。 時にはそれで十分です

しかし、プログラムでアクションを実行する必要がある場合に問題が発生します。 簡単に言えば、Javaを使用して現在のスクリーンショットを画像ファイルとして保存する必要がある場合があります。

それをどのように行うことができるか見てみましょう。

2. Robotクラス

Javajava.awt.Robotクラスは、これから使用するメインAPIです。 この呼び出しには、特定の形状が渡されたときにスクリーンショットを撮る「createScreenCapture」というメソッドが含まれています。

robot.createScreenCapture(rectangle);

上記のメソッドはjava.awt.image.BufferedImageインスタンスを返すため、必要なのは、javax.imageio.ImageIOユーティリティクラスを使用して、取得したイメージをファイルに書き込むことだけです。

3. 画像ファイルのキャプチャと保存

画像のキャプチャと保存のJavaコードは次のとおりです。

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

ここでは、必要なサイズをjava.awt.Rectangleインスタンスに設定することで、画面の一部をキャプチャすることができます。 ただし、上記の例では、現在の画面サイズを設定することにより、全画面をキャプチャするように設定されています。

4. 結論

このチュートリアルでは、Javaでの印刷画面の使用法について簡単に説明しました。 上記の例のソースコードはthe GitHub projectにあります。