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 回答