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