Открытие PDF в приложении javafx - PullRequest
0 голосов
/ 30 октября 2018

Я разрабатываю приложение javafx, которое открывает PDF, когда я нажимаю кнопку. Я использую команду xdg-open в Linux следующим образом:

String[] command = {"xdg-open",path}
Process p = Runtime.getRuntime().exec(command);
p.waitFor();

но когда я нажимаю кнопку, ничего не происходит. Я проверил его в другом проекте, и он без проблем открыл PDF. Любая идея, как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Вот метод, который я использую. Простой вызов метода Desktop.getDesktop().open() откроет любой данный File, используя системное приложение по умолчанию.

Это также откроет файл в фоновом режиме Thread, чтобы ваше приложение не зависало при ожидании загрузки файла.

public static void openFile(File file) throws Exception {
    if (Desktop.isDesktopSupported()) {
        new Thread(() -> {
            try {
                Desktop.getDesktop().open(file);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }).start();
    }
}
0 голосов
/ 30 октября 2018

Этот код показывает документ в браузере по умолчанию:

File file = new File("C:/filePath/Test.pdf");
HostServices hostServices = getHostServices();
hostServices.showDocument(file.getAbsolutePath());

Надеюсь, это поможет !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...