Как передать uint8array в Mozilla's Viewer.js?
Я разрабатываю PDF Viewer точно так же, как в Angular 5. Для этого я использую viewer.js, предоставленный Mozilla. В viewer.js я загружаю документ pdf из локального хранилища, т.е. из папки "/assets".
Теперь я хочу передать данные (в формате uInt8array), поступающие из некоторых служб REST, в viewer.js. Есть ли способ добиться этого?
viewer.js
"use strict";
var DEFAULT_URL = '../assets/files/1.pdf';
;
var pdfjsWebApp = void 0;
{
pdfjsWebApp = __webpack_require__(4);
}
;
{
__webpack_require__(8);
}
;
{
__webpack_require__(9);
}
function getViewerConfiguration() {
return {
appContainer: document.body,
mainContainer: document.getElementById('viewerContainer'),
viewerContainer: document.getElementById('viewer'),
eventBus: null,
toolbar: {
container: document.getElementById('toolbarViewer'),
numPages: document.getElementById('numPages'),
pageNumber: document.getElementById('pageNumber'),
scaleSelectContainer: document.getElementById('scaleSelectContainer'),
scaleSelect: document.getElementById('scaleSelect'),
customScaleOption: document.getElementById('customScaleOption'),
previous: document.getElementById('previous'),
next: document.getElementById('next'),
zoomIn: document.getElementById('zoomIn'),
zoomOut: document.getElementById('zoomOut'),
viewFind: document.getElementById('viewFind'),
openFile: document.getElementById('openFile'),
print: document.getElementById('print'),
presentationModeButton: document.getElementById('presentationMode'),
download: document.getElementById('download'),
viewBookmark: document.getElementById('viewBookmark')
},
secondaryToolbar: {
toolbar: document.getElementById('secondaryToolbar'),
toggleButton: document.getElementById('secondaryToolbarToggle'),
toolbarButtonContainer: document.getElementById('secondaryToolbarButtonContainer'),
presentationModeButton: document.getElementById('secondaryPresentationMode'),
openFileButton: document.getElementById('secondaryOpenFile'),
printButton: document.getElementById('secondaryPrint'),
downloadButton: document.getElementById('secondaryDownload'),
viewBookmarkButton: document.getElementById('secondaryViewBookmark'),
firstPageButton: document.getElementById('firstPage'),
lastPageButton: document.getElementById('lastPage'),
pageRotateCwButton: document.getElementById('pageRotateCw'),
pageRotateCcwButton: document.getElementById('pageRotateCcw'),
cursorSelectToolButton: document.getElementById('cursorSelectTool'),
cursorHandToolButton: document.getElementById('cursorHandTool'),
documentPropertiesButton: document.getElementById('documentProperties')
},
fullscreen: {
contextFirstPage: document.getElementById('contextFirstPage'),
contextLastPage: document.getElementById('contextLastPage'),
contextPageRotateCw: document.getElementById('contextPageRotateCw'),
contextPageRotateCcw: document.getElementById('contextPageRotateCcw')
},
sidebar: {
mainContainer: document.getElementById('mainContainer'),
outerContainer: document.getElementById('outerContainer'),
toggleButton: document.getElementById('sidebarToggle'),
thumbnailButton: document.getElementById('viewThumbnail'),
outlineButton: document.getElementById('viewOutline'),
attachmentsButton: document.getElementById('viewAttachments'),
thumbnailView: document.getElementById('thumbnailView'),
outlineView: document.getElementById('outlineView'),
attachmentsView: document.getElementById('attachmentsView')
},
findBar: {
bar: document.getElementById('findbar'),
toggleButton: document.getElementById('viewFind'),
findField: document.getElementById('findInput'),
highlightAllCheckbox: document.getElementById('findHighlightAll'),
caseSensitiveCheckbox: document.getElementById('findMatchCase'),
findMsg: document.getElementById('findMsg'),
findResultsCount: document.getElementById('findResultsCount'),
findStatusIcon: document.getElementById('findStatusIcon'),
findPreviousButton: document.getElementById('findPrevious'),
findNextButton: document.getElementById('findNext')
},
passwordOverlay: {
overlayName: 'passwordOverlay',
container: document.getElementById('passwordOverlay'),
label: document.getElementById('passwordText'),
input: document.getElementById('password'),
submitButton: document.getElementById('passwordSubmit'),
cancelButton: document.getElementById('passwordCancel')
},
documentProperties: {
overlayName: 'documentPropertiesOverlay',
container: document.getElementById('documentPropertiesOverlay'),
closeButton: document.getElementById('documentPropertiesClose'),
fields: {
'fileName': document.getElementById('fileNameField'),
'fileSize': document.getElementById('fileSizeField'),
'title': document.getElementById('titleField'),
'author': document.getElementById('authorField'),
'subject': document.getElementById('subjectField'),
'keywords': document.getElementById('keywordsField'),
'creationDate': document.getElementById('creationDateField'),
'modificationDate': document.getElementById('modificationDateField'),
'creator': document.getElementById('creatorField'),
'producer': document.getElementById('producerField'),
'version': document.getElementById('versionField'),
'pageCount': document.getElementById('pageCountField')
}
},
errorWrapper: {
container: document.getElementById('errorWrapper'),
errorMessage: document.getElementById('errorMessage'),
closeButton: document.getElementById('errorClose'),
errorMoreInfo: document.getElementById('errorMoreInfo'),
moreInfoButton: document.getElementById('errorShowMore'),
lessInfoButton: document.getElementById('errorShowLess')
},
printContainer: document.getElementById('printContainer'),
openFileInputName: 'fileInput',
debuggerScriptPath: '../assets/js/debugger.js',
defaultUrl: DEFAULT_URL
};
}
function webViewerLoad() {
var docId = document.getElementById('docid');
if(docId != null)
DEFAULT_URL = "../assets/files/"+docId.value+".pdf";
var config = getViewerConfiguration();
window.PDFViewerApplication = pdfjsWebApp.PDFViewerApplication;
pdfjsWebApp.PDFViewerApplication.run(config);
}
if (document.readyState === 'interactive' || document.readyState === 'complete') {
webViewerLoad();
} else {
document.addEventListener('DOMContentLoaded', webViewerLoad, true);
}
/***/ })
/******/ ]);
Строка кода var DEFAULT_URL = '../assets/files/1.pdf' - это место, где я даю файл локали.