PDF-файлы, встроенные в base64, не будут отображаться в Chrome - PullRequest
3 голосов
/ 15 апреля 2020

Некоторые файлы PDF не будут отображаться в браузере Chrome, но будут хорошо отображаться в Firefox. Все файлы отображаются нормально во всех браузерах, если они были добавлены напрямую.

<object id="content-view" :data="content_view.base64" type="application/pdf"></object>

Смущает то, что проблема заключается только в некоторых файлах, а не во всех. Файлы хранятся в папке, которая не является общедоступной c, и поэтому они служат base64 для просмотра пользователем.

screenshot

Я тестировал проблемные c файлы с помощью онлайн-декодеров base64, и я получаю тот же результат. Отрисовано в FF, не выложено в Chrome.

Я не могу поделиться ни одним из файлов PDF. Все они из одного источника, отсканированы с одного устройства, PDF версия 1.4, 4 страницы.

Я пробовал:

  • с использованием iframe, embed и object (тот же результат)
  • разблокировка Небезопасный контент в Chrome настройках сайта
  • открытие и повторное сохранение в Adobe Acrobat
  • с использованием онлайн-анализаторов PDF, чтобы увидеть, есть ли проблемы настоящее время (ничего не найдено)

Ответы [ 3 ]

0 голосов
/ 25 апреля 2020

Вместо использования встроенного в браузер рендерера PDF вы можете использовать JS, написанный Mozilla.

Viewer JS предоставляет хороший интерфейс для этого, и если вы хотите чтобы встроить его в страницу в полном размере, вы можете поместить его в iframe и управлять им с помощью iFrame-resizer .

0 голосов
/ 26 апреля 2020

Вместо открытия файла PDF в элементе HTML, откройте его в новом окне, используя URL-адрес BLOB-объекта.

Пожалуйста, обратитесь

Создание BLOB из строки Base64 в JavaScript

для преобразования Base64 в Blob

0 голосов
/ 22 апреля 2020

Я бы попробовал преобразовать pdf в png и загрузить файл в папку вашего проекта, а затем использовать iframe для встраивания файла

...