PDF должен отображаться в HTML, а не загружаться в Adobe или в отдельное окно

0

У меня есть Java-приложение, которое теоретически при правильной работе отобразит PDF файл в окне браузера рядом с некоторыми текстовыми полями ввода, чтобы сотрудник мог индексировать документ и хранить его.

JSP URL: localhost: 1234/Приложение

В настоящее время происходит следующее:

→ Пользователь сообщает JSP, чтобы сообщить сервлету войти в файловую систему и захватить пакет PDF файлов

→ JSP-дисплеи, в которые была схвачена партия (папка), и файлы, содержащиеся внутри папки на экране

ПРИМЕР:

Folder1:

-document1 (кнопка)

-document2 (кнопка)

-document3 (кнопка)

---> Пользователь нажимает кнопку, которая появляется рядом с именем документа в JSP, и сервлет обслуживает данные PDF в байтовом массиве следующим образом:

File file = new File(Dir + "\\" + batchName + "\\" + fileName);
byte[] by = new byte[(int) file.length()];
FileInputStream fis = new FileInputStream(file);
fis.read(by);
fis.close();

response.setContentType("application/pdf");
response.setHeader("Content-disposition", "attachment; filename=TheDocument." + "pdf");
response.getOutputStream().write(by);
response.getOutputStream().flush();
response.getOutputStream().close();

Затем PDF открывается в SEPARATE WINDOW, чем приложение работает, и файл PDF загружается на компьютер в папку загрузки

Что происходит после этого не имеет значения в рамках этого вопроса.

Я хочу, чтобы это произошло:

  1. Пользователь сообщает JSP, чтобы сообщить сервлету войти в файловую систему и захватить пакет PDF файлов
  2. JSP-дисплеи, в которые была схвачена партия (папка), и файлы, содержащиеся внутри папки на экране
  3. Человек нажимает кнопку рядом с именем документа в JSP, и сервлет обслуживает документ PDF и загружает его на страницу html, чтобы человек мог просматривать его в режиме реального времени в одном окне и выполнять их индексирование.

Изменение заголовка на встроенную строку не дает мне желаемого эффекта при загрузке PDF файла в том же окне браузера, но только щелкнув обратно, я могу вернуться к моему JSP. Он по сути загружает совершенно новое окно HTML/JSP. В этом случае браузер фактически указывает на мой сервлет:

локальный: 1234/Application/Servlet

Ниже я хочу, чтобы приложение выглядело следующим образом:

Изображение 174551

Я просмотрел несколько плагинов jquery, таких как PDFObject, Colorbox и многие другие. Кажется, я не чувствую желаемого эффекта.

Теги:
jsp
servlets
pdf

3 ответа

1

Вы можете использовать pdf.js для рендеринга pdf- файла, с резервным копированием Flash для браузера, который не поддерживается pdf.js.

Пример helloworld отображает PDF в элементе <canvas>.

  • 0
    Очень интересно.
0

Не уверен, что это то, что вы ищете, но обычно вы можете поместить PDF в iframe и открыть его таким образом. PDF файл просто должен быть опубликован на вашем сервере.

Этот ответ может помочь вам:

Как открыть PDF файл в <iframe>?

  • 0
    Я бы предпочел не копировать файл из файловой системы на сам сервер. Я хотел бы иметь возможность сделать это, просто используя байты, если это возможно
0

Независимо от того, открывается ли PDF в отдельном приложении или в браузере, это параметр в браузере, в Adobe и в проводнике Windows (при условии, что Windows). Вы не контролируете его, не отображая свой PDF файл в приложении Flash, а затем у пользователя может не быть Flash.

  • 0
    Я не думаю, что вы поняли вопрос. Я понимаю, что PDF-файл может быть открыт в браузере или в Adobe. Я прошел и проверил это. Я хочу внедрить PDF-файл прямо в саму JSP-версию своего собственного слоя или, возможно, в iFrame.
  • 0
    @Chandler E, чтобы упростить мой последний комментарий, приложение Flash для отображения PDF является наиболее универсальным способом сделать это.
Сообщество Overcoder
Наверх
Меню