Я пытаюсь использовать FlowPaper Viewer из моего приложения Angular 4. но я получаю следующую ошибку:
core.es5.js? De3d: 1020 ОШИБКА TypeError: $ (...). FlowPaperViewer не является функцией
Может кто-нибудь помочь мне разобраться в проблеме или дать альтернативное решение, где я могу отобразить PDF из BLOB-объекта?
Или может предложить мне какой-нибудь другой просмотрщик PDF (лучший читатель с приятным внешним видом), где я могу отображать PDF из BLOB-объектов?
Я попробовал следующее (в приложении Jhipster Angular 4):
Я включил файлы JS и CSS вручную в папку моего проекта, например:
webapp/content/css/flowpaper.css
webapp/content/js/jquery.min.js
webapp/content/js/jquery.extensions.min.js
webapp/content/js/fpsmeter.min.js
webapp/content/js/three.min.js
webapp/content/js/flowpaper.js
webapp/content/js/flowpaper_handlers.js
webapp/content/js/FlowPaperViewer.js
webapp/content/js/flowpaper.worker.js
затем добавьте ссылку в файл angular-cli.json следующим образом:
"styles": [
"content/css/vendor.css",
"content/css/global.css",
"content/css/flowpaper.css"
],
"scripts": [
"content/js/jquery.min.js",
"content/js/jquery.extensions.min.js",
"content/js/fpsmeter.min.js",
"content/js/three.min.js",
"content/js/flowpaper.js",
"content/js/flowpaper_handlers.js",
"content/js/FlowPaperViewer.js",
"content/js/flowpaper.worker.js"
]
В HTML-файл добавлено:
<div id="documentViewer" class="flowpaper_viewer" style="position:absolute;;width:100%;height:100%;background-color:#222222;;"></div>
в компоненте я объявляю переменную jquery:
declare var $:any;
при получении PDF-файла блоба, который я назвал:
uint8Array = new Uint8Array(arrayBuffer);
$('#documentViewer').FlowPaperViewer(
{ config : {
PDFFile : uint8Array
}});
и я вижу в хромированной консоли:
core.es5.js? De3d: 1020 ОШИБКА TypeError: $ (...). FlowPaperViewer не является функцией