Загрузка PDF внутри PDF.js - PullRequest
       14

Загрузка PDF внутри PDF.js

0 голосов
/ 09 июля 2019

Я пытаюсь отобразить PDF внутри iframe, используя PDF.js. Мой pdf не находится в моем локальном каталоге, он находится в NAS. Ниже, как я назвал мой iframe.

<iframe id="framePDF" name="framePDF" src="http:127.0.0.1/web/viewer.html?file=#path-to-pdf#" frameborder="0" height="500px" width="100%"></iframe>

Сначала я попытался вызвать файл, просто вызвав файлы из гнезда, как таковые //100.100.0.10/folder/pdfname.pdf. Использование этого приведет к ошибке неверного запроса.

Затем я попытался вызвать его, добавив http:// перед файлом пути, следовательно, http://100.100.0.10/folder/pdfname.pdf. Но это ничего не показывает. Вышла ошибка: `` неожиданный ответ сервера (0) при получении pdf`.

Я провел исследование, и NAS не поддерживает протокол http://. Он использует либо smb://, cifs://, либо file://. Изменение http:// на file:// при вызове файла вызовет политику CORS.

Итак, другая идея заключается в использовании ColdFusion cffile для получения файла в виде двоичного файла PDF. Здесь я думаю, что это может сработать, но я просто не могу этого сделать. Я попытался открыть файл, используя cfcontent, но cfcontent просто заставляет просматривать PDF-файл, используя встроенную в браузер программу просмотра PDF. Я хочу это, используя мой модифицированный просмотрщик PDF.js. Поэтому я использую cfcontent на другой странице и связываю его с моим iframe. Код будет примерно таким:

<iframe id="framePDF" name="framePDF" src="http:127.0.0.1/web/viewer.html?file=www.pdfviewer/pdf" frameborder="0" height="500px" width="100%"></iframe>

Это тоже не работает. Зритель сразу ушел и даже не отображается на экране.

Еще одна идея, которая может сработать, - преобразовать файл PDF. Поскольку cffile action="readbinary" будет выводить PDF в двоичном виде, я думаю преобразовать его обратно и связать с iframe. Тем не менее, я понятия не имею, как это сделать. Основываясь на других вопросах на этом сайте, я могу использовать javascript, но я не знаю, с чего начать.

Кто-нибудь может мне помочь?

...