Как открыть файл PDF из Java? - PullRequest
1 голос
/ 08 ноября 2011

Я хочу открыть файл PDF из jsp.JSP и PDF находятся в одном каталоге.Я использую следующий фрагмент кода:

if (Desktop.isSupported()) {
    try {
        File myFile = new File("<file name>.pdf");
        Desktop.getDesktop().open(myFile);
    } catch (IOException ex) {
        // no application registered for PDFs
    }
}

Однако я получаю сообщение об ошибке, что файл не найденПроверен user.dir и он указывает на мой tomcat / bin.Как я могу обратиться к PDF, чтобы открыть его?

Ответы [ 2 ]

4 голосов
/ 08 ноября 2011

Вам необходимо указать абсолютный путь к файлу.Предполагая, что в корне общедоступного веб-контента есть filename.pdf, это должно сделать:

File myFile = new File(getServletContext().getRealPath("/filename.pdf"));

Однако эта конструкция не будет работать так, как вы ожидаете.Он покажет файл PDF на компьютере веб-сервера, а не на компьютере веб-браузера!Только когда вам удастся запустить и веб-сервер, и веб-браузер на физически на одной и той же машине, это будет "работать".Но, очевидно, этого не происходит в реальном мире, когда вы публикуете свое веб-приложение в Интернете, где веб-сервер и веб-браузер работают на физически разных компьютерах.

Вместо этого вам просто нужно напрямую связаться с файлом PDF.

<a href="filename.pdf">View PDF</a>

и пусть браузер обрабатывает отображение.

0 голосов
/ 08 ноября 2011

Вы пробовали это?Я только что получил это от Google, поэтому я не знаю, будет ли это работать.

Process p = Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler c:\\Java-    Interview.pdf");
        p.waitFor();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...