ページが縦または横に配置されているかどうかに基づいて、大きな PDF を小さな PDF に分割するプログラムを作成しています。場合によっては、プログラムがページの向きを判断できないことがあります。その場合、ユーザーのデフォルトのフォト ビューアー (私の場合は Windows フォト ビューアー) で PDF を画像として開き、ユーザーに向きを選択するように求めます。写真を表示するための私のコードは次のとおりです。
Desktop dt = Desktop.getDesktop();
File picture = new File(pic.getFileName());
Object[] options = { "Vertical", "Horizontal", "Cancel" };
dt.open(picture);
int n = JOptionPane.showOptionDialog(null,
"This PDF orientation could not be determined.\n" +
"Select your desired orientation below.",
"PDF Orientation Error", JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, null, options, options[2]);
if (n == JOptionPane.YES_OPTION) {orientation = 0;}
if (n == JOptionPane.NO_OPTION) {orientation = 1;}
if (n == JOptionPane.CANCEL_OPTION || n == JOptionPane.CLOSED_OPTION) {System.exit(0);}
問題は、ユーザーが向きを選択した後、プログラムがデフォルトのビューアで画像を開いたままにすることです。場合によっては、PDF に 20 ~ 30 ページの不確定なページが含まれていることがあります。ユーザーが向きを選択した後、Windows フォト ビューアー ウィンドウを閉じる (または Windows フォト ビューアー プログラムを完全に終了する) 方法があるかどうか疑問に思っていました。どんな助けでも大歓迎です。