pdfjs-dist 2.0.550 → 2.3.200
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pdfjs-dist might be problematic. Click here for more details.
- package/CODE_OF_CONDUCT.md +15 -0
- package/bower.json +1 -1
- package/build/pdf.js +21618 -14369
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +1 -1
- package/build/pdf.worker.js +22758 -11399
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +1 -1
- package/image_decoders/pdf.image_decoders.js +11500 -0
- package/image_decoders/pdf.image_decoders.js.map +1 -0
- package/image_decoders/pdf.image_decoders.min.js +1 -0
- package/lib/core/annotation.js +767 -258
- package/lib/core/arithmetic_decoder.js +275 -245
- package/lib/core/bidi.js +65 -6
- package/lib/core/ccitt.js +173 -18
- package/lib/core/ccitt_stream.js +15 -6
- package/lib/core/cff_parser.js +433 -61
- package/lib/core/charsets.js +5 -4
- package/lib/core/chunked_stream.js +428 -157
- package/lib/core/cmap.js +326 -87
- package/lib/core/colorspace.js +874 -594
- package/lib/core/core_utils.js +173 -0
- package/lib/core/crypto.js +290 -45
- package/lib/core/document.js +575 -272
- package/lib/core/encodings.js +19 -10
- package/lib/core/evaluator.js +1032 -351
- package/lib/core/font_renderer.js +331 -97
- package/lib/core/fonts.js +813 -196
- package/lib/core/function.js +253 -27
- package/lib/core/glyphlist.js +5 -3
- package/lib/core/image.js +169 -62
- package/lib/core/image_utils.js +111 -0
- package/lib/core/jbig2.js +502 -72
- package/lib/core/jbig2_stream.js +19 -8
- package/lib/core/jpeg_stream.js +38 -13
- package/lib/core/jpg.js +293 -52
- package/lib/core/jpx.js +419 -12
- package/lib/core/jpx_stream.js +18 -6
- package/lib/core/metrics.js +15 -15
- package/lib/core/murmurhash3.js +56 -34
- package/lib/core/obj.js +1368 -500
- package/lib/core/operator_list.js +159 -43
- package/lib/core/parser.js +544 -199
- package/lib/core/pattern.js +170 -21
- package/lib/core/pdf_manager.js +324 -134
- package/lib/core/primitives.js +169 -61
- package/lib/core/ps_parser.js +134 -45
- package/lib/core/standard_fonts.js +17 -17
- package/lib/core/stream.js +327 -34
- package/lib/core/type1_parser.js +148 -8
- package/lib/core/unicode.js +32 -5
- package/lib/core/worker.js +215 -229
- package/lib/core/worker_stream.js +277 -0
- package/lib/display/annotation_layer.js +618 -192
- package/lib/display/api.js +1798 -882
- package/lib/display/api_compatibility.js +5 -10
- package/lib/display/canvas.js +366 -45
- package/lib/display/content_disposition.js +71 -24
- package/lib/display/display_utils.js +777 -0
- package/lib/display/fetch_stream.js +205 -87
- package/lib/display/font_loader.js +468 -236
- package/lib/display/metadata.js +38 -16
- package/lib/display/network.js +635 -428
- package/lib/display/network_utils.js +38 -19
- package/lib/display/node_stream.js +367 -175
- package/lib/display/pattern_helper.js +103 -36
- package/lib/display/svg.js +1232 -519
- package/lib/display/text_layer.js +208 -75
- package/lib/display/transport_stream.js +345 -94
- package/lib/display/webgl.js +64 -18
- package/lib/display/worker_options.js +5 -4
- package/lib/display/xml_parser.js +166 -53
- package/lib/examples/node/domstubs.js +60 -4
- package/lib/pdf.js +35 -14
- package/lib/pdf.worker.js +5 -3
- package/lib/shared/compatibility.js +170 -572
- package/lib/shared/global_scope.js +2 -2
- package/lib/shared/is_node.js +4 -4
- package/lib/shared/message_handler.js +216 -163
- package/lib/shared/streams_polyfill.js +21 -17
- package/lib/shared/util.js +495 -385
- package/lib/test/unit/annotation_spec.js +1464 -401
- package/lib/test/unit/api_spec.js +718 -361
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +54 -11
- package/lib/test/unit/clitests_helper.js +9 -10
- package/lib/test/unit/cmap_spec.js +95 -41
- package/lib/test/unit/colorspace_spec.js +115 -63
- package/lib/test/unit/core_utils_spec.js +191 -0
- package/lib/test/unit/crypto_spec.js +17 -5
- package/lib/test/unit/custom_spec.js +43 -55
- package/lib/test/unit/display_svg_spec.js +34 -18
- package/lib/test/unit/display_utils_spec.js +273 -0
- package/lib/test/unit/document_spec.js +8 -13
- package/lib/test/unit/encodings_spec.js +25 -45
- package/lib/test/unit/evaluator_spec.js +59 -20
- package/lib/test/unit/fetch_stream_spec.js +111 -0
- package/lib/test/unit/function_spec.js +17 -5
- package/lib/test/unit/jasmine-boot.js +33 -20
- package/lib/test/unit/message_handler_spec.js +30 -13
- package/lib/test/unit/metadata_spec.js +71 -11
- package/lib/test/unit/murmurhash3_spec.js +3 -3
- package/lib/test/unit/network_spec.js +22 -55
- package/lib/test/unit/network_utils_spec.js +105 -14
- package/lib/test/unit/node_stream_spec.js +58 -34
- package/lib/test/unit/parser_spec.js +162 -71
- package/lib/test/unit/pdf_find_controller_spec.js +230 -0
- package/lib/test/unit/pdf_find_utils_spec.js +63 -0
- package/lib/test/unit/pdf_history_spec.js +21 -9
- package/lib/test/unit/primitives_spec.js +55 -22
- package/lib/test/unit/stream_spec.js +12 -4
- package/lib/test/unit/test_utils.js +273 -56
- package/lib/test/unit/testreporter.js +21 -3
- package/lib/test/unit/type1_parser_spec.js +9 -7
- package/lib/test/unit/ui_utils_spec.js +236 -36
- package/lib/test/unit/unicode_spec.js +18 -15
- package/lib/test/unit/util_spec.js +87 -128
- package/lib/web/annotation_layer_builder.js +39 -22
- package/lib/web/app.js +1252 -609
- package/lib/web/app_options.js +103 -65
- package/lib/web/base_viewer.js +522 -242
- package/lib/web/chromecom.js +259 -117
- package/lib/web/debugger.js +166 -22
- package/lib/web/download_manager.js +31 -12
- package/lib/web/firefox_print_service.js +27 -14
- package/lib/web/firefoxcom.js +318 -78
- package/lib/web/genericcom.js +89 -30
- package/lib/web/genericl10n.js +142 -30
- package/lib/web/grab_to_pan.js +28 -4
- package/lib/web/interfaces.js +174 -47
- package/lib/web/overlay_manager.js +235 -85
- package/lib/web/password_prompt.js +22 -14
- package/lib/web/pdf_attachment_viewer.js +38 -18
- package/lib/web/pdf_cursor_tools.js +39 -16
- package/lib/web/pdf_document_properties.js +255 -136
- package/lib/web/pdf_find_bar.js +84 -40
- package/lib/web/pdf_find_controller.js +495 -184
- package/lib/web/pdf_find_utils.js +111 -0
- package/lib/web/pdf_history.js +190 -53
- package/lib/web/pdf_link_service.js +144 -79
- package/lib/web/pdf_outline_viewer.js +124 -47
- package/lib/web/pdf_page_view.js +194 -74
- package/lib/web/pdf_presentation_mode.js +99 -34
- package/lib/web/pdf_print_service.js +59 -13
- package/lib/web/pdf_rendering_queue.js +28 -9
- package/lib/web/pdf_sidebar.js +144 -81
- package/lib/web/pdf_sidebar_resizer.js +42 -16
- package/lib/web/pdf_single_page_viewer.js +74 -66
- package/lib/web/pdf_thumbnail_view.js +104 -33
- package/lib/web/pdf_thumbnail_viewer.js +66 -26
- package/lib/web/pdf_viewer.component.js +112 -32
- package/lib/web/pdf_viewer.js +82 -87
- package/lib/web/preferences.js +284 -91
- package/lib/web/secondary_toolbar.js +132 -59
- package/lib/web/text_layer_builder.js +134 -59
- package/lib/web/toolbar.js +80 -43
- package/lib/web/ui_utils.js +400 -134
- package/lib/web/view_history.js +215 -67
- package/lib/web/viewer_compatibility.js +3 -8
- package/package.json +3 -2
- package/web/pdf_viewer.css +23 -15
- package/web/pdf_viewer.js +3429 -1245
- package/web/pdf_viewer.js.map +1 -1
- package/external/streams/streams-lib.js +0 -3962
- package/lib/display/dom_utils.js +0 -429
- package/lib/test/unit/dom_utils_spec.js +0 -89
- package/lib/test/unit/fonts_spec.js +0 -81
- package/lib/web/dom_events.js +0 -137
package/lib/web/base_viewer.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
* @licstart The following is the entire license notice for the
|
3
3
|
* Javascript code in this page
|
4
4
|
*
|
5
|
-
* Copyright
|
5
|
+
* Copyright 2019 Mozilla Foundation
|
6
6
|
*
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
* you may not use this file except in compliance with the License.
|
@@ -19,98 +19,106 @@
|
|
19
19
|
* @licend The above is the entire license notice for the
|
20
20
|
* Javascript code in this page
|
21
21
|
*/
|
22
|
-
|
22
|
+
"use strict";
|
23
23
|
|
24
24
|
Object.defineProperty(exports, "__esModule", {
|
25
25
|
value: true
|
26
26
|
});
|
27
|
-
exports.
|
27
|
+
exports.BaseViewer = void 0;
|
28
28
|
|
29
|
-
var
|
29
|
+
var _ui_utils = require("./ui_utils");
|
30
30
|
|
31
|
-
var
|
31
|
+
var _pdf_rendering_queue = require("./pdf_rendering_queue");
|
32
32
|
|
33
|
-
var
|
33
|
+
var _annotation_layer_builder = require("./annotation_layer_builder");
|
34
34
|
|
35
|
-
var
|
35
|
+
var _pdf = require("../pdf");
|
36
36
|
|
37
|
-
var
|
37
|
+
var _pdf_page_view = require("./pdf_page_view");
|
38
38
|
|
39
|
-
var
|
39
|
+
var _pdf_link_service = require("./pdf_link_service");
|
40
40
|
|
41
|
-
var
|
41
|
+
var _text_layer_builder = require("./text_layer_builder");
|
42
42
|
|
43
|
-
|
43
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
44
44
|
|
45
|
-
var
|
45
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
46
46
|
|
47
|
-
function
|
47
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
48
48
|
|
49
49
|
var DEFAULT_CACHE_SIZE = 10;
|
50
|
-
|
51
|
-
VERTICAL: 0,
|
52
|
-
HORIZONTAL: 1,
|
53
|
-
WRAPPED: 2
|
54
|
-
};
|
55
|
-
var SpreadMode = {
|
56
|
-
NONE: 0,
|
57
|
-
ODD: 1,
|
58
|
-
EVEN: 2
|
59
|
-
};
|
50
|
+
|
60
51
|
function PDFPageViewBuffer(size) {
|
61
52
|
var data = [];
|
53
|
+
|
62
54
|
this.push = function (view) {
|
63
55
|
var i = data.indexOf(view);
|
56
|
+
|
64
57
|
if (i >= 0) {
|
65
58
|
data.splice(i, 1);
|
66
59
|
}
|
60
|
+
|
67
61
|
data.push(view);
|
62
|
+
|
68
63
|
if (data.length > size) {
|
69
64
|
data.shift().destroy();
|
70
65
|
}
|
71
66
|
};
|
67
|
+
|
72
68
|
this.resize = function (newSize, pagesToKeep) {
|
73
69
|
size = newSize;
|
70
|
+
|
74
71
|
if (pagesToKeep) {
|
75
72
|
var pageIdsToKeep = new Set();
|
73
|
+
|
76
74
|
for (var i = 0, iMax = pagesToKeep.length; i < iMax; ++i) {
|
77
75
|
pageIdsToKeep.add(pagesToKeep[i].id);
|
78
76
|
}
|
77
|
+
|
79
78
|
(0, _ui_utils.moveToEndOfArray)(data, function (page) {
|
80
79
|
return pageIdsToKeep.has(page.id);
|
81
80
|
});
|
82
81
|
}
|
82
|
+
|
83
83
|
while (data.length > size) {
|
84
84
|
data.shift().destroy();
|
85
85
|
}
|
86
86
|
};
|
87
87
|
}
|
88
|
+
|
88
89
|
function isSameScale(oldScale, newScale) {
|
89
90
|
if (newScale === oldScale) {
|
90
91
|
return true;
|
91
92
|
}
|
93
|
+
|
92
94
|
if (Math.abs(newScale - oldScale) < 1e-15) {
|
93
95
|
return true;
|
94
96
|
}
|
97
|
+
|
95
98
|
return false;
|
96
99
|
}
|
97
100
|
|
98
|
-
var BaseViewer =
|
101
|
+
var BaseViewer =
|
102
|
+
/*#__PURE__*/
|
103
|
+
function () {
|
99
104
|
function BaseViewer(options) {
|
105
|
+
var _this = this;
|
106
|
+
|
100
107
|
_classCallCheck(this, BaseViewer);
|
101
108
|
|
102
109
|
if (this.constructor === BaseViewer) {
|
103
110
|
throw new Error('Cannot initialize BaseViewer.');
|
104
111
|
}
|
112
|
+
|
105
113
|
this._name = this.constructor.name;
|
106
114
|
this.container = options.container;
|
107
115
|
this.viewer = options.viewer || options.container.firstElementChild;
|
108
|
-
this.eventBus = options.eventBus || (0,
|
116
|
+
this.eventBus = options.eventBus || (0, _ui_utils.getGlobalEventBus)();
|
109
117
|
this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();
|
110
118
|
this.downloadManager = options.downloadManager || null;
|
119
|
+
this.findController = options.findController || null;
|
111
120
|
this.removePageBorders = options.removePageBorders || false;
|
112
121
|
this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;
|
113
|
-
this.enhanceTextSelection = options.enhanceTextSelection || false;
|
114
122
|
this.imageResourcesPath = options.imageResourcesPath || '';
|
115
123
|
this.renderInteractiveForms = options.renderInteractiveForms || false;
|
116
124
|
this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;
|
@@ -119,31 +127,39 @@ var BaseViewer = function () {
|
|
119
127
|
this.useOnlyCssZoom = options.useOnlyCssZoom || false;
|
120
128
|
this.maxCanvasPixels = options.maxCanvasPixels;
|
121
129
|
this.l10n = options.l10n || _ui_utils.NullL10n;
|
122
|
-
this.scrollMode = options.scrollMode || ScrollMode.VERTICAL;
|
123
|
-
this.spreadMode = options.spreadMode || SpreadMode.NONE;
|
124
130
|
this.defaultRenderingQueue = !options.renderingQueue;
|
131
|
+
|
125
132
|
if (this.defaultRenderingQueue) {
|
126
133
|
this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();
|
127
134
|
this.renderingQueue.setViewer(this);
|
128
135
|
} else {
|
129
136
|
this.renderingQueue = options.renderingQueue;
|
130
137
|
}
|
138
|
+
|
131
139
|
this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));
|
132
140
|
this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;
|
141
|
+
this._onBeforeDraw = this._onAfterDraw = null;
|
142
|
+
|
133
143
|
this._resetView();
|
144
|
+
|
134
145
|
if (this.removePageBorders) {
|
135
146
|
this.viewer.classList.add('removePageBorders');
|
136
147
|
}
|
137
|
-
|
148
|
+
|
149
|
+
Promise.resolve().then(function () {
|
150
|
+
_this.eventBus.dispatch('baseviewerinit', {
|
151
|
+
source: _this
|
152
|
+
});
|
153
|
+
});
|
138
154
|
}
|
139
155
|
|
140
156
|
_createClass(BaseViewer, [{
|
141
|
-
key:
|
157
|
+
key: "getPageView",
|
142
158
|
value: function getPageView(index) {
|
143
159
|
return this._pages[index];
|
144
160
|
}
|
145
161
|
}, {
|
146
|
-
key:
|
162
|
+
key: "_setCurrentPageNumber",
|
147
163
|
value: function _setCurrentPageNumber(val) {
|
148
164
|
var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
149
165
|
|
@@ -151,114 +167,156 @@ var BaseViewer = function () {
|
|
151
167
|
if (resetCurrentPageView) {
|
152
168
|
this._resetCurrentPageView();
|
153
169
|
}
|
154
|
-
|
170
|
+
|
171
|
+
return true;
|
155
172
|
}
|
173
|
+
|
156
174
|
if (!(0 < val && val <= this.pagesCount)) {
|
157
|
-
|
158
|
-
return;
|
175
|
+
return false;
|
159
176
|
}
|
160
|
-
|
177
|
+
|
178
|
+
this._currentPageNumber = val;
|
179
|
+
this.eventBus.dispatch('pagechanging', {
|
161
180
|
source: this,
|
162
181
|
pageNumber: val,
|
163
182
|
pageLabel: this._pageLabels && this._pageLabels[val - 1]
|
164
|
-
};
|
165
|
-
|
166
|
-
this.eventBus.dispatch('pagechanging', arg);
|
167
|
-
this.eventBus.dispatch('pagechange', arg);
|
183
|
+
});
|
184
|
+
|
168
185
|
if (resetCurrentPageView) {
|
169
186
|
this._resetCurrentPageView();
|
170
187
|
}
|
188
|
+
|
189
|
+
return true;
|
171
190
|
}
|
172
191
|
}, {
|
173
|
-
key:
|
192
|
+
key: "setDocument",
|
174
193
|
value: function setDocument(pdfDocument) {
|
175
|
-
var
|
194
|
+
var _this2 = this;
|
176
195
|
|
177
196
|
if (this.pdfDocument) {
|
178
197
|
this._cancelRendering();
|
198
|
+
|
179
199
|
this._resetView();
|
200
|
+
|
201
|
+
if (this.findController) {
|
202
|
+
this.findController.setDocument(null);
|
203
|
+
}
|
180
204
|
}
|
205
|
+
|
181
206
|
this.pdfDocument = pdfDocument;
|
207
|
+
|
182
208
|
if (!pdfDocument) {
|
183
209
|
return;
|
184
210
|
}
|
211
|
+
|
185
212
|
var pagesCount = pdfDocument.numPages;
|
186
213
|
var pagesCapability = (0, _pdf.createPromiseCapability)();
|
187
214
|
this.pagesPromise = pagesCapability.promise;
|
188
215
|
pagesCapability.promise.then(function () {
|
189
|
-
|
190
|
-
|
191
|
-
|
216
|
+
_this2._pageViewsReady = true;
|
217
|
+
|
218
|
+
_this2.eventBus.dispatch('pagesloaded', {
|
219
|
+
source: _this2,
|
192
220
|
pagesCount: pagesCount
|
193
221
|
});
|
194
222
|
});
|
195
|
-
var isOnePageRenderedResolved = false;
|
196
223
|
var onePageRenderedCapability = (0, _pdf.createPromiseCapability)();
|
197
224
|
this.onePageRendered = onePageRenderedCapability.promise;
|
198
|
-
var bindOnAfterAndBeforeDraw = function bindOnAfterAndBeforeDraw(pageView) {
|
199
|
-
pageView.onBeforeDraw = function () {
|
200
|
-
_this._buffer.push(pageView);
|
201
|
-
};
|
202
|
-
pageView.onAfterDraw = function () {
|
203
|
-
if (!isOnePageRenderedResolved) {
|
204
|
-
isOnePageRenderedResolved = true;
|
205
|
-
onePageRenderedCapability.resolve();
|
206
|
-
}
|
207
|
-
};
|
208
|
-
};
|
209
225
|
var firstPagePromise = pdfDocument.getPage(1);
|
210
226
|
this.firstPagePromise = firstPagePromise;
|
227
|
+
|
228
|
+
this._onBeforeDraw = function (evt) {
|
229
|
+
var pageView = _this2._pages[evt.pageNumber - 1];
|
230
|
+
|
231
|
+
if (!pageView) {
|
232
|
+
return;
|
233
|
+
}
|
234
|
+
|
235
|
+
_this2._buffer.push(pageView);
|
236
|
+
};
|
237
|
+
|
238
|
+
this.eventBus.on('pagerender', this._onBeforeDraw);
|
239
|
+
|
240
|
+
this._onAfterDraw = function (evt) {
|
241
|
+
if (evt.cssTransform || onePageRenderedCapability.settled) {
|
242
|
+
return;
|
243
|
+
}
|
244
|
+
|
245
|
+
onePageRenderedCapability.resolve();
|
246
|
+
|
247
|
+
_this2.eventBus.off('pagerendered', _this2._onAfterDraw);
|
248
|
+
|
249
|
+
_this2._onAfterDraw = null;
|
250
|
+
};
|
251
|
+
|
252
|
+
this.eventBus.on('pagerendered', this._onAfterDraw);
|
211
253
|
firstPagePromise.then(function (pdfPage) {
|
212
|
-
var scale =
|
213
|
-
var viewport = pdfPage.getViewport(
|
254
|
+
var scale = _this2.currentScale;
|
255
|
+
var viewport = pdfPage.getViewport({
|
256
|
+
scale: scale * _ui_utils.CSS_UNITS
|
257
|
+
});
|
258
|
+
|
214
259
|
for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {
|
215
260
|
var textLayerFactory = null;
|
216
|
-
|
217
|
-
|
261
|
+
|
262
|
+
if (_this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE) {
|
263
|
+
textLayerFactory = _this2;
|
218
264
|
}
|
265
|
+
|
219
266
|
var pageView = new _pdf_page_view.PDFPageView({
|
220
|
-
container:
|
221
|
-
eventBus:
|
267
|
+
container: _this2._setDocumentViewerElement,
|
268
|
+
eventBus: _this2.eventBus,
|
222
269
|
id: pageNum,
|
223
270
|
scale: scale,
|
224
271
|
defaultViewport: viewport.clone(),
|
225
|
-
renderingQueue:
|
272
|
+
renderingQueue: _this2.renderingQueue,
|
226
273
|
textLayerFactory: textLayerFactory,
|
227
|
-
textLayerMode:
|
228
|
-
annotationLayerFactory:
|
229
|
-
imageResourcesPath:
|
230
|
-
renderInteractiveForms:
|
231
|
-
renderer:
|
232
|
-
enableWebGL:
|
233
|
-
useOnlyCssZoom:
|
234
|
-
maxCanvasPixels:
|
235
|
-
l10n:
|
274
|
+
textLayerMode: _this2.textLayerMode,
|
275
|
+
annotationLayerFactory: _this2,
|
276
|
+
imageResourcesPath: _this2.imageResourcesPath,
|
277
|
+
renderInteractiveForms: _this2.renderInteractiveForms,
|
278
|
+
renderer: _this2.renderer,
|
279
|
+
enableWebGL: _this2.enableWebGL,
|
280
|
+
useOnlyCssZoom: _this2.useOnlyCssZoom,
|
281
|
+
maxCanvasPixels: _this2.maxCanvasPixels,
|
282
|
+
l10n: _this2.l10n
|
236
283
|
});
|
237
|
-
|
238
|
-
|
284
|
+
|
285
|
+
_this2._pages.push(pageView);
|
239
286
|
}
|
240
|
-
|
241
|
-
|
287
|
+
|
288
|
+
if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) {
|
289
|
+
_this2._updateSpreadMode();
|
242
290
|
}
|
291
|
+
|
243
292
|
onePageRenderedCapability.promise.then(function () {
|
293
|
+
if (_this2.findController) {
|
294
|
+
_this2.findController.setDocument(pdfDocument);
|
295
|
+
}
|
296
|
+
|
244
297
|
if (pdfDocument.loadingParams['disableAutoFetch']) {
|
245
298
|
pagesCapability.resolve();
|
246
299
|
return;
|
247
300
|
}
|
301
|
+
|
248
302
|
var getPagesLeft = pagesCount;
|
249
303
|
|
250
304
|
var _loop = function _loop(_pageNum) {
|
251
305
|
pdfDocument.getPage(_pageNum).then(function (pdfPage) {
|
252
|
-
var pageView =
|
306
|
+
var pageView = _this2._pages[_pageNum - 1];
|
307
|
+
|
253
308
|
if (!pageView.pdfPage) {
|
254
309
|
pageView.setPdfPage(pdfPage);
|
255
310
|
}
|
256
|
-
|
311
|
+
|
312
|
+
_this2.linkService.cachePageRef(_pageNum, pdfPage.ref);
|
313
|
+
|
257
314
|
if (--getPagesLeft === 0) {
|
258
315
|
pagesCapability.resolve();
|
259
316
|
}
|
260
317
|
}, function (reason) {
|
261
|
-
console.error(
|
318
|
+
console.error("Unable to get page ".concat(_pageNum, " to initialize viewer"), reason);
|
319
|
+
|
262
320
|
if (--getPagesLeft === 0) {
|
263
321
|
pagesCapability.resolve();
|
264
322
|
}
|
@@ -269,31 +327,34 @@ var BaseViewer = function () {
|
|
269
327
|
_loop(_pageNum);
|
270
328
|
}
|
271
329
|
});
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
}
|
276
|
-
|
277
|
-
|
330
|
+
|
331
|
+
_this2.eventBus.dispatch('pagesinit', {
|
332
|
+
source: _this2
|
333
|
+
});
|
334
|
+
|
335
|
+
if (_this2.defaultRenderingQueue) {
|
336
|
+
_this2.update();
|
278
337
|
}
|
279
|
-
})
|
338
|
+
})["catch"](function (reason) {
|
280
339
|
console.error('Unable to initialize viewer', reason);
|
281
340
|
});
|
282
341
|
}
|
283
342
|
}, {
|
284
|
-
key:
|
343
|
+
key: "setPageLabels",
|
285
344
|
value: function setPageLabels(labels) {
|
286
345
|
if (!this.pdfDocument) {
|
287
346
|
return;
|
288
347
|
}
|
348
|
+
|
289
349
|
if (!labels) {
|
290
350
|
this._pageLabels = null;
|
291
|
-
} else if (!(labels
|
351
|
+
} else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
|
292
352
|
this._pageLabels = null;
|
293
|
-
console.error(this._name
|
353
|
+
console.error("".concat(this._name, ".setPageLabels: Invalid page labels."));
|
294
354
|
} else {
|
295
355
|
this._pageLabels = labels;
|
296
356
|
}
|
357
|
+
|
297
358
|
for (var i = 0, ii = this._pages.length; i < ii; i++) {
|
298
359
|
var pageView = this._pages[i];
|
299
360
|
var label = this._pageLabels && this._pageLabels[i];
|
@@ -301,7 +362,7 @@ var BaseViewer = function () {
|
|
301
362
|
}
|
302
363
|
}
|
303
364
|
}, {
|
304
|
-
key:
|
365
|
+
key: "_resetView",
|
305
366
|
value: function _resetView() {
|
306
367
|
this._pages = [];
|
307
368
|
this._currentPageNumber = 1;
|
@@ -313,220 +374,278 @@ var BaseViewer = function () {
|
|
313
374
|
this._pagesRotation = 0;
|
314
375
|
this._pagesRequests = [];
|
315
376
|
this._pageViewsReady = false;
|
377
|
+
this._scrollMode = _ui_utils.ScrollMode.VERTICAL;
|
378
|
+
this._spreadMode = _ui_utils.SpreadMode.NONE;
|
379
|
+
|
380
|
+
if (this._onBeforeDraw) {
|
381
|
+
this.eventBus.off('pagerender', this._onBeforeDraw);
|
382
|
+
this._onBeforeDraw = null;
|
383
|
+
}
|
384
|
+
|
385
|
+
if (this._onAfterDraw) {
|
386
|
+
this.eventBus.off('pagerendered', this._onAfterDraw);
|
387
|
+
this._onAfterDraw = null;
|
388
|
+
}
|
389
|
+
|
316
390
|
this.viewer.textContent = '';
|
391
|
+
|
392
|
+
this._updateScrollMode();
|
317
393
|
}
|
318
394
|
}, {
|
319
|
-
key:
|
395
|
+
key: "_scrollUpdate",
|
320
396
|
value: function _scrollUpdate() {
|
321
397
|
if (this.pagesCount === 0) {
|
322
398
|
return;
|
323
399
|
}
|
400
|
+
|
324
401
|
this.update();
|
325
402
|
}
|
326
403
|
}, {
|
327
|
-
key:
|
404
|
+
key: "_scrollIntoView",
|
328
405
|
value: function _scrollIntoView(_ref) {
|
329
406
|
var pageDiv = _ref.pageDiv,
|
330
407
|
_ref$pageSpot = _ref.pageSpot,
|
331
|
-
pageSpot = _ref$pageSpot ===
|
408
|
+
pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
|
332
409
|
_ref$pageNumber = _ref.pageNumber,
|
333
|
-
pageNumber = _ref$pageNumber ===
|
334
|
-
|
335
|
-
throw new Error('Not implemented: _scrollIntoView');
|
410
|
+
pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;
|
411
|
+
(0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);
|
336
412
|
}
|
337
413
|
}, {
|
338
|
-
key:
|
339
|
-
value: function _setScaleDispatchEvent(newScale, newValue) {
|
340
|
-
var preset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
341
|
-
|
342
|
-
var arg = {
|
343
|
-
source: this,
|
344
|
-
scale: newScale,
|
345
|
-
presetValue: preset ? newValue : undefined
|
346
|
-
};
|
347
|
-
this.eventBus.dispatch('scalechanging', arg);
|
348
|
-
this.eventBus.dispatch('scalechange', arg);
|
349
|
-
}
|
350
|
-
}, {
|
351
|
-
key: '_setScaleUpdatePages',
|
414
|
+
key: "_setScaleUpdatePages",
|
352
415
|
value: function _setScaleUpdatePages(newScale, newValue) {
|
353
416
|
var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
354
417
|
var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
355
|
-
|
356
418
|
this._currentScaleValue = newValue.toString();
|
419
|
+
|
357
420
|
if (isSameScale(this._currentScale, newScale)) {
|
358
421
|
if (preset) {
|
359
|
-
this.
|
422
|
+
this.eventBus.dispatch('scalechanging', {
|
423
|
+
source: this,
|
424
|
+
scale: newScale,
|
425
|
+
presetValue: newValue
|
426
|
+
});
|
360
427
|
}
|
428
|
+
|
361
429
|
return;
|
362
430
|
}
|
431
|
+
|
363
432
|
for (var i = 0, ii = this._pages.length; i < ii; i++) {
|
364
433
|
this._pages[i].update(newScale);
|
365
434
|
}
|
435
|
+
|
366
436
|
this._currentScale = newScale;
|
437
|
+
|
367
438
|
if (!noScroll) {
|
368
439
|
var page = this._currentPageNumber,
|
369
|
-
dest
|
440
|
+
dest;
|
441
|
+
|
370
442
|
if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {
|
371
443
|
page = this._location.pageNumber;
|
372
|
-
dest = [null, {
|
444
|
+
dest = [null, {
|
445
|
+
name: 'XYZ'
|
446
|
+
}, this._location.left, this._location.top, null];
|
373
447
|
}
|
448
|
+
|
374
449
|
this.scrollPageIntoView({
|
375
450
|
pageNumber: page,
|
376
451
|
destArray: dest,
|
377
452
|
allowNegativeOffset: true
|
378
453
|
});
|
379
454
|
}
|
380
|
-
|
455
|
+
|
456
|
+
this.eventBus.dispatch('scalechanging', {
|
457
|
+
source: this,
|
458
|
+
scale: newScale,
|
459
|
+
presetValue: preset ? newValue : undefined
|
460
|
+
});
|
461
|
+
|
381
462
|
if (this.defaultRenderingQueue) {
|
382
463
|
this.update();
|
383
464
|
}
|
384
465
|
}
|
385
466
|
}, {
|
386
|
-
key:
|
467
|
+
key: "_setScale",
|
387
468
|
value: function _setScale(value) {
|
388
469
|
var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
389
|
-
|
390
470
|
var scale = parseFloat(value);
|
471
|
+
|
391
472
|
if (scale > 0) {
|
392
473
|
this._setScaleUpdatePages(scale, value, noScroll, false);
|
393
474
|
} else {
|
394
475
|
var currentPage = this._pages[this._currentPageNumber - 1];
|
476
|
+
|
395
477
|
if (!currentPage) {
|
396
478
|
return;
|
397
479
|
}
|
398
|
-
|
399
|
-
var
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
480
|
+
|
481
|
+
var noPadding = this.isInPresentationMode || this.removePageBorders;
|
482
|
+
var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING;
|
483
|
+
var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING;
|
484
|
+
|
485
|
+
if (!noPadding && this._isScrollModeHorizontal) {
|
486
|
+
var _ref2 = [vPadding, hPadding];
|
487
|
+
hPadding = _ref2[0];
|
488
|
+
vPadding = _ref2[1];
|
404
489
|
}
|
490
|
+
|
405
491
|
var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale;
|
406
492
|
var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;
|
493
|
+
|
407
494
|
switch (value) {
|
408
495
|
case 'page-actual':
|
409
496
|
scale = 1;
|
410
497
|
break;
|
498
|
+
|
411
499
|
case 'page-width':
|
412
500
|
scale = pageWidthScale;
|
413
501
|
break;
|
502
|
+
|
414
503
|
case 'page-height':
|
415
504
|
scale = pageHeightScale;
|
416
505
|
break;
|
506
|
+
|
417
507
|
case 'page-fit':
|
418
508
|
scale = Math.min(pageWidthScale, pageHeightScale);
|
419
509
|
break;
|
510
|
+
|
420
511
|
case 'auto':
|
421
512
|
var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);
|
422
513
|
scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);
|
423
514
|
break;
|
515
|
+
|
424
516
|
default:
|
425
|
-
console.error(this._name
|
517
|
+
console.error("".concat(this._name, "._setScale: \"").concat(value, "\" is an unknown zoom value."));
|
426
518
|
return;
|
427
519
|
}
|
520
|
+
|
428
521
|
this._setScaleUpdatePages(scale, value, noScroll, true);
|
429
522
|
}
|
430
523
|
}
|
431
524
|
}, {
|
432
|
-
key:
|
525
|
+
key: "_resetCurrentPageView",
|
433
526
|
value: function _resetCurrentPageView() {
|
434
527
|
if (this.isInPresentationMode) {
|
435
528
|
this._setScale(this._currentScaleValue, true);
|
436
529
|
}
|
530
|
+
|
437
531
|
var pageView = this._pages[this._currentPageNumber - 1];
|
438
|
-
|
532
|
+
|
533
|
+
this._scrollIntoView({
|
534
|
+
pageDiv: pageView.div
|
535
|
+
});
|
439
536
|
}
|
440
537
|
}, {
|
441
|
-
key:
|
442
|
-
value: function scrollPageIntoView(
|
538
|
+
key: "scrollPageIntoView",
|
539
|
+
value: function scrollPageIntoView(_ref3) {
|
540
|
+
var pageNumber = _ref3.pageNumber,
|
541
|
+
_ref3$destArray = _ref3.destArray,
|
542
|
+
destArray = _ref3$destArray === void 0 ? null : _ref3$destArray,
|
543
|
+
_ref3$allowNegativeOf = _ref3.allowNegativeOffset,
|
544
|
+
allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf;
|
545
|
+
|
443
546
|
if (!this.pdfDocument) {
|
444
547
|
return;
|
445
548
|
}
|
446
|
-
|
447
|
-
var
|
448
|
-
|
449
|
-
if (
|
450
|
-
this.
|
549
|
+
|
550
|
+
var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];
|
551
|
+
|
552
|
+
if (!pageView) {
|
553
|
+
console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(pageNumber, "\" is not a valid pageNumber parameter."));
|
451
554
|
return;
|
452
555
|
}
|
453
|
-
|
454
|
-
if (!
|
455
|
-
|
556
|
+
|
557
|
+
if (this.isInPresentationMode || !destArray) {
|
558
|
+
this._setCurrentPageNumber(pageNumber, true);
|
559
|
+
|
456
560
|
return;
|
457
561
|
}
|
562
|
+
|
458
563
|
var x = 0,
|
459
564
|
y = 0;
|
460
565
|
var width = 0,
|
461
566
|
height = 0,
|
462
|
-
widthScale
|
463
|
-
heightScale
|
567
|
+
widthScale,
|
568
|
+
heightScale;
|
464
569
|
var changeOrientation = pageView.rotation % 180 === 0 ? false : true;
|
465
570
|
var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS;
|
466
571
|
var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS;
|
467
572
|
var scale = 0;
|
468
|
-
|
573
|
+
|
574
|
+
switch (destArray[1].name) {
|
469
575
|
case 'XYZ':
|
470
|
-
x =
|
471
|
-
y =
|
472
|
-
scale =
|
576
|
+
x = destArray[2];
|
577
|
+
y = destArray[3];
|
578
|
+
scale = destArray[4];
|
473
579
|
x = x !== null ? x : 0;
|
474
580
|
y = y !== null ? y : pageHeight;
|
475
581
|
break;
|
582
|
+
|
476
583
|
case 'Fit':
|
477
584
|
case 'FitB':
|
478
585
|
scale = 'page-fit';
|
479
586
|
break;
|
587
|
+
|
480
588
|
case 'FitH':
|
481
589
|
case 'FitBH':
|
482
|
-
y =
|
590
|
+
y = destArray[2];
|
483
591
|
scale = 'page-width';
|
592
|
+
|
484
593
|
if (y === null && this._location) {
|
485
594
|
x = this._location.left;
|
486
595
|
y = this._location.top;
|
487
596
|
}
|
597
|
+
|
488
598
|
break;
|
599
|
+
|
489
600
|
case 'FitV':
|
490
601
|
case 'FitBV':
|
491
|
-
x =
|
602
|
+
x = destArray[2];
|
492
603
|
width = pageWidth;
|
493
604
|
height = pageHeight;
|
494
605
|
scale = 'page-height';
|
495
606
|
break;
|
607
|
+
|
496
608
|
case 'FitR':
|
497
|
-
x =
|
498
|
-
y =
|
499
|
-
width =
|
500
|
-
height =
|
609
|
+
x = destArray[2];
|
610
|
+
y = destArray[3];
|
611
|
+
width = destArray[4] - x;
|
612
|
+
height = destArray[5] - y;
|
501
613
|
var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;
|
502
614
|
var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;
|
503
615
|
widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS;
|
504
616
|
heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;
|
505
617
|
scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));
|
506
618
|
break;
|
619
|
+
|
507
620
|
default:
|
508
|
-
console.error(this._name
|
621
|
+
console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(destArray[1].name, "\" is not a valid destination type."));
|
509
622
|
return;
|
510
623
|
}
|
624
|
+
|
511
625
|
if (scale && scale !== this._currentScale) {
|
512
626
|
this.currentScaleValue = scale;
|
513
627
|
} else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {
|
514
628
|
this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
|
515
629
|
}
|
516
|
-
|
630
|
+
|
631
|
+
if (scale === 'page-fit' && !destArray[4]) {
|
517
632
|
this._scrollIntoView({
|
518
633
|
pageDiv: pageView.div,
|
519
634
|
pageNumber: pageNumber
|
520
635
|
});
|
636
|
+
|
521
637
|
return;
|
522
638
|
}
|
639
|
+
|
523
640
|
var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];
|
524
641
|
var left = Math.min(boundingRect[0][0], boundingRect[1][0]);
|
525
642
|
var top = Math.min(boundingRect[0][1], boundingRect[1][1]);
|
643
|
+
|
526
644
|
if (!allowNegativeOffset) {
|
527
645
|
left = Math.max(left, 0);
|
528
646
|
top = Math.max(top, 0);
|
529
647
|
}
|
648
|
+
|
530
649
|
this._scrollIntoView({
|
531
650
|
pageDiv: pageView.div,
|
532
651
|
pageSpot: {
|
@@ -537,13 +656,7 @@ var BaseViewer = function () {
|
|
537
656
|
});
|
538
657
|
}
|
539
658
|
}, {
|
540
|
-
key:
|
541
|
-
value: function _resizeBuffer(numVisiblePages, visiblePages) {
|
542
|
-
var suggestedCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);
|
543
|
-
this._buffer.resize(suggestedCacheSize, visiblePages);
|
544
|
-
}
|
545
|
-
}, {
|
546
|
-
key: '_updateLocation',
|
659
|
+
key: "_updateLocation",
|
547
660
|
value: function _updateLocation(firstPage) {
|
548
661
|
var currentScale = this._currentScale;
|
549
662
|
var currentScaleValue = this._currentScaleValue;
|
@@ -567,27 +680,93 @@ var BaseViewer = function () {
|
|
567
680
|
};
|
568
681
|
}
|
569
682
|
}, {
|
570
|
-
key:
|
683
|
+
key: "_updateHelper",
|
684
|
+
value: function _updateHelper(visiblePages) {
|
685
|
+
throw new Error('Not implemented: _updateHelper');
|
686
|
+
}
|
687
|
+
}, {
|
688
|
+
key: "update",
|
571
689
|
value: function update() {
|
572
|
-
|
690
|
+
var visible = this._getVisiblePages();
|
691
|
+
|
692
|
+
var visiblePages = visible.views,
|
693
|
+
numVisiblePages = visiblePages.length;
|
694
|
+
|
695
|
+
if (numVisiblePages === 0) {
|
696
|
+
return;
|
697
|
+
}
|
698
|
+
|
699
|
+
var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);
|
700
|
+
|
701
|
+
this._buffer.resize(newCacheSize, visiblePages);
|
702
|
+
|
703
|
+
this.renderingQueue.renderHighestPriority(visible);
|
704
|
+
|
705
|
+
this._updateHelper(visiblePages);
|
706
|
+
|
707
|
+
this._updateLocation(visible.first);
|
708
|
+
|
709
|
+
this.eventBus.dispatch('updateviewarea', {
|
710
|
+
source: this,
|
711
|
+
location: this._location
|
712
|
+
});
|
573
713
|
}
|
574
714
|
}, {
|
575
|
-
key:
|
715
|
+
key: "containsElement",
|
576
716
|
value: function containsElement(element) {
|
577
717
|
return this.container.contains(element);
|
578
718
|
}
|
579
719
|
}, {
|
580
|
-
key:
|
720
|
+
key: "focus",
|
581
721
|
value: function focus() {
|
582
722
|
this.container.focus();
|
583
723
|
}
|
584
724
|
}, {
|
585
|
-
key:
|
725
|
+
key: "_getCurrentVisiblePage",
|
726
|
+
value: function _getCurrentVisiblePage() {
|
727
|
+
if (!this.pagesCount) {
|
728
|
+
return {
|
729
|
+
views: []
|
730
|
+
};
|
731
|
+
}
|
732
|
+
|
733
|
+
var pageView = this._pages[this._currentPageNumber - 1];
|
734
|
+
var element = pageView.div;
|
735
|
+
var view = {
|
736
|
+
id: pageView.id,
|
737
|
+
x: element.offsetLeft + element.clientLeft,
|
738
|
+
y: element.offsetTop + element.clientTop,
|
739
|
+
view: pageView
|
740
|
+
};
|
741
|
+
return {
|
742
|
+
first: view,
|
743
|
+
last: view,
|
744
|
+
views: [view]
|
745
|
+
};
|
746
|
+
}
|
747
|
+
}, {
|
748
|
+
key: "_getVisiblePages",
|
586
749
|
value: function _getVisiblePages() {
|
587
|
-
|
750
|
+
return (0, _ui_utils.getVisibleElements)(this.container, this._pages, true, this._isScrollModeHorizontal);
|
588
751
|
}
|
589
752
|
}, {
|
590
|
-
key:
|
753
|
+
key: "isPageVisible",
|
754
|
+
value: function isPageVisible(pageNumber) {
|
755
|
+
if (!this.pdfDocument) {
|
756
|
+
return false;
|
757
|
+
}
|
758
|
+
|
759
|
+
if (this.pageNumber < 1 || pageNumber > this.pagesCount) {
|
760
|
+
console.error("".concat(this._name, ".isPageVisible: \"").concat(pageNumber, "\" is out of bounds."));
|
761
|
+
return false;
|
762
|
+
}
|
763
|
+
|
764
|
+
return this._getVisiblePages().views.some(function (view) {
|
765
|
+
return view.id === pageNumber;
|
766
|
+
});
|
767
|
+
}
|
768
|
+
}, {
|
769
|
+
key: "cleanup",
|
591
770
|
value: function cleanup() {
|
592
771
|
for (var i = 0, ii = this._pages.length; i < ii; i++) {
|
593
772
|
if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {
|
@@ -596,7 +775,7 @@ var BaseViewer = function () {
|
|
596
775
|
}
|
597
776
|
}
|
598
777
|
}, {
|
599
|
-
key:
|
778
|
+
key: "_cancelRendering",
|
600
779
|
value: function _cancelRendering() {
|
601
780
|
for (var i = 0, ii = this._pages.length; i < ii; i++) {
|
602
781
|
if (this._pages[i]) {
|
@@ -605,58 +784,58 @@ var BaseViewer = function () {
|
|
605
784
|
}
|
606
785
|
}
|
607
786
|
}, {
|
608
|
-
key:
|
787
|
+
key: "_ensurePdfPageLoaded",
|
609
788
|
value: function _ensurePdfPageLoaded(pageView) {
|
610
|
-
var
|
789
|
+
var _this3 = this;
|
611
790
|
|
612
791
|
if (pageView.pdfPage) {
|
613
792
|
return Promise.resolve(pageView.pdfPage);
|
614
793
|
}
|
794
|
+
|
615
795
|
var pageNumber = pageView.id;
|
796
|
+
|
616
797
|
if (this._pagesRequests[pageNumber]) {
|
617
798
|
return this._pagesRequests[pageNumber];
|
618
799
|
}
|
800
|
+
|
619
801
|
var promise = this.pdfDocument.getPage(pageNumber).then(function (pdfPage) {
|
620
802
|
if (!pageView.pdfPage) {
|
621
803
|
pageView.setPdfPage(pdfPage);
|
622
804
|
}
|
623
|
-
|
805
|
+
|
806
|
+
_this3._pagesRequests[pageNumber] = null;
|
624
807
|
return pdfPage;
|
625
|
-
})
|
808
|
+
})["catch"](function (reason) {
|
626
809
|
console.error('Unable to get page for page view', reason);
|
627
|
-
|
810
|
+
_this3._pagesRequests[pageNumber] = null;
|
628
811
|
});
|
629
812
|
this._pagesRequests[pageNumber] = promise;
|
630
813
|
return promise;
|
631
814
|
}
|
632
815
|
}, {
|
633
|
-
key:
|
816
|
+
key: "forceRendering",
|
634
817
|
value: function forceRendering(currentlyVisiblePages) {
|
635
|
-
var
|
818
|
+
var _this4 = this;
|
636
819
|
|
637
820
|
var visiblePages = currentlyVisiblePages || this._getVisiblePages();
|
638
|
-
|
821
|
+
|
822
|
+
var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down;
|
639
823
|
var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead);
|
824
|
+
|
640
825
|
if (pageView) {
|
641
826
|
this._ensurePdfPageLoaded(pageView).then(function () {
|
642
|
-
|
827
|
+
_this4.renderingQueue.renderView(pageView);
|
643
828
|
});
|
829
|
+
|
644
830
|
return true;
|
645
831
|
}
|
832
|
+
|
646
833
|
return false;
|
647
834
|
}
|
648
835
|
}, {
|
649
|
-
key:
|
650
|
-
value: function getPageTextContent(pageIndex) {
|
651
|
-
return this.pdfDocument.getPage(pageIndex + 1).then(function (page) {
|
652
|
-
return page.getTextContent({ normalizeWhitespace: true });
|
653
|
-
});
|
654
|
-
}
|
655
|
-
}, {
|
656
|
-
key: 'createTextLayerBuilder',
|
836
|
+
key: "createTextLayerBuilder",
|
657
837
|
value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {
|
658
838
|
var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
659
|
-
|
660
839
|
return new _text_layer_builder.TextLayerBuilder({
|
661
840
|
textLayerDiv: textLayerDiv,
|
662
841
|
eventBus: this.eventBus,
|
@@ -667,12 +846,11 @@ var BaseViewer = function () {
|
|
667
846
|
});
|
668
847
|
}
|
669
848
|
}, {
|
670
|
-
key:
|
849
|
+
key: "createAnnotationLayerBuilder",
|
671
850
|
value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {
|
672
851
|
var imageResourcesPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
673
852
|
var renderInteractiveForms = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
674
853
|
var l10n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _ui_utils.NullL10n;
|
675
|
-
|
676
854
|
return new _annotation_layer_builder.AnnotationLayerBuilder({
|
677
855
|
pageDiv: pageDiv,
|
678
856
|
pdfPage: pdfPage,
|
@@ -684,29 +862,29 @@ var BaseViewer = function () {
|
|
684
862
|
});
|
685
863
|
}
|
686
864
|
}, {
|
687
|
-
key:
|
688
|
-
value: function setFindController(findController) {
|
689
|
-
this.findController = findController;
|
690
|
-
}
|
691
|
-
}, {
|
692
|
-
key: 'getPagesOverview',
|
865
|
+
key: "getPagesOverview",
|
693
866
|
value: function getPagesOverview() {
|
694
867
|
var pagesOverview = this._pages.map(function (pageView) {
|
695
|
-
var viewport = pageView.pdfPage.getViewport(
|
868
|
+
var viewport = pageView.pdfPage.getViewport({
|
869
|
+
scale: 1
|
870
|
+
});
|
696
871
|
return {
|
697
872
|
width: viewport.width,
|
698
873
|
height: viewport.height,
|
699
874
|
rotation: viewport.rotation
|
700
875
|
};
|
701
876
|
});
|
877
|
+
|
702
878
|
if (!this.enablePrintAutoRotate) {
|
703
879
|
return pagesOverview;
|
704
880
|
}
|
881
|
+
|
705
882
|
var isFirstPagePortrait = (0, _ui_utils.isPortraitOrientation)(pagesOverview[0]);
|
706
883
|
return pagesOverview.map(function (size) {
|
707
884
|
if (isFirstPagePortrait === (0, _ui_utils.isPortraitOrientation)(size)) {
|
708
885
|
return size;
|
709
886
|
}
|
887
|
+
|
710
888
|
return {
|
711
889
|
width: size.height,
|
712
890
|
height: size.width,
|
@@ -715,52 +893,81 @@ var BaseViewer = function () {
|
|
715
893
|
});
|
716
894
|
}
|
717
895
|
}, {
|
718
|
-
key:
|
719
|
-
value: function
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
this.scrollPageIntoView({ pageNumber: pageNumber });
|
729
|
-
this.update();
|
896
|
+
key: "_updateScrollMode",
|
897
|
+
value: function _updateScrollMode() {
|
898
|
+
var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
899
|
+
var scrollMode = this._scrollMode,
|
900
|
+
viewer = this.viewer;
|
901
|
+
viewer.classList.toggle('scrollHorizontal', scrollMode === _ui_utils.ScrollMode.HORIZONTAL);
|
902
|
+
viewer.classList.toggle('scrollWrapped', scrollMode === _ui_utils.ScrollMode.WRAPPED);
|
903
|
+
|
904
|
+
if (!this.pdfDocument || !pageNumber) {
|
905
|
+
return;
|
730
906
|
}
|
907
|
+
|
908
|
+
if (this._currentScaleValue && isNaN(this._currentScaleValue)) {
|
909
|
+
this._setScale(this._currentScaleValue, true);
|
910
|
+
}
|
911
|
+
|
912
|
+
this._setCurrentPageNumber(pageNumber, true);
|
913
|
+
|
914
|
+
this.update();
|
731
915
|
}
|
732
916
|
}, {
|
733
|
-
key:
|
734
|
-
value: function
|
735
|
-
var
|
736
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
|
746
|
-
|
917
|
+
key: "_updateSpreadMode",
|
918
|
+
value: function _updateSpreadMode() {
|
919
|
+
var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
920
|
+
|
921
|
+
if (!this.pdfDocument) {
|
922
|
+
return;
|
923
|
+
}
|
924
|
+
|
925
|
+
var viewer = this.viewer,
|
926
|
+
pages = this._pages;
|
927
|
+
viewer.textContent = '';
|
928
|
+
|
929
|
+
if (this._spreadMode === _ui_utils.SpreadMode.NONE) {
|
930
|
+
for (var i = 0, iMax = pages.length; i < iMax; ++i) {
|
931
|
+
viewer.appendChild(pages[i].div);
|
932
|
+
}
|
933
|
+
} else {
|
934
|
+
var parity = this._spreadMode - 1;
|
935
|
+
var spread = null;
|
936
|
+
|
937
|
+
for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_i) {
|
938
|
+
if (spread === null) {
|
939
|
+
spread = document.createElement('div');
|
940
|
+
spread.className = 'spread';
|
941
|
+
viewer.appendChild(spread);
|
942
|
+
} else if (_i % 2 === parity) {
|
943
|
+
spread = spread.cloneNode(false);
|
944
|
+
viewer.appendChild(spread);
|
945
|
+
}
|
946
|
+
|
947
|
+
spread.appendChild(pages[_i].div);
|
948
|
+
}
|
747
949
|
}
|
950
|
+
|
951
|
+
if (!pageNumber) {
|
952
|
+
return;
|
953
|
+
}
|
954
|
+
|
955
|
+
this._setCurrentPageNumber(pageNumber, true);
|
956
|
+
|
957
|
+
this.update();
|
748
958
|
}
|
749
959
|
}, {
|
750
|
-
key:
|
751
|
-
value: function _regroupSpreads() {}
|
752
|
-
}, {
|
753
|
-
key: 'pagesCount',
|
960
|
+
key: "pagesCount",
|
754
961
|
get: function get() {
|
755
962
|
return this._pages.length;
|
756
963
|
}
|
757
964
|
}, {
|
758
|
-
key:
|
965
|
+
key: "pageViewsReady",
|
759
966
|
get: function get() {
|
760
967
|
return this._pageViewsReady;
|
761
968
|
}
|
762
969
|
}, {
|
763
|
-
key:
|
970
|
+
key: "currentPageNumber",
|
764
971
|
get: function get() {
|
765
972
|
return this._currentPageNumber;
|
766
973
|
},
|
@@ -768,42 +975,57 @@ var BaseViewer = function () {
|
|
768
975
|
if (!Number.isInteger(val)) {
|
769
976
|
throw new Error('Invalid page number.');
|
770
977
|
}
|
978
|
+
|
771
979
|
if (!this.pdfDocument) {
|
772
980
|
return;
|
773
981
|
}
|
774
|
-
|
982
|
+
|
983
|
+
if (!this._setCurrentPageNumber(val, true)) {
|
984
|
+
console.error("".concat(this._name, ".currentPageNumber: \"").concat(val, "\" is not a valid page."));
|
985
|
+
}
|
775
986
|
}
|
776
987
|
}, {
|
777
|
-
key:
|
988
|
+
key: "currentPageLabel",
|
778
989
|
get: function get() {
|
779
990
|
return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];
|
780
991
|
},
|
781
992
|
set: function set(val) {
|
782
|
-
|
993
|
+
if (!this.pdfDocument) {
|
994
|
+
return;
|
995
|
+
}
|
996
|
+
|
997
|
+
var page = val | 0;
|
998
|
+
|
783
999
|
if (this._pageLabels) {
|
784
1000
|
var i = this._pageLabels.indexOf(val);
|
1001
|
+
|
785
1002
|
if (i >= 0) {
|
786
|
-
|
1003
|
+
page = i + 1;
|
787
1004
|
}
|
788
1005
|
}
|
789
|
-
|
1006
|
+
|
1007
|
+
if (!this._setCurrentPageNumber(page, true)) {
|
1008
|
+
console.error("".concat(this._name, ".currentPageLabel: \"").concat(val, "\" is not a valid page."));
|
1009
|
+
}
|
790
1010
|
}
|
791
1011
|
}, {
|
792
|
-
key:
|
1012
|
+
key: "currentScale",
|
793
1013
|
get: function get() {
|
794
1014
|
return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;
|
795
1015
|
},
|
796
1016
|
set: function set(val) {
|
797
1017
|
if (isNaN(val)) {
|
798
|
-
throw new Error('Invalid numeric scale');
|
1018
|
+
throw new Error('Invalid numeric scale.');
|
799
1019
|
}
|
1020
|
+
|
800
1021
|
if (!this.pdfDocument) {
|
801
1022
|
return;
|
802
1023
|
}
|
1024
|
+
|
803
1025
|
this._setScale(val, false);
|
804
1026
|
}
|
805
1027
|
}, {
|
806
|
-
key:
|
1028
|
+
key: "currentScaleValue",
|
807
1029
|
get: function get() {
|
808
1030
|
return this._currentScaleValue;
|
809
1031
|
},
|
@@ -811,10 +1033,11 @@ var BaseViewer = function () {
|
|
811
1033
|
if (!this.pdfDocument) {
|
812
1034
|
return;
|
813
1035
|
}
|
1036
|
+
|
814
1037
|
this._setScale(val, false);
|
815
1038
|
}
|
816
1039
|
}, {
|
817
|
-
key:
|
1040
|
+
key: "pagesRotation",
|
818
1041
|
get: function get() {
|
819
1042
|
return this._pagesRotation;
|
820
1043
|
},
|
@@ -822,72 +1045,129 @@ var BaseViewer = function () {
|
|
822
1045
|
if (!(0, _ui_utils.isValidRotation)(rotation)) {
|
823
1046
|
throw new Error('Invalid pages rotation angle.');
|
824
1047
|
}
|
1048
|
+
|
825
1049
|
if (!this.pdfDocument) {
|
826
1050
|
return;
|
827
1051
|
}
|
1052
|
+
|
828
1053
|
if (this._pagesRotation === rotation) {
|
829
1054
|
return;
|
830
1055
|
}
|
1056
|
+
|
831
1057
|
this._pagesRotation = rotation;
|
832
1058
|
var pageNumber = this._currentPageNumber;
|
1059
|
+
|
833
1060
|
for (var i = 0, ii = this._pages.length; i < ii; i++) {
|
834
1061
|
var pageView = this._pages[i];
|
835
1062
|
pageView.update(pageView.scale, rotation);
|
836
1063
|
}
|
1064
|
+
|
837
1065
|
if (this._currentScaleValue) {
|
838
1066
|
this._setScale(this._currentScaleValue, true);
|
839
1067
|
}
|
1068
|
+
|
840
1069
|
this.eventBus.dispatch('rotationchanging', {
|
841
1070
|
source: this,
|
842
1071
|
pagesRotation: rotation,
|
843
1072
|
pageNumber: pageNumber
|
844
1073
|
});
|
1074
|
+
|
845
1075
|
if (this.defaultRenderingQueue) {
|
846
1076
|
this.update();
|
847
1077
|
}
|
848
1078
|
}
|
849
1079
|
}, {
|
850
|
-
key:
|
1080
|
+
key: "_setDocumentViewerElement",
|
851
1081
|
get: function get() {
|
852
1082
|
throw new Error('Not implemented: _setDocumentViewerElement');
|
853
1083
|
}
|
854
1084
|
}, {
|
855
|
-
key:
|
1085
|
+
key: "_isScrollModeHorizontal",
|
1086
|
+
get: function get() {
|
1087
|
+
return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;
|
1088
|
+
}
|
1089
|
+
}, {
|
1090
|
+
key: "isInPresentationMode",
|
856
1091
|
get: function get() {
|
857
1092
|
return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;
|
858
1093
|
}
|
859
1094
|
}, {
|
860
|
-
key:
|
1095
|
+
key: "isChangingPresentationMode",
|
861
1096
|
get: function get() {
|
862
1097
|
return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;
|
863
1098
|
}
|
864
1099
|
}, {
|
865
|
-
key:
|
1100
|
+
key: "isHorizontalScrollbarEnabled",
|
866
1101
|
get: function get() {
|
867
1102
|
return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;
|
868
1103
|
}
|
869
1104
|
}, {
|
870
|
-
key:
|
1105
|
+
key: "isVerticalScrollbarEnabled",
|
871
1106
|
get: function get() {
|
872
1107
|
return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;
|
873
1108
|
}
|
874
1109
|
}, {
|
875
|
-
key:
|
1110
|
+
key: "hasEqualPageSizes",
|
876
1111
|
get: function get() {
|
877
1112
|
var firstPageView = this._pages[0];
|
1113
|
+
|
878
1114
|
for (var i = 1, ii = this._pages.length; i < ii; ++i) {
|
879
1115
|
var pageView = this._pages[i];
|
1116
|
+
|
880
1117
|
if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {
|
881
1118
|
return false;
|
882
1119
|
}
|
883
1120
|
}
|
1121
|
+
|
884
1122
|
return true;
|
885
1123
|
}
|
1124
|
+
}, {
|
1125
|
+
key: "scrollMode",
|
1126
|
+
get: function get() {
|
1127
|
+
return this._scrollMode;
|
1128
|
+
},
|
1129
|
+
set: function set(mode) {
|
1130
|
+
if (this._scrollMode === mode) {
|
1131
|
+
return;
|
1132
|
+
}
|
1133
|
+
|
1134
|
+
if (!(0, _ui_utils.isValidScrollMode)(mode)) {
|
1135
|
+
throw new Error("Invalid scroll mode: ".concat(mode));
|
1136
|
+
}
|
1137
|
+
|
1138
|
+
this._scrollMode = mode;
|
1139
|
+
this.eventBus.dispatch('scrollmodechanged', {
|
1140
|
+
source: this,
|
1141
|
+
mode: mode
|
1142
|
+
});
|
1143
|
+
|
1144
|
+
this._updateScrollMode(this._currentPageNumber);
|
1145
|
+
}
|
1146
|
+
}, {
|
1147
|
+
key: "spreadMode",
|
1148
|
+
get: function get() {
|
1149
|
+
return this._spreadMode;
|
1150
|
+
},
|
1151
|
+
set: function set(mode) {
|
1152
|
+
if (this._spreadMode === mode) {
|
1153
|
+
return;
|
1154
|
+
}
|
1155
|
+
|
1156
|
+
if (!(0, _ui_utils.isValidSpreadMode)(mode)) {
|
1157
|
+
throw new Error("Invalid spread mode: ".concat(mode));
|
1158
|
+
}
|
1159
|
+
|
1160
|
+
this._spreadMode = mode;
|
1161
|
+
this.eventBus.dispatch('spreadmodechanged', {
|
1162
|
+
source: this,
|
1163
|
+
mode: mode
|
1164
|
+
});
|
1165
|
+
|
1166
|
+
this._updateSpreadMode(this._currentPageNumber);
|
1167
|
+
}
|
886
1168
|
}]);
|
887
1169
|
|
888
1170
|
return BaseViewer;
|
889
1171
|
}();
|
890
1172
|
|
891
|
-
exports.BaseViewer = BaseViewer;
|
892
|
-
exports.ScrollMode = ScrollMode;
|
893
|
-
exports.SpreadMode = SpreadMode;
|
1173
|
+
exports.BaseViewer = BaseViewer;
|