pdfjs-dist 2.2.228 → 2.6.347
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/README.md +4 -0
- package/bower.json +1 -1
- package/build/pdf.js +8816 -19300
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +22 -1
- package/build/pdf.worker.entry.js +5 -3
- package/build/pdf.worker.js +27185 -35746
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +22 -1
- package/es5/build/pdf.js +26665 -0
- package/es5/build/pdf.js.map +1 -0
- package/es5/build/pdf.min.js +22 -0
- package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
- package/es5/build/pdf.worker.js +61231 -0
- package/es5/build/pdf.worker.js.map +1 -0
- package/es5/build/pdf.worker.min.js +22 -0
- package/es5/image_decoders/pdf.image_decoders.js +12529 -0
- package/es5/image_decoders/pdf.image_decoders.js.map +1 -0
- package/es5/image_decoders/pdf.image_decoders.min.js +22 -0
- package/es5/web/images/annotation-check.svg +11 -0
- package/es5/web/images/annotation-comment.svg +16 -0
- package/es5/web/images/annotation-help.svg +26 -0
- package/es5/web/images/annotation-insert.svg +10 -0
- package/es5/web/images/annotation-key.svg +11 -0
- package/es5/web/images/annotation-newparagraph.svg +11 -0
- package/es5/web/images/annotation-noicon.svg +7 -0
- package/es5/web/images/annotation-note.svg +42 -0
- package/es5/web/images/annotation-paragraph.svg +16 -0
- package/es5/web/images/loading-icon.gif +0 -0
- package/es5/web/images/shadow.png +0 -0
- package/es5/web/pdf_viewer.css +406 -0
- package/es5/web/pdf_viewer.js +7886 -0
- package/es5/web/pdf_viewer.js.map +1 -0
- package/image_decoders/pdf.image_decoders.js +1498 -4832
- package/image_decoders/pdf.image_decoders.js.map +1 -1
- package/image_decoders/pdf.image_decoders.min.js +22 -1
- package/lib/README.md +7 -0
- package/lib/core/annotation.js +1144 -927
- package/lib/core/arithmetic_decoder.js +81 -97
- package/lib/core/bidi.js +54 -46
- package/lib/core/ccitt.js +88 -81
- package/lib/core/ccitt_stream.js +15 -14
- package/lib/core/cff_parser.js +747 -716
- package/lib/core/charsets.js +4 -4
- package/lib/core/chunked_stream.js +462 -553
- package/lib/core/cmap.js +231 -277
- package/lib/core/colorspace.js +715 -857
- package/lib/core/core_utils.js +57 -52
- package/lib/core/crypto.js +416 -437
- package/lib/core/document.js +629 -670
- package/lib/core/encodings.js +15 -15
- package/lib/core/evaluator.js +3229 -2800
- package/lib/core/font_renderer.js +135 -178
- package/lib/core/fonts.js +602 -534
- package/lib/core/function.js +355 -279
- package/lib/core/glyphlist.js +4527 -4526
- package/lib/core/image.js +442 -439
- package/lib/core/image_utils.js +221 -61
- package/lib/core/jbig2.js +325 -316
- package/lib/core/jbig2_stream.js +18 -17
- package/lib/core/jpeg_stream.js +21 -26
- package/lib/core/jpg.js +289 -233
- package/lib/core/jpx.js +161 -143
- package/lib/core/jpx_stream.js +28 -28
- package/lib/core/metrics.js +2928 -2928
- package/lib/core/murmurhash3.js +87 -102
- package/lib/core/obj.js +1343 -1300
- package/lib/core/operator_list.js +90 -67
- package/lib/core/parser.js +990 -987
- package/lib/core/pattern.js +105 -77
- package/lib/core/pdf_manager.js +149 -316
- package/lib/core/primitives.js +156 -104
- package/lib/core/ps_parser.js +175 -214
- package/lib/core/standard_fonts.js +237 -236
- package/lib/core/stream.js +94 -74
- package/lib/core/type1_parser.js +89 -69
- package/lib/core/unicode.js +1654 -1654
- package/lib/core/worker.js +275 -290
- package/lib/core/worker_stream.js +101 -210
- package/lib/core/writer.js +242 -0
- package/lib/display/annotation_layer.js +772 -1041
- package/lib/display/annotation_storage.js +89 -0
- package/lib/display/api.js +1575 -1868
- package/lib/display/api_compatibility.js +12 -17
- package/lib/display/canvas.js +370 -222
- package/lib/display/content_disposition.js +40 -59
- package/lib/display/display_utils.js +341 -536
- package/lib/display/fetch_stream.js +188 -304
- package/lib/display/font_loader.js +282 -414
- package/lib/display/metadata.js +81 -99
- package/lib/display/network.js +362 -511
- package/lib/display/network_utils.js +25 -18
- package/lib/display/node_stream.js +283 -465
- package/lib/display/node_utils.js +87 -0
- package/lib/display/optional_content_config.js +184 -0
- package/lib/display/pattern_helper.js +93 -44
- package/lib/display/svg.js +1163 -1401
- package/lib/display/text_layer.js +154 -137
- package/lib/display/transport_stream.js +237 -375
- package/lib/display/webgl.js +70 -83
- package/lib/display/worker_options.js +3 -3
- package/lib/display/xml_parser.js +303 -392
- package/lib/examples/node/domstubs.js +37 -37
- package/lib/pdf.js +220 -58
- package/lib/pdf.worker.js +14 -6
- package/lib/shared/compatibility.js +3 -246
- package/lib/shared/is_node.js +7 -6
- package/lib/shared/message_handler.js +327 -332
- package/lib/shared/util.js +271 -306
- package/lib/test/unit/annotation_spec.js +1902 -763
- package/lib/test/unit/annotation_storage_spec.js +83 -0
- package/lib/test/unit/api_spec.js +790 -592
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +73 -72
- package/lib/test/unit/clitests_helper.js +7 -9
- package/lib/test/unit/cmap_spec.js +86 -88
- package/lib/test/unit/colorspace_spec.js +346 -154
- package/lib/test/unit/core_utils_spec.js +125 -105
- package/lib/test/unit/crypto_spec.js +232 -185
- package/lib/test/unit/custom_spec.js +150 -24
- package/lib/test/unit/display_svg_spec.js +34 -39
- package/lib/test/unit/display_utils_spec.js +139 -149
- package/lib/test/unit/document_spec.js +128 -17
- package/lib/test/unit/encodings_spec.js +12 -34
- package/lib/test/unit/evaluator_spec.js +112 -91
- package/lib/test/unit/fetch_stream_spec.js +31 -29
- package/lib/test/unit/function_spec.js +206 -204
- package/lib/test/unit/jasmine-boot.js +48 -32
- package/lib/test/unit/message_handler_spec.js +173 -159
- package/lib/test/unit/metadata_spec.js +71 -71
- package/lib/test/unit/murmurhash3_spec.js +12 -12
- package/lib/test/unit/network_spec.js +13 -11
- package/lib/test/unit/network_utils_spec.js +158 -144
- package/lib/test/unit/node_stream_spec.js +76 -90
- package/lib/test/unit/parser_spec.js +108 -114
- package/lib/test/unit/pdf_find_controller_spec.js +55 -86
- package/lib/test/unit/pdf_find_utils_spec.js +32 -32
- package/lib/test/unit/pdf_history_spec.js +32 -32
- package/lib/test/unit/primitives_spec.js +337 -156
- package/lib/test/unit/stream_spec.js +16 -14
- package/lib/test/unit/test_utils.js +91 -304
- package/lib/test/unit/testreporter.js +33 -22
- package/lib/test/unit/type1_parser_spec.js +42 -42
- package/lib/test/unit/ui_utils_spec.js +299 -461
- package/lib/test/unit/unicode_spec.js +42 -42
- package/lib/test/unit/util_spec.js +129 -149
- package/lib/test/unit/writer_spec.js +84 -0
- package/lib/web/annotation_layer_builder.js +78 -111
- package/lib/web/app.js +1542 -1267
- package/lib/web/app_options.js +76 -91
- package/lib/web/base_tree_viewer.js +100 -0
- package/lib/web/base_viewer.js +869 -834
- package/lib/web/chromecom.js +165 -252
- package/lib/web/debugger.js +149 -205
- package/lib/web/download_manager.js +34 -58
- package/lib/web/firefox_print_service.js +62 -34
- package/lib/web/firefoxcom.js +206 -374
- package/lib/web/genericcom.js +26 -108
- package/lib/web/genericl10n.js +24 -153
- package/lib/web/grab_to_pan.js +30 -30
- package/lib/web/interfaces.js +80 -254
- package/lib/web/overlay_manager.js +70 -246
- package/lib/web/password_prompt.js +38 -64
- package/lib/web/pdf_attachment_viewer.js +150 -126
- package/lib/web/pdf_cursor_tools.js +75 -102
- package/lib/web/pdf_document_properties.js +229 -383
- package/lib/web/pdf_find_bar.js +136 -170
- package/lib/web/pdf_find_controller.js +492 -548
- package/lib/web/pdf_find_utils.js +13 -13
- package/lib/web/pdf_history.js +397 -406
- package/lib/web/pdf_layer_viewer.js +208 -0
- package/lib/web/pdf_link_service.js +304 -348
- package/lib/web/pdf_outline_viewer.js +119 -212
- package/lib/web/pdf_page_view.js +474 -513
- package/lib/web/pdf_presentation_mode.js +308 -357
- package/lib/web/pdf_print_service.js +96 -110
- package/lib/web/pdf_rendering_queue.js +87 -108
- package/lib/web/pdf_sidebar.js +286 -302
- package/lib/web/pdf_sidebar_resizer.js +92 -119
- package/lib/web/pdf_single_page_viewer.js +77 -126
- package/lib/web/pdf_thumbnail_view.js +289 -297
- package/lib/web/pdf_thumbnail_viewer.js +202 -206
- package/lib/web/pdf_viewer.component.js +20 -21
- package/lib/web/pdf_viewer.js +55 -115
- package/lib/web/preferences.js +69 -273
- package/lib/web/secondary_toolbar.js +164 -196
- package/lib/web/text_layer_builder.js +284 -319
- package/lib/web/toolbar.js +217 -210
- package/lib/web/ui_utils.js +274 -421
- package/lib/web/view_history.js +52 -226
- package/lib/web/viewer_compatibility.js +21 -6
- package/package.json +4 -9
- package/types/display/annotation_layer.d.ts +61 -0
- package/types/display/annotation_storage.d.ts +36 -0
- package/types/display/api.d.ts +1107 -0
- package/types/display/api_compatibility.d.ts +1 -0
- package/types/display/canvas.d.ts +4 -0
- package/types/display/content_disposition.d.ts +7 -0
- package/types/display/display_utils.d.ts +243 -0
- package/types/display/fetch_stream.d.ts +67 -0
- package/types/display/font_loader.d.ts +19 -0
- package/types/display/metadata.d.ts +9 -0
- package/types/display/network.d.ts +80 -0
- package/types/display/network_utils.d.ts +14 -0
- package/types/display/node_stream.d.ts +72 -0
- package/types/display/node_utils.d.ts +6 -0
- package/types/display/optional_content_config.d.ts +12 -0
- package/types/display/pattern_helper.d.ts +5 -0
- package/types/display/svg.d.ts +2 -0
- package/types/display/text_layer.d.ts +83 -0
- package/types/display/transport_stream.d.ts +57 -0
- package/types/display/webgl.d.ts +20 -0
- package/types/display/worker_options.d.ts +27 -0
- package/types/display/xml_parser.d.ts +35 -0
- package/types/pdf.d.ts +33 -0
- package/types/shared/compatibility.d.ts +1 -0
- package/types/shared/is_node.d.ts +1 -0
- package/types/shared/message_handler.d.ts +62 -0
- package/types/shared/util.d.ts +421 -0
- package/web/images/shadow.png +0 -0
- package/web/pdf_viewer.css +29 -27
- package/web/pdf_viewer.js +3524 -4746
- package/web/pdf_viewer.js.map +1 -1
- package/webpack.js +6 -5
- package/external/streams/streams-lib.js +0 -3962
- package/external/url/url-lib.js +0 -627
- package/lib/shared/streams_polyfill.js +0 -43
- package/lib/shared/url_polyfill.js +0 -56
- package/web/images/texture.png +0 -0
@@ -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 2020 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.
|
@@ -26,31 +26,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
26
26
|
});
|
27
27
|
exports.PDFThumbnailViewer = void 0;
|
28
28
|
|
29
|
-
var _ui_utils = require("./ui_utils");
|
29
|
+
var _ui_utils = require("./ui_utils.js");
|
30
30
|
|
31
|
-
var _pdf_thumbnail_view = require("./pdf_thumbnail_view");
|
31
|
+
var _pdf_thumbnail_view = require("./pdf_thumbnail_view.js");
|
32
32
|
|
33
|
-
|
34
|
-
|
35
|
-
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); } }
|
36
|
-
|
37
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
38
|
-
|
39
|
-
var THUMBNAIL_SCROLL_MARGIN = -19;
|
40
|
-
var THUMBNAIL_SELECTED_CLASS = 'selected';
|
41
|
-
|
42
|
-
var PDFThumbnailViewer =
|
43
|
-
/*#__PURE__*/
|
44
|
-
function () {
|
45
|
-
function PDFThumbnailViewer(_ref) {
|
46
|
-
var container = _ref.container,
|
47
|
-
linkService = _ref.linkService,
|
48
|
-
renderingQueue = _ref.renderingQueue,
|
49
|
-
_ref$l10n = _ref.l10n,
|
50
|
-
l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;
|
51
|
-
|
52
|
-
_classCallCheck(this, PDFThumbnailViewer);
|
33
|
+
const THUMBNAIL_SCROLL_MARGIN = -19;
|
34
|
+
const THUMBNAIL_SELECTED_CLASS = "selected";
|
53
35
|
|
36
|
+
class PDFThumbnailViewer {
|
37
|
+
constructor({
|
38
|
+
container,
|
39
|
+
eventBus,
|
40
|
+
linkService,
|
41
|
+
renderingQueue,
|
42
|
+
l10n = _ui_utils.NullL10n
|
43
|
+
}) {
|
54
44
|
this.container = container;
|
55
45
|
this.linkService = linkService;
|
56
46
|
this.renderingQueue = renderingQueue;
|
@@ -58,235 +48,241 @@ function () {
|
|
58
48
|
this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdated.bind(this));
|
59
49
|
|
60
50
|
this._resetView();
|
51
|
+
|
52
|
+
eventBus._on("optionalcontentconfigchanged", () => {
|
53
|
+
this._setImageDisabled = true;
|
54
|
+
});
|
55
|
+
}
|
56
|
+
|
57
|
+
_scrollUpdated() {
|
58
|
+
this.renderingQueue.renderHighestPriority();
|
59
|
+
}
|
60
|
+
|
61
|
+
getThumbnail(index) {
|
62
|
+
return this._thumbnails[index];
|
61
63
|
}
|
62
64
|
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
65
|
+
_getVisibleThumbs() {
|
66
|
+
return (0, _ui_utils.getVisibleElements)(this.container, this._thumbnails);
|
67
|
+
}
|
68
|
+
|
69
|
+
scrollThumbnailIntoView(pageNumber) {
|
70
|
+
if (!this.pdfDocument) {
|
71
|
+
return;
|
67
72
|
}
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
73
|
+
|
74
|
+
const thumbnailView = this._thumbnails[pageNumber - 1];
|
75
|
+
|
76
|
+
if (!thumbnailView) {
|
77
|
+
console.error('scrollThumbnailIntoView: Invalid "pageNumber" parameter.');
|
78
|
+
return;
|
72
79
|
}
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
80
|
+
|
81
|
+
if (pageNumber !== this._currentPageNumber) {
|
82
|
+
const prevThumbnailView = this._thumbnails[this._currentPageNumber - 1];
|
83
|
+
prevThumbnailView.div.classList.remove(THUMBNAIL_SELECTED_CLASS);
|
84
|
+
thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
|
77
85
|
}
|
78
|
-
}, {
|
79
|
-
key: "scrollThumbnailIntoView",
|
80
|
-
value: function scrollThumbnailIntoView(pageNumber) {
|
81
|
-
if (!this.pdfDocument) {
|
82
|
-
return;
|
83
|
-
}
|
84
86
|
|
85
|
-
|
87
|
+
const visibleThumbs = this._getVisibleThumbs();
|
86
88
|
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
89
|
+
const numVisibleThumbs = visibleThumbs.views.length;
|
90
|
+
|
91
|
+
if (numVisibleThumbs > 0) {
|
92
|
+
const first = visibleThumbs.first.id;
|
93
|
+
const last = numVisibleThumbs > 1 ? visibleThumbs.last.id : first;
|
94
|
+
let shouldScroll = false;
|
95
|
+
|
96
|
+
if (pageNumber <= first || pageNumber >= last) {
|
97
|
+
shouldScroll = true;
|
98
|
+
} else {
|
99
|
+
visibleThumbs.views.some(function (view) {
|
100
|
+
if (view.id !== pageNumber) {
|
101
|
+
return false;
|
102
|
+
}
|
91
103
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
|
104
|
+
shouldScroll = view.percent < 100;
|
105
|
+
return true;
|
106
|
+
});
|
96
107
|
}
|
97
108
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
if (numVisibleThumbs > 0) {
|
103
|
-
var first = visibleThumbs.first.id;
|
104
|
-
var last = numVisibleThumbs > 1 ? visibleThumbs.last.id : first;
|
105
|
-
var shouldScroll = false;
|
106
|
-
|
107
|
-
if (pageNumber <= first || pageNumber >= last) {
|
108
|
-
shouldScroll = true;
|
109
|
-
} else {
|
110
|
-
visibleThumbs.views.some(function (view) {
|
111
|
-
if (view.id !== pageNumber) {
|
112
|
-
return false;
|
113
|
-
}
|
114
|
-
|
115
|
-
shouldScroll = view.percent < 100;
|
116
|
-
return true;
|
117
|
-
});
|
118
|
-
}
|
119
|
-
|
120
|
-
if (shouldScroll) {
|
121
|
-
(0, _ui_utils.scrollIntoView)(thumbnailView.div, {
|
122
|
-
top: THUMBNAIL_SCROLL_MARGIN
|
123
|
-
});
|
124
|
-
}
|
109
|
+
if (shouldScroll) {
|
110
|
+
(0, _ui_utils.scrollIntoView)(thumbnailView.div, {
|
111
|
+
top: THUMBNAIL_SCROLL_MARGIN
|
112
|
+
});
|
125
113
|
}
|
114
|
+
}
|
115
|
+
|
116
|
+
this._currentPageNumber = pageNumber;
|
117
|
+
}
|
118
|
+
|
119
|
+
get pagesRotation() {
|
120
|
+
return this._pagesRotation;
|
121
|
+
}
|
126
122
|
|
127
|
-
|
123
|
+
set pagesRotation(rotation) {
|
124
|
+
if (!(0, _ui_utils.isValidRotation)(rotation)) {
|
125
|
+
throw new Error("Invalid thumbnails rotation angle.");
|
128
126
|
}
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
_pdf_thumbnail_view.PDFThumbnailView.cleanup();
|
127
|
+
|
128
|
+
if (!this.pdfDocument) {
|
129
|
+
return;
|
133
130
|
}
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
this._thumbnails = [];
|
138
|
-
this._currentPageNumber = 1;
|
139
|
-
this._pageLabels = null;
|
140
|
-
this._pagesRotation = 0;
|
141
|
-
this._pagesRequests = [];
|
142
|
-
this.container.textContent = '';
|
131
|
+
|
132
|
+
if (this._pagesRotation === rotation) {
|
133
|
+
return;
|
143
134
|
}
|
144
|
-
}, {
|
145
|
-
key: "setDocument",
|
146
|
-
value: function setDocument(pdfDocument) {
|
147
|
-
var _this = this;
|
148
135
|
|
149
|
-
|
150
|
-
this._cancelRendering();
|
136
|
+
this._pagesRotation = rotation;
|
151
137
|
|
152
|
-
|
153
|
-
|
138
|
+
for (let i = 0, ii = this._thumbnails.length; i < ii; i++) {
|
139
|
+
this._thumbnails[i].update(rotation);
|
140
|
+
}
|
141
|
+
}
|
154
142
|
|
155
|
-
|
143
|
+
cleanup() {
|
144
|
+
_pdf_thumbnail_view.PDFThumbnailView.cleanup();
|
145
|
+
}
|
156
146
|
|
157
|
-
|
158
|
-
|
159
|
-
|
147
|
+
_resetView() {
|
148
|
+
this._thumbnails = [];
|
149
|
+
this._currentPageNumber = 1;
|
150
|
+
this._pageLabels = null;
|
151
|
+
this._pagesRotation = 0;
|
152
|
+
this._optionalContentConfigPromise = null;
|
153
|
+
this._pagesRequests = new WeakMap();
|
154
|
+
this._setImageDisabled = false;
|
155
|
+
this.container.textContent = "";
|
156
|
+
}
|
160
157
|
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
scale: 1
|
165
|
-
});
|
158
|
+
setDocument(pdfDocument) {
|
159
|
+
if (this.pdfDocument) {
|
160
|
+
this._cancelRendering();
|
166
161
|
|
167
|
-
|
168
|
-
var thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({
|
169
|
-
container: _this.container,
|
170
|
-
id: pageNum,
|
171
|
-
defaultViewport: viewport.clone(),
|
172
|
-
linkService: _this.linkService,
|
173
|
-
renderingQueue: _this.renderingQueue,
|
174
|
-
disableCanvasToImageConversion: false,
|
175
|
-
l10n: _this.l10n
|
176
|
-
});
|
177
|
-
|
178
|
-
_this._thumbnails.push(thumbnail);
|
179
|
-
}
|
180
|
-
|
181
|
-
var thumbnailView = _this._thumbnails[_this._currentPageNumber - 1];
|
182
|
-
thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
|
183
|
-
})["catch"](function (reason) {
|
184
|
-
console.error('Unable to initialize thumbnail viewer', reason);
|
185
|
-
});
|
162
|
+
this._resetView();
|
186
163
|
}
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
this._thumbnails[i].cancelRendering();
|
193
|
-
}
|
194
|
-
}
|
164
|
+
|
165
|
+
this.pdfDocument = pdfDocument;
|
166
|
+
|
167
|
+
if (!pdfDocument) {
|
168
|
+
return;
|
195
169
|
}
|
196
|
-
}, {
|
197
|
-
key: "setPageLabels",
|
198
|
-
value: function setPageLabels(labels) {
|
199
|
-
if (!this.pdfDocument) {
|
200
|
-
return;
|
201
|
-
}
|
202
170
|
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
}
|
171
|
+
const firstPagePromise = pdfDocument.getPage(1);
|
172
|
+
const optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();
|
173
|
+
firstPagePromise.then(firstPdfPage => {
|
174
|
+
this._optionalContentConfigPromise = optionalContentConfigPromise;
|
175
|
+
const pagesCount = pdfDocument.numPages;
|
176
|
+
const viewport = firstPdfPage.getViewport({
|
177
|
+
scale: 1
|
178
|
+
});
|
211
179
|
|
212
|
-
|
213
|
-
|
180
|
+
const checkSetImageDisabled = () => {
|
181
|
+
return this._setImageDisabled;
|
182
|
+
};
|
183
|
+
|
184
|
+
for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {
|
185
|
+
const thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({
|
186
|
+
container: this.container,
|
187
|
+
id: pageNum,
|
188
|
+
defaultViewport: viewport.clone(),
|
189
|
+
optionalContentConfigPromise,
|
190
|
+
linkService: this.linkService,
|
191
|
+
renderingQueue: this.renderingQueue,
|
192
|
+
checkSetImageDisabled,
|
193
|
+
disableCanvasToImageConversion: false,
|
194
|
+
l10n: this.l10n
|
195
|
+
});
|
214
196
|
|
215
|
-
this._thumbnails
|
197
|
+
this._thumbnails.push(thumbnail);
|
216
198
|
}
|
217
|
-
}
|
218
|
-
}, {
|
219
|
-
key: "_ensurePdfPageLoaded",
|
220
|
-
value: function _ensurePdfPageLoaded(thumbView) {
|
221
|
-
var _this2 = this;
|
222
199
|
|
223
|
-
|
224
|
-
|
200
|
+
const firstThumbnailView = this._thumbnails[0];
|
201
|
+
|
202
|
+
if (firstThumbnailView) {
|
203
|
+
firstThumbnailView.setPdfPage(firstPdfPage);
|
225
204
|
}
|
226
205
|
|
227
|
-
|
206
|
+
const thumbnailView = this._thumbnails[this._currentPageNumber - 1];
|
207
|
+
thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
|
208
|
+
}).catch(reason => {
|
209
|
+
console.error("Unable to initialize thumbnail viewer", reason);
|
210
|
+
});
|
211
|
+
}
|
228
212
|
|
229
|
-
|
230
|
-
|
213
|
+
_cancelRendering() {
|
214
|
+
for (let i = 0, ii = this._thumbnails.length; i < ii; i++) {
|
215
|
+
if (this._thumbnails[i]) {
|
216
|
+
this._thumbnails[i].cancelRendering();
|
231
217
|
}
|
218
|
+
}
|
219
|
+
}
|
232
220
|
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
return pdfPage;
|
237
|
-
})["catch"](function (reason) {
|
238
|
-
console.error('Unable to get page for thumb view', reason);
|
239
|
-
_this2._pagesRequests[pageNumber] = null;
|
240
|
-
});
|
241
|
-
this._pagesRequests[pageNumber] = promise;
|
242
|
-
return promise;
|
221
|
+
setPageLabels(labels) {
|
222
|
+
if (!this.pdfDocument) {
|
223
|
+
return;
|
243
224
|
}
|
244
|
-
}, {
|
245
|
-
key: "forceRendering",
|
246
|
-
value: function forceRendering() {
|
247
|
-
var _this3 = this;
|
248
225
|
|
249
|
-
|
226
|
+
if (!labels) {
|
227
|
+
this._pageLabels = null;
|
228
|
+
} else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
|
229
|
+
this._pageLabels = null;
|
230
|
+
console.error("PDFThumbnailViewer_setPageLabels: Invalid page labels.");
|
231
|
+
} else {
|
232
|
+
this._pageLabels = labels;
|
233
|
+
}
|
250
234
|
|
251
|
-
|
235
|
+
for (let i = 0, ii = this._thumbnails.length; i < ii; i++) {
|
236
|
+
const label = this._pageLabels && this._pageLabels[i];
|
252
237
|
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
});
|
238
|
+
this._thumbnails[i].setPageLabel(label);
|
239
|
+
}
|
240
|
+
}
|
257
241
|
|
258
|
-
|
259
|
-
|
242
|
+
_ensurePdfPageLoaded(thumbView) {
|
243
|
+
if (thumbView.pdfPage) {
|
244
|
+
return Promise.resolve(thumbView.pdfPage);
|
245
|
+
}
|
260
246
|
|
261
|
-
|
247
|
+
if (this._pagesRequests.has(thumbView)) {
|
248
|
+
return this._pagesRequests.get(thumbView);
|
262
249
|
}
|
263
|
-
}, {
|
264
|
-
key: "pagesRotation",
|
265
|
-
get: function get() {
|
266
|
-
return this._pagesRotation;
|
267
|
-
},
|
268
|
-
set: function set(rotation) {
|
269
|
-
if (!(0, _ui_utils.isValidRotation)(rotation)) {
|
270
|
-
throw new Error('Invalid thumbnails rotation angle.');
|
271
|
-
}
|
272
250
|
|
273
|
-
|
274
|
-
|
251
|
+
const promise = this.pdfDocument.getPage(thumbView.id).then(pdfPage => {
|
252
|
+
if (!thumbView.pdfPage) {
|
253
|
+
thumbView.setPdfPage(pdfPage);
|
275
254
|
}
|
276
255
|
|
277
|
-
|
278
|
-
return;
|
279
|
-
}
|
256
|
+
this._pagesRequests.delete(thumbView);
|
280
257
|
|
281
|
-
|
258
|
+
return pdfPage;
|
259
|
+
}).catch(reason => {
|
260
|
+
console.error("Unable to get page for thumb view", reason);
|
282
261
|
|
283
|
-
|
284
|
-
|
285
|
-
|
262
|
+
this._pagesRequests.delete(thumbView);
|
263
|
+
});
|
264
|
+
|
265
|
+
this._pagesRequests.set(thumbView, promise);
|
266
|
+
|
267
|
+
return promise;
|
268
|
+
}
|
269
|
+
|
270
|
+
forceRendering() {
|
271
|
+
const visibleThumbs = this._getVisibleThumbs();
|
272
|
+
|
273
|
+
const thumbView = this.renderingQueue.getHighestPriority(visibleThumbs, this._thumbnails, this.scroll.down);
|
274
|
+
|
275
|
+
if (thumbView) {
|
276
|
+
this._ensurePdfPageLoaded(thumbView).then(() => {
|
277
|
+
this.renderingQueue.renderView(thumbView);
|
278
|
+
});
|
279
|
+
|
280
|
+
return true;
|
286
281
|
}
|
287
|
-
}]);
|
288
282
|
|
289
|
-
|
290
|
-
}
|
283
|
+
return false;
|
284
|
+
}
|
285
|
+
|
286
|
+
}
|
291
287
|
|
292
288
|
exports.PDFThumbnailViewer = PDFThumbnailViewer;
|
@@ -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 2020 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.
|
@@ -26,97 +26,97 @@ Object.defineProperty(exports, "__esModule", {
|
|
26
26
|
});
|
27
27
|
Object.defineProperty(exports, "AnnotationLayerBuilder", {
|
28
28
|
enumerable: true,
|
29
|
-
get: function
|
29
|
+
get: function () {
|
30
30
|
return _annotation_layer_builder.AnnotationLayerBuilder;
|
31
31
|
}
|
32
32
|
});
|
33
33
|
Object.defineProperty(exports, "DefaultAnnotationLayerFactory", {
|
34
34
|
enumerable: true,
|
35
|
-
get: function
|
35
|
+
get: function () {
|
36
36
|
return _annotation_layer_builder.DefaultAnnotationLayerFactory;
|
37
37
|
}
|
38
38
|
});
|
39
39
|
Object.defineProperty(exports, "DefaultTextLayerFactory", {
|
40
40
|
enumerable: true,
|
41
|
-
get: function
|
41
|
+
get: function () {
|
42
42
|
return _text_layer_builder.DefaultTextLayerFactory;
|
43
43
|
}
|
44
44
|
});
|
45
45
|
Object.defineProperty(exports, "TextLayerBuilder", {
|
46
46
|
enumerable: true,
|
47
|
-
get: function
|
47
|
+
get: function () {
|
48
48
|
return _text_layer_builder.TextLayerBuilder;
|
49
49
|
}
|
50
50
|
});
|
51
51
|
Object.defineProperty(exports, "EventBus", {
|
52
52
|
enumerable: true,
|
53
|
-
get: function
|
53
|
+
get: function () {
|
54
54
|
return _ui_utils.EventBus;
|
55
55
|
}
|
56
56
|
});
|
57
57
|
Object.defineProperty(exports, "NullL10n", {
|
58
58
|
enumerable: true,
|
59
|
-
get: function
|
59
|
+
get: function () {
|
60
60
|
return _ui_utils.NullL10n;
|
61
61
|
}
|
62
62
|
});
|
63
63
|
Object.defineProperty(exports, "ProgressBar", {
|
64
64
|
enumerable: true,
|
65
|
-
get: function
|
65
|
+
get: function () {
|
66
66
|
return _ui_utils.ProgressBar;
|
67
67
|
}
|
68
68
|
});
|
69
69
|
Object.defineProperty(exports, "PDFLinkService", {
|
70
70
|
enumerable: true,
|
71
|
-
get: function
|
71
|
+
get: function () {
|
72
72
|
return _pdf_link_service.PDFLinkService;
|
73
73
|
}
|
74
74
|
});
|
75
75
|
Object.defineProperty(exports, "SimpleLinkService", {
|
76
76
|
enumerable: true,
|
77
|
-
get: function
|
77
|
+
get: function () {
|
78
78
|
return _pdf_link_service.SimpleLinkService;
|
79
79
|
}
|
80
80
|
});
|
81
81
|
Object.defineProperty(exports, "DownloadManager", {
|
82
82
|
enumerable: true,
|
83
|
-
get: function
|
83
|
+
get: function () {
|
84
84
|
return _download_manager.DownloadManager;
|
85
85
|
}
|
86
86
|
});
|
87
87
|
Object.defineProperty(exports, "GenericL10n", {
|
88
88
|
enumerable: true,
|
89
|
-
get: function
|
89
|
+
get: function () {
|
90
90
|
return _genericl10n.GenericL10n;
|
91
91
|
}
|
92
92
|
});
|
93
93
|
Object.defineProperty(exports, "PDFFindController", {
|
94
94
|
enumerable: true,
|
95
|
-
get: function
|
95
|
+
get: function () {
|
96
96
|
return _pdf_find_controller.PDFFindController;
|
97
97
|
}
|
98
98
|
});
|
99
99
|
Object.defineProperty(exports, "PDFHistory", {
|
100
100
|
enumerable: true,
|
101
|
-
get: function
|
101
|
+
get: function () {
|
102
102
|
return _pdf_history.PDFHistory;
|
103
103
|
}
|
104
104
|
});
|
105
105
|
Object.defineProperty(exports, "PDFPageView", {
|
106
106
|
enumerable: true,
|
107
|
-
get: function
|
107
|
+
get: function () {
|
108
108
|
return _pdf_page_view.PDFPageView;
|
109
109
|
}
|
110
110
|
});
|
111
111
|
Object.defineProperty(exports, "PDFSinglePageViewer", {
|
112
112
|
enumerable: true,
|
113
|
-
get: function
|
113
|
+
get: function () {
|
114
114
|
return _pdf_single_page_viewer.PDFSinglePageViewer;
|
115
115
|
}
|
116
116
|
});
|
117
117
|
Object.defineProperty(exports, "PDFViewer", {
|
118
118
|
enumerable: true,
|
119
|
-
get: function
|
119
|
+
get: function () {
|
120
120
|
return _pdf_viewer.PDFViewer;
|
121
121
|
}
|
122
122
|
});
|
@@ -139,10 +139,9 @@ var _pdf_history = require("./pdf_history.js");
|
|
139
139
|
|
140
140
|
var _pdf_page_view = require("./pdf_page_view.js");
|
141
141
|
|
142
|
-
var _pdf_single_page_viewer = require("./pdf_single_page_viewer");
|
142
|
+
var _pdf_single_page_viewer = require("./pdf_single_page_viewer.js");
|
143
143
|
|
144
144
|
var _pdf_viewer = require("./pdf_viewer.js");
|
145
145
|
|
146
|
-
|
147
|
-
|
148
|
-
(0, _ui_utils.getGlobalEventBus)(true);
|
146
|
+
const pdfjsVersion = '2.6.347';
|
147
|
+
const pdfjsBuild = '3be9c65f';
|