0

ページが縦または横に配置されているかどうかに基づいて、大きな 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 フォト ビューアー プログラムを完全に終了する) 方法があるかどうか疑問に思っていました。どんな助けでも大歓迎です。

4

1 に答える 1

1

taskkill コマンドの例を使用してみてください:
taskkill /IM notepad.exe
このサイトにはいくつかの用途があります。:)
http://www.tech-recipes.com/rx/446/xp_kill_windows_process_command_line_taskkill/

try{
    Process process = runtime.exec("taskkill /IM notepad.exe");
} catch (IOException ioe){
    JFrame alertFrame = new JFrame();
    JOptionPane.showMessageDialog(alertFrame, "Error closing notepad.");
}

taskkill コマンドはテストしていませんが、これは実際の例からのものです

于 2013-07-08T19:55:47.420 に答える