pdfjs-dist 2.3.200 → 2.4.456
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 +6499 -17971
- 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 +19303 -29896
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +22 -1
- package/es5/build/pdf.js +25473 -0
- package/es5/build/pdf.js.map +1 -0
- package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
- package/es5/build/pdf.worker.js +57878 -0
- package/es5/build/pdf.worker.js.map +1 -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/images/texture.png +0 -0
- package/es5/web/pdf_viewer.css +407 -0
- package/es5/web/pdf_viewer.js +7757 -0
- package/es5/web/pdf_viewer.js.map +1 -0
- package/image_decoders/pdf.image_decoders.js +1333 -4839
- 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 +683 -1066
- 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 +196 -193
- package/lib/core/charsets.js +4 -4
- package/lib/core/chunked_stream.js +441 -569
- package/lib/core/cmap.js +220 -279
- package/lib/core/colorspace.js +699 -863
- package/lib/core/core_utils.js +59 -80
- package/lib/core/crypto.js +379 -437
- package/lib/core/document.js +564 -673
- package/lib/core/encodings.js +15 -15
- package/lib/core/evaluator.js +983 -889
- package/lib/core/font_renderer.js +128 -171
- package/lib/core/fonts.js +451 -400
- package/lib/core/function.js +289 -285
- package/lib/core/glyphlist.js +4527 -4527
- package/lib/core/image.js +138 -117
- package/lib/core/image_utils.js +46 -63
- package/lib/core/jbig2.js +324 -332
- package/lib/core/jbig2_stream.js +18 -17
- package/lib/core/jpeg_stream.js +133 -24
- package/lib/core/jpg.js +238 -210
- package/lib/core/jpx.js +158 -157
- 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 +1111 -1302
- package/lib/core/operator_list.js +55 -42
- package/lib/core/parser.js +956 -987
- package/lib/core/pattern.js +69 -69
- package/lib/core/pdf_manager.js +149 -316
- package/lib/core/primitives.js +45 -77
- package/lib/core/ps_parser.js +175 -214
- package/lib/core/standard_fonts.js +237 -236
- package/lib/core/stream.js +83 -77
- package/lib/core/type1_parser.js +78 -68
- package/lib/core/unicode.js +1654 -1654
- package/lib/core/worker.js +148 -196
- package/lib/core/worker_stream.js +101 -210
- package/lib/display/annotation_layer.js +733 -1155
- package/lib/display/api.js +1539 -1928
- package/lib/display/api_compatibility.js +10 -8
- package/lib/display/canvas.js +159 -158
- package/lib/display/content_disposition.js +36 -55
- package/lib/display/display_utils.js +298 -551
- package/lib/display/fetch_stream.js +181 -305
- package/lib/display/font_loader.js +273 -416
- package/lib/display/metadata.js +86 -98
- package/lib/display/network.js +376 -511
- package/lib/display/network_utils.js +20 -19
- package/lib/display/node_stream.js +276 -460
- package/lib/display/pattern_helper.js +76 -44
- package/lib/display/svg.js +1137 -1405
- package/lib/display/text_layer.js +75 -82
- package/lib/display/transport_stream.js +236 -374
- 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 +22 -21
- package/lib/pdf.worker.js +5 -5
- package/lib/shared/compatibility.js +2 -251
- package/lib/shared/is_node.js +7 -6
- package/lib/shared/message_handler.js +222 -194
- package/lib/shared/util.js +269 -405
- package/lib/test/unit/annotation_spec.js +1089 -1014
- package/lib/test/unit/api_spec.js +617 -544
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +63 -62
- package/lib/test/unit/clitests_helper.js +7 -9
- package/lib/test/unit/cmap_spec.js +84 -86
- package/lib/test/unit/colorspace_spec.js +154 -154
- package/lib/test/unit/core_utils_spec.js +125 -105
- package/lib/test/unit/crypto_spec.js +181 -181
- package/lib/test/unit/custom_spec.js +22 -24
- package/lib/test/unit/display_svg_spec.js +35 -36
- package/lib/test/unit/display_utils_spec.js +139 -149
- package/lib/test/unit/document_spec.js +16 -16
- package/lib/test/unit/encodings_spec.js +12 -34
- package/lib/test/unit/evaluator_spec.js +81 -95
- package/lib/test/unit/fetch_stream_spec.js +30 -30
- 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 +172 -162
- package/lib/test/unit/metadata_spec.js +69 -69
- package/lib/test/unit/murmurhash3_spec.js +12 -12
- package/lib/test/unit/network_spec.js +12 -12
- package/lib/test/unit/network_utils_spec.js +152 -152
- package/lib/test/unit/node_stream_spec.js +74 -90
- package/lib/test/unit/parser_spec.js +107 -113
- 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 +117 -115
- package/lib/test/unit/stream_spec.js +16 -14
- package/lib/test/unit/test_utils.js +119 -285
- package/lib/test/unit/testreporter.js +19 -19
- package/lib/test/unit/type1_parser_spec.js +41 -41
- package/lib/test/unit/ui_utils_spec.js +318 -426
- package/lib/test/unit/unicode_spec.js +42 -42
- package/lib/test/unit/util_spec.js +122 -143
- package/lib/web/annotation_layer_builder.js +66 -103
- package/lib/web/app.js +1166 -1196
- package/lib/web/app_options.js +61 -77
- package/lib/web/base_viewer.js +804 -850
- package/lib/web/chromecom.js +164 -249
- package/lib/web/debugger.js +149 -205
- package/lib/web/download_manager.js +38 -57
- package/lib/web/firefox_print_service.js +35 -30
- package/lib/web/firefoxcom.js +175 -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 -258
- package/lib/web/overlay_manager.js +70 -246
- package/lib/web/password_prompt.js +38 -64
- package/lib/web/pdf_attachment_viewer.js +105 -130
- package/lib/web/pdf_cursor_tools.js +75 -102
- package/lib/web/pdf_document_properties.js +227 -376
- package/lib/web/pdf_find_bar.js +137 -171
- package/lib/web/pdf_find_controller.js +492 -549
- package/lib/web/pdf_find_utils.js +13 -13
- package/lib/web/pdf_history.js +395 -406
- package/lib/web/pdf_link_service.js +302 -349
- package/lib/web/pdf_outline_viewer.js +148 -209
- package/lib/web/pdf_page_view.js +449 -507
- package/lib/web/pdf_presentation_mode.js +304 -357
- package/lib/web/pdf_print_service.js +90 -104
- package/lib/web/pdf_rendering_queue.js +87 -108
- package/lib/web/pdf_sidebar.js +264 -304
- 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 +276 -297
- package/lib/web/pdf_thumbnail_viewer.js +186 -206
- package/lib/web/pdf_viewer.component.js +20 -21
- package/lib/web/pdf_viewer.js +55 -115
- package/lib/web/preferences.js +66 -273
- package/lib/web/secondary_toolbar.js +164 -196
- package/lib/web/text_layer_builder.js +284 -317
- package/lib/web/toolbar.js +216 -211
- package/lib/web/ui_utils.js +303 -404
- package/lib/web/view_history.js +49 -222
- package/lib/web/viewer_compatibility.js +7 -5
- package/package.json +2 -9
- package/web/pdf_viewer.css +25 -18
- package/web/pdf_viewer.js +3481 -4764
- package/web/pdf_viewer.js.map +1 -1
- package/webpack.js +14 -5
- package/lib/shared/streams_polyfill.js +0 -43
package/lib/display/api.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 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.
|
@@ -28,128 +28,41 @@ exports.getDocument = getDocument;
|
|
28
28
|
exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;
|
29
29
|
exports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;
|
30
30
|
|
31
|
-
var
|
31
|
+
var _util = require("../shared/util.js");
|
32
32
|
|
33
|
-
var
|
33
|
+
var _display_utils = require("./display_utils.js");
|
34
34
|
|
35
|
-
var
|
35
|
+
var _font_loader = require("./font_loader.js");
|
36
36
|
|
37
|
-
var
|
37
|
+
var _api_compatibility = require("./api_compatibility.js");
|
38
38
|
|
39
|
-
var
|
39
|
+
var _canvas = require("./canvas.js");
|
40
40
|
|
41
|
-
var
|
41
|
+
var _worker_options = require("./worker_options.js");
|
42
42
|
|
43
|
-
var
|
43
|
+
var _is_node = require("../shared/is_node.js");
|
44
44
|
|
45
|
-
var
|
45
|
+
var _message_handler = require("../shared/message_handler.js");
|
46
46
|
|
47
|
-
var
|
47
|
+
var _metadata = require("./metadata.js");
|
48
48
|
|
49
|
-
var
|
49
|
+
var _transport_stream = require("./transport_stream.js");
|
50
50
|
|
51
|
-
var
|
51
|
+
var _webgl = require("./webgl.js");
|
52
52
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
58
|
-
|
59
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
60
|
-
|
61
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
|
62
|
-
|
63
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
|
64
|
-
|
65
|
-
function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
66
|
-
|
67
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
68
|
-
|
69
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
|
70
|
-
|
71
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
|
72
|
-
|
73
|
-
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
|
74
|
-
|
75
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
|
76
|
-
|
77
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
78
|
-
|
79
|
-
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); } }
|
80
|
-
|
81
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
82
|
-
|
83
|
-
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
84
|
-
|
85
|
-
var DEFAULT_RANGE_CHUNK_SIZE = 65536;
|
86
|
-
var RENDERING_CANCELLED_TIMEOUT = 100;
|
87
|
-
var isWorkerDisabled = false;
|
88
|
-
var fallbackWorkerSrc;
|
89
|
-
var fakeWorkerFilesLoader = null;
|
90
|
-
{
|
91
|
-
var useRequireEnsure = false;
|
92
|
-
|
93
|
-
if (typeof window === 'undefined') {
|
94
|
-
isWorkerDisabled = true;
|
95
|
-
|
96
|
-
if (typeof require.ensure === 'undefined') {
|
97
|
-
require.ensure = require('node-ensure');
|
98
|
-
}
|
99
|
-
|
100
|
-
useRequireEnsure = true;
|
101
|
-
} else if (typeof require !== 'undefined' && typeof require.ensure === 'function') {
|
102
|
-
useRequireEnsure = true;
|
103
|
-
}
|
104
|
-
|
105
|
-
if (typeof requirejs !== 'undefined' && requirejs.toUrl) {
|
106
|
-
fallbackWorkerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');
|
107
|
-
}
|
108
|
-
|
109
|
-
var dynamicLoaderSupported = typeof requirejs !== 'undefined' && requirejs.load;
|
110
|
-
fakeWorkerFilesLoader = useRequireEnsure ? function () {
|
111
|
-
return new Promise(function (resolve, reject) {
|
112
|
-
require.ensure([], function () {
|
113
|
-
try {
|
114
|
-
var worker;
|
115
|
-
worker = require('../pdf.worker.js');
|
116
|
-
resolve(worker.WorkerMessageHandler);
|
117
|
-
} catch (ex) {
|
118
|
-
reject(ex);
|
119
|
-
}
|
120
|
-
}, reject, 'pdfjsWorker');
|
121
|
-
});
|
122
|
-
} : dynamicLoaderSupported ? function () {
|
123
|
-
return new Promise(function (resolve, reject) {
|
124
|
-
requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {
|
125
|
-
try {
|
126
|
-
resolve(worker.WorkerMessageHandler);
|
127
|
-
} catch (ex) {
|
128
|
-
reject(ex);
|
129
|
-
}
|
130
|
-
}, reject);
|
131
|
-
});
|
132
|
-
} : null;
|
133
|
-
|
134
|
-
if (!fallbackWorkerSrc && (typeof document === "undefined" ? "undefined" : _typeof(document)) === 'object' && 'currentScript' in document) {
|
135
|
-
var pdfjsFilePath = document.currentScript && document.currentScript.src;
|
136
|
-
|
137
|
-
if (pdfjsFilePath) {
|
138
|
-
fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, '.worker$1$2');
|
139
|
-
}
|
140
|
-
}
|
141
|
-
}
|
142
|
-
var createPDFNetworkStream;
|
53
|
+
const DEFAULT_RANGE_CHUNK_SIZE = 65536;
|
54
|
+
const RENDERING_CANCELLED_TIMEOUT = 100;
|
55
|
+
let createPDFNetworkStream;
|
143
56
|
|
144
57
|
function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {
|
145
58
|
createPDFNetworkStream = pdfNetworkStreamFactory;
|
146
59
|
}
|
147
60
|
|
148
61
|
function getDocument(src) {
|
149
|
-
|
150
|
-
|
62
|
+
const task = new PDFDocumentLoadingTask();
|
63
|
+
let source;
|
151
64
|
|
152
|
-
if (typeof src ===
|
65
|
+
if (typeof src === "string") {
|
153
66
|
source = {
|
154
67
|
url: src
|
155
68
|
};
|
@@ -162,42 +75,42 @@ function getDocument(src) {
|
|
162
75
|
range: src
|
163
76
|
};
|
164
77
|
} else {
|
165
|
-
if (
|
166
|
-
throw new Error(
|
78
|
+
if (typeof src !== "object") {
|
79
|
+
throw new Error("Invalid parameter in getDocument, " + "need either Uint8Array, string or a parameter object");
|
167
80
|
}
|
168
81
|
|
169
82
|
if (!src.url && !src.data && !src.range) {
|
170
|
-
throw new Error(
|
83
|
+
throw new Error("Invalid parameter object: need either .data, .range or .url");
|
171
84
|
}
|
172
85
|
|
173
86
|
source = src;
|
174
87
|
}
|
175
88
|
|
176
|
-
|
177
|
-
|
89
|
+
const params = Object.create(null);
|
90
|
+
let rangeTransport = null,
|
178
91
|
worker = null;
|
179
92
|
|
180
|
-
for (
|
181
|
-
if (key ===
|
93
|
+
for (const key in source) {
|
94
|
+
if (key === "url" && typeof window !== "undefined") {
|
182
95
|
params[key] = new URL(source[key], window.location).href;
|
183
96
|
continue;
|
184
|
-
} else if (key ===
|
97
|
+
} else if (key === "range") {
|
185
98
|
rangeTransport = source[key];
|
186
99
|
continue;
|
187
|
-
} else if (key ===
|
100
|
+
} else if (key === "worker") {
|
188
101
|
worker = source[key];
|
189
102
|
continue;
|
190
|
-
} else if (key ===
|
191
|
-
|
103
|
+
} else if (key === "data" && !(source[key] instanceof Uint8Array)) {
|
104
|
+
const pdfBytes = source[key];
|
192
105
|
|
193
|
-
if (typeof pdfBytes ===
|
106
|
+
if (typeof pdfBytes === "string") {
|
194
107
|
params[key] = (0, _util.stringToBytes)(pdfBytes);
|
195
|
-
} else if (
|
108
|
+
} else if (typeof pdfBytes === "object" && pdfBytes !== null && !isNaN(pdfBytes.length)) {
|
196
109
|
params[key] = new Uint8Array(pdfBytes);
|
197
110
|
} else if ((0, _util.isArrayBuffer)(pdfBytes)) {
|
198
111
|
params[key] = new Uint8Array(pdfBytes);
|
199
112
|
} else {
|
200
|
-
throw new Error(
|
113
|
+
throw new Error("Invalid PDF binary data: either typed array, " + "string or array-like object is expected in the " + "data property.");
|
201
114
|
}
|
202
115
|
|
203
116
|
continue;
|
@@ -210,7 +123,7 @@ function getDocument(src) {
|
|
210
123
|
params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;
|
211
124
|
params.ignoreErrors = params.stopAtErrors !== true;
|
212
125
|
params.pdfBug = params.pdfBug === true;
|
213
|
-
|
126
|
+
const NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);
|
214
127
|
|
215
128
|
if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {
|
216
129
|
params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE;
|
@@ -220,34 +133,34 @@ function getDocument(src) {
|
|
220
133
|
params.maxImageSize = -1;
|
221
134
|
}
|
222
135
|
|
223
|
-
if (typeof params.isEvalSupported !==
|
136
|
+
if (typeof params.isEvalSupported !== "boolean") {
|
224
137
|
params.isEvalSupported = true;
|
225
138
|
}
|
226
139
|
|
227
|
-
if (typeof params.disableFontFace !==
|
140
|
+
if (typeof params.disableFontFace !== "boolean") {
|
228
141
|
params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;
|
229
142
|
}
|
230
143
|
|
231
|
-
if (typeof params.disableRange !==
|
144
|
+
if (typeof params.disableRange !== "boolean") {
|
232
145
|
params.disableRange = false;
|
233
146
|
}
|
234
147
|
|
235
|
-
if (typeof params.disableStream !==
|
148
|
+
if (typeof params.disableStream !== "boolean") {
|
236
149
|
params.disableStream = false;
|
237
150
|
}
|
238
151
|
|
239
|
-
if (typeof params.disableAutoFetch !==
|
152
|
+
if (typeof params.disableAutoFetch !== "boolean") {
|
240
153
|
params.disableAutoFetch = false;
|
241
154
|
}
|
242
155
|
|
243
|
-
if (typeof params.disableCreateObjectURL !==
|
156
|
+
if (typeof params.disableCreateObjectURL !== "boolean") {
|
244
157
|
params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false;
|
245
158
|
}
|
246
159
|
|
247
160
|
(0, _util.setVerbosityLevel)(params.verbosity);
|
248
161
|
|
249
162
|
if (!worker) {
|
250
|
-
|
163
|
+
const workerParams = {
|
251
164
|
verbosity: params.verbosity,
|
252
165
|
port: _worker_options.GlobalWorkerOptions.workerPort
|
253
166
|
};
|
@@ -255,18 +168,18 @@ function getDocument(src) {
|
|
255
168
|
task._worker = worker;
|
256
169
|
}
|
257
170
|
|
258
|
-
|
171
|
+
const docId = task.docId;
|
259
172
|
worker.promise.then(function () {
|
260
173
|
if (task.destroyed) {
|
261
|
-
throw new Error(
|
174
|
+
throw new Error("Loading aborted");
|
262
175
|
}
|
263
176
|
|
264
177
|
return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {
|
265
178
|
if (task.destroyed) {
|
266
|
-
throw new Error(
|
179
|
+
throw new Error("Loading aborted");
|
267
180
|
}
|
268
181
|
|
269
|
-
|
182
|
+
let networkStream;
|
270
183
|
|
271
184
|
if (rangeTransport) {
|
272
185
|
networkStream = new _transport_stream.PDFDataTransportStream({
|
@@ -288,19 +201,19 @@ function getDocument(src) {
|
|
288
201
|
});
|
289
202
|
}
|
290
203
|
|
291
|
-
|
204
|
+
const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);
|
292
205
|
messageHandler.postMessageTransfers = worker.postMessageTransfers;
|
293
|
-
|
206
|
+
const transport = new WorkerTransport(messageHandler, task, networkStream, params);
|
294
207
|
task._transport = transport;
|
295
|
-
messageHandler.send(
|
208
|
+
messageHandler.send("Ready", null);
|
296
209
|
});
|
297
|
-
})
|
210
|
+
}).catch(task._capability.reject);
|
298
211
|
return task;
|
299
212
|
}
|
300
213
|
|
301
214
|
function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
|
302
215
|
if (worker.destroyed) {
|
303
|
-
return Promise.reject(new Error(
|
216
|
+
return Promise.reject(new Error("Worker was destroyed"));
|
304
217
|
}
|
305
218
|
|
306
219
|
if (pdfDataRangeTransport) {
|
@@ -309,9 +222,9 @@ function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
|
|
309
222
|
source.progressiveDone = pdfDataRangeTransport.progressiveDone;
|
310
223
|
}
|
311
224
|
|
312
|
-
return worker.messageHandler.sendWithPromise(
|
313
|
-
docId
|
314
|
-
apiVersion: '2.
|
225
|
+
return worker.messageHandler.sendWithPromise("GetDocRequest", {
|
226
|
+
docId,
|
227
|
+
apiVersion: '2.4.456',
|
315
228
|
source: {
|
316
229
|
data: source.data,
|
317
230
|
url: source.url,
|
@@ -330,76 +243,57 @@ function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
|
|
330
243
|
isEvalSupported: source.isEvalSupported
|
331
244
|
}).then(function (workerId) {
|
332
245
|
if (worker.destroyed) {
|
333
|
-
throw new Error(
|
246
|
+
throw new Error("Worker was destroyed");
|
334
247
|
}
|
335
248
|
|
336
249
|
return workerId;
|
337
250
|
});
|
338
251
|
}
|
339
252
|
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
var PDFDocumentLoadingTask =
|
344
|
-
/*#__PURE__*/
|
345
|
-
function () {
|
346
|
-
function PDFDocumentLoadingTask() {
|
347
|
-
_classCallCheck(this, PDFDocumentLoadingTask);
|
253
|
+
const PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {
|
254
|
+
let nextDocumentId = 0;
|
348
255
|
|
256
|
+
class PDFDocumentLoadingTask {
|
257
|
+
constructor() {
|
349
258
|
this._capability = (0, _util.createPromiseCapability)();
|
350
259
|
this._transport = null;
|
351
260
|
this._worker = null;
|
352
|
-
this.docId =
|
261
|
+
this.docId = "d" + nextDocumentId++;
|
353
262
|
this.destroyed = false;
|
354
263
|
this.onPassword = null;
|
355
264
|
this.onProgress = null;
|
356
265
|
this.onUnsupportedFeature = null;
|
357
266
|
}
|
358
267
|
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
var _this = this;
|
268
|
+
get promise() {
|
269
|
+
return this._capability.promise;
|
270
|
+
}
|
363
271
|
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
272
|
+
destroy() {
|
273
|
+
this.destroyed = true;
|
274
|
+
const transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();
|
275
|
+
return transportDestroyed.then(() => {
|
276
|
+
this._transport = null;
|
368
277
|
|
369
|
-
|
370
|
-
|
278
|
+
if (this._worker) {
|
279
|
+
this._worker.destroy();
|
371
280
|
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
return this.promise.then.apply(this.promise, arguments);
|
381
|
-
}
|
382
|
-
}, {
|
383
|
-
key: "promise",
|
384
|
-
get: function get() {
|
385
|
-
return this._capability.promise;
|
386
|
-
}
|
387
|
-
}]);
|
281
|
+
this._worker = null;
|
282
|
+
}
|
283
|
+
});
|
284
|
+
}
|
285
|
+
|
286
|
+
then(onFulfilled, onRejected) {
|
287
|
+
throw new Error("Removed API method: " + "PDFDocumentLoadingTask.then, use the `promise` getter instead.");
|
288
|
+
}
|
388
289
|
|
389
|
-
|
390
|
-
}();
|
290
|
+
}
|
391
291
|
|
392
292
|
return PDFDocumentLoadingTask;
|
393
293
|
}();
|
394
294
|
|
395
|
-
|
396
|
-
|
397
|
-
function () {
|
398
|
-
function PDFDataRangeTransport(length, initialData) {
|
399
|
-
var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
400
|
-
|
401
|
-
_classCallCheck(this, PDFDataRangeTransport);
|
402
|
-
|
295
|
+
class PDFDataRangeTransport {
|
296
|
+
constructor(length, initialData, progressiveDone = false) {
|
403
297
|
this.length = length;
|
404
298
|
this.initialData = initialData;
|
405
299
|
this.progressiveDone = progressiveDone;
|
@@ -410,310 +304,181 @@ function () {
|
|
410
304
|
this._readyCapability = (0, _util.createPromiseCapability)();
|
411
305
|
}
|
412
306
|
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
this._rangeListeners.push(listener);
|
417
|
-
}
|
418
|
-
}, {
|
419
|
-
key: "addProgressListener",
|
420
|
-
value: function addProgressListener(listener) {
|
421
|
-
this._progressListeners.push(listener);
|
422
|
-
}
|
423
|
-
}, {
|
424
|
-
key: "addProgressiveReadListener",
|
425
|
-
value: function addProgressiveReadListener(listener) {
|
426
|
-
this._progressiveReadListeners.push(listener);
|
427
|
-
}
|
428
|
-
}, {
|
429
|
-
key: "addProgressiveDoneListener",
|
430
|
-
value: function addProgressiveDoneListener(listener) {
|
431
|
-
this._progressiveDoneListeners.push(listener);
|
432
|
-
}
|
433
|
-
}, {
|
434
|
-
key: "onDataRange",
|
435
|
-
value: function onDataRange(begin, chunk) {
|
436
|
-
var _iteratorNormalCompletion = true;
|
437
|
-
var _didIteratorError = false;
|
438
|
-
var _iteratorError = undefined;
|
439
|
-
|
440
|
-
try {
|
441
|
-
for (var _iterator = this._rangeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
442
|
-
var listener = _step.value;
|
443
|
-
listener(begin, chunk);
|
444
|
-
}
|
445
|
-
} catch (err) {
|
446
|
-
_didIteratorError = true;
|
447
|
-
_iteratorError = err;
|
448
|
-
} finally {
|
449
|
-
try {
|
450
|
-
if (!_iteratorNormalCompletion && _iterator["return"] != null) {
|
451
|
-
_iterator["return"]();
|
452
|
-
}
|
453
|
-
} finally {
|
454
|
-
if (_didIteratorError) {
|
455
|
-
throw _iteratorError;
|
456
|
-
}
|
457
|
-
}
|
458
|
-
}
|
459
|
-
}
|
460
|
-
}, {
|
461
|
-
key: "onDataProgress",
|
462
|
-
value: function onDataProgress(loaded, total) {
|
463
|
-
var _this2 = this;
|
307
|
+
addRangeListener(listener) {
|
308
|
+
this._rangeListeners.push(listener);
|
309
|
+
}
|
464
310
|
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
var _iteratorError2 = undefined;
|
311
|
+
addProgressListener(listener) {
|
312
|
+
this._progressListeners.push(listener);
|
313
|
+
}
|
469
314
|
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
listener(loaded, total);
|
474
|
-
}
|
475
|
-
} catch (err) {
|
476
|
-
_didIteratorError2 = true;
|
477
|
-
_iteratorError2 = err;
|
478
|
-
} finally {
|
479
|
-
try {
|
480
|
-
if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
|
481
|
-
_iterator2["return"]();
|
482
|
-
}
|
483
|
-
} finally {
|
484
|
-
if (_didIteratorError2) {
|
485
|
-
throw _iteratorError2;
|
486
|
-
}
|
487
|
-
}
|
488
|
-
}
|
489
|
-
});
|
490
|
-
}
|
491
|
-
}, {
|
492
|
-
key: "onDataProgressiveRead",
|
493
|
-
value: function onDataProgressiveRead(chunk) {
|
494
|
-
var _this3 = this;
|
315
|
+
addProgressiveReadListener(listener) {
|
316
|
+
this._progressiveReadListeners.push(listener);
|
317
|
+
}
|
495
318
|
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
var _iteratorError3 = undefined;
|
319
|
+
addProgressiveDoneListener(listener) {
|
320
|
+
this._progressiveDoneListeners.push(listener);
|
321
|
+
}
|
500
322
|
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
listener(chunk);
|
505
|
-
}
|
506
|
-
} catch (err) {
|
507
|
-
_didIteratorError3 = true;
|
508
|
-
_iteratorError3 = err;
|
509
|
-
} finally {
|
510
|
-
try {
|
511
|
-
if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
|
512
|
-
_iterator3["return"]();
|
513
|
-
}
|
514
|
-
} finally {
|
515
|
-
if (_didIteratorError3) {
|
516
|
-
throw _iteratorError3;
|
517
|
-
}
|
518
|
-
}
|
519
|
-
}
|
520
|
-
});
|
323
|
+
onDataRange(begin, chunk) {
|
324
|
+
for (const listener of this._rangeListeners) {
|
325
|
+
listener(begin, chunk);
|
521
326
|
}
|
522
|
-
}
|
523
|
-
key: "onDataProgressiveDone",
|
524
|
-
value: function onDataProgressiveDone() {
|
525
|
-
var _this4 = this;
|
327
|
+
}
|
526
328
|
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
329
|
+
onDataProgress(loaded, total) {
|
330
|
+
this._readyCapability.promise.then(() => {
|
331
|
+
for (const listener of this._progressListeners) {
|
332
|
+
listener(loaded, total);
|
333
|
+
}
|
334
|
+
});
|
335
|
+
}
|
531
336
|
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
_iteratorError4 = err;
|
540
|
-
} finally {
|
541
|
-
try {
|
542
|
-
if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
|
543
|
-
_iterator4["return"]();
|
544
|
-
}
|
545
|
-
} finally {
|
546
|
-
if (_didIteratorError4) {
|
547
|
-
throw _iteratorError4;
|
548
|
-
}
|
549
|
-
}
|
550
|
-
}
|
551
|
-
});
|
552
|
-
}
|
553
|
-
}, {
|
554
|
-
key: "transportReady",
|
555
|
-
value: function transportReady() {
|
556
|
-
this._readyCapability.resolve();
|
557
|
-
}
|
558
|
-
}, {
|
559
|
-
key: "requestDataRange",
|
560
|
-
value: function requestDataRange(begin, end) {
|
561
|
-
(0, _util.unreachable)('Abstract method PDFDataRangeTransport.requestDataRange');
|
562
|
-
}
|
563
|
-
}, {
|
564
|
-
key: "abort",
|
565
|
-
value: function abort() {}
|
566
|
-
}]);
|
337
|
+
onDataProgressiveRead(chunk) {
|
338
|
+
this._readyCapability.promise.then(() => {
|
339
|
+
for (const listener of this._progressiveReadListeners) {
|
340
|
+
listener(chunk);
|
341
|
+
}
|
342
|
+
});
|
343
|
+
}
|
567
344
|
|
568
|
-
|
569
|
-
|
345
|
+
onDataProgressiveDone() {
|
346
|
+
this._readyCapability.promise.then(() => {
|
347
|
+
for (const listener of this._progressiveDoneListeners) {
|
348
|
+
listener();
|
349
|
+
}
|
350
|
+
});
|
351
|
+
}
|
570
352
|
|
571
|
-
|
353
|
+
transportReady() {
|
354
|
+
this._readyCapability.resolve();
|
355
|
+
}
|
356
|
+
|
357
|
+
requestDataRange(begin, end) {
|
358
|
+
(0, _util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange");
|
359
|
+
}
|
360
|
+
|
361
|
+
abort() {}
|
572
362
|
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
function PDFDocumentProxy(pdfInfo, transport) {
|
577
|
-
_classCallCheck(this, PDFDocumentProxy);
|
363
|
+
}
|
364
|
+
|
365
|
+
exports.PDFDataRangeTransport = PDFDataRangeTransport;
|
578
366
|
|
367
|
+
class PDFDocumentProxy {
|
368
|
+
constructor(pdfInfo, transport) {
|
579
369
|
this._pdfInfo = pdfInfo;
|
580
370
|
this._transport = transport;
|
581
371
|
}
|
582
372
|
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
return this._transport.getPage(pageNumber);
|
587
|
-
}
|
588
|
-
}, {
|
589
|
-
key: "getPageIndex",
|
590
|
-
value: function getPageIndex(ref) {
|
591
|
-
return this._transport.getPageIndex(ref);
|
592
|
-
}
|
593
|
-
}, {
|
594
|
-
key: "getDestinations",
|
595
|
-
value: function getDestinations() {
|
596
|
-
return this._transport.getDestinations();
|
597
|
-
}
|
598
|
-
}, {
|
599
|
-
key: "getDestination",
|
600
|
-
value: function getDestination(id) {
|
601
|
-
return this._transport.getDestination(id);
|
602
|
-
}
|
603
|
-
}, {
|
604
|
-
key: "getPageLabels",
|
605
|
-
value: function getPageLabels() {
|
606
|
-
return this._transport.getPageLabels();
|
607
|
-
}
|
608
|
-
}, {
|
609
|
-
key: "getPageLayout",
|
610
|
-
value: function getPageLayout() {
|
611
|
-
return this._transport.getPageLayout();
|
612
|
-
}
|
613
|
-
}, {
|
614
|
-
key: "getPageMode",
|
615
|
-
value: function getPageMode() {
|
616
|
-
return this._transport.getPageMode();
|
617
|
-
}
|
618
|
-
}, {
|
619
|
-
key: "getViewerPreferences",
|
620
|
-
value: function getViewerPreferences() {
|
621
|
-
return this._transport.getViewerPreferences();
|
622
|
-
}
|
623
|
-
}, {
|
624
|
-
key: "getOpenActionDestination",
|
625
|
-
value: function getOpenActionDestination() {
|
626
|
-
return this._transport.getOpenActionDestination();
|
627
|
-
}
|
628
|
-
}, {
|
629
|
-
key: "getAttachments",
|
630
|
-
value: function getAttachments() {
|
631
|
-
return this._transport.getAttachments();
|
632
|
-
}
|
633
|
-
}, {
|
634
|
-
key: "getJavaScript",
|
635
|
-
value: function getJavaScript() {
|
636
|
-
return this._transport.getJavaScript();
|
637
|
-
}
|
638
|
-
}, {
|
639
|
-
key: "getOutline",
|
640
|
-
value: function getOutline() {
|
641
|
-
return this._transport.getOutline();
|
642
|
-
}
|
643
|
-
}, {
|
644
|
-
key: "getPermissions",
|
645
|
-
value: function getPermissions() {
|
646
|
-
return this._transport.getPermissions();
|
647
|
-
}
|
648
|
-
}, {
|
649
|
-
key: "getMetadata",
|
650
|
-
value: function getMetadata() {
|
651
|
-
return this._transport.getMetadata();
|
652
|
-
}
|
653
|
-
}, {
|
654
|
-
key: "getData",
|
655
|
-
value: function getData() {
|
656
|
-
return this._transport.getData();
|
657
|
-
}
|
658
|
-
}, {
|
659
|
-
key: "getDownloadInfo",
|
660
|
-
value: function getDownloadInfo() {
|
661
|
-
return this._transport.downloadInfoCapability.promise;
|
662
|
-
}
|
663
|
-
}, {
|
664
|
-
key: "getStats",
|
665
|
-
value: function getStats() {
|
666
|
-
return this._transport.getStats();
|
667
|
-
}
|
668
|
-
}, {
|
669
|
-
key: "cleanup",
|
670
|
-
value: function cleanup() {
|
671
|
-
this._transport.startCleanup();
|
672
|
-
}
|
673
|
-
}, {
|
674
|
-
key: "destroy",
|
675
|
-
value: function destroy() {
|
676
|
-
return this.loadingTask.destroy();
|
677
|
-
}
|
678
|
-
}, {
|
679
|
-
key: "numPages",
|
680
|
-
get: function get() {
|
681
|
-
return this._pdfInfo.numPages;
|
682
|
-
}
|
683
|
-
}, {
|
684
|
-
key: "fingerprint",
|
685
|
-
get: function get() {
|
686
|
-
return this._pdfInfo.fingerprint;
|
687
|
-
}
|
688
|
-
}, {
|
689
|
-
key: "loadingParams",
|
690
|
-
get: function get() {
|
691
|
-
return this._transport.loadingParams;
|
692
|
-
}
|
693
|
-
}, {
|
694
|
-
key: "loadingTask",
|
695
|
-
get: function get() {
|
696
|
-
return this._transport.loadingTask;
|
697
|
-
}
|
698
|
-
}]);
|
699
|
-
|
700
|
-
return PDFDocumentProxy;
|
701
|
-
}();
|
373
|
+
get numPages() {
|
374
|
+
return this._pdfInfo.numPages;
|
375
|
+
}
|
702
376
|
|
703
|
-
|
377
|
+
get fingerprint() {
|
378
|
+
return this._pdfInfo.fingerprint;
|
379
|
+
}
|
380
|
+
|
381
|
+
getPage(pageNumber) {
|
382
|
+
return this._transport.getPage(pageNumber);
|
383
|
+
}
|
384
|
+
|
385
|
+
getPageIndex(ref) {
|
386
|
+
return this._transport.getPageIndex(ref);
|
387
|
+
}
|
388
|
+
|
389
|
+
getDestinations() {
|
390
|
+
return this._transport.getDestinations();
|
391
|
+
}
|
392
|
+
|
393
|
+
getDestination(id) {
|
394
|
+
return this._transport.getDestination(id);
|
395
|
+
}
|
396
|
+
|
397
|
+
getPageLabels() {
|
398
|
+
return this._transport.getPageLabels();
|
399
|
+
}
|
400
|
+
|
401
|
+
getPageLayout() {
|
402
|
+
return this._transport.getPageLayout();
|
403
|
+
}
|
404
|
+
|
405
|
+
getPageMode() {
|
406
|
+
return this._transport.getPageMode();
|
407
|
+
}
|
408
|
+
|
409
|
+
getViewerPreferences() {
|
410
|
+
return this._transport.getViewerPreferences();
|
411
|
+
}
|
412
|
+
|
413
|
+
getOpenAction() {
|
414
|
+
return this._transport.getOpenAction();
|
415
|
+
}
|
416
|
+
|
417
|
+
getOpenActionDestination() {
|
418
|
+
(0, _display_utils.deprecated)("getOpenActionDestination, use getOpenAction instead.");
|
419
|
+
return this.getOpenAction().then(function (openAction) {
|
420
|
+
return openAction && openAction.dest ? openAction.dest : null;
|
421
|
+
});
|
422
|
+
}
|
423
|
+
|
424
|
+
getAttachments() {
|
425
|
+
return this._transport.getAttachments();
|
426
|
+
}
|
427
|
+
|
428
|
+
getJavaScript() {
|
429
|
+
return this._transport.getJavaScript();
|
430
|
+
}
|
431
|
+
|
432
|
+
getOutline() {
|
433
|
+
return this._transport.getOutline();
|
434
|
+
}
|
435
|
+
|
436
|
+
getPermissions() {
|
437
|
+
return this._transport.getPermissions();
|
438
|
+
}
|
439
|
+
|
440
|
+
getMetadata() {
|
441
|
+
return this._transport.getMetadata();
|
442
|
+
}
|
443
|
+
|
444
|
+
getData() {
|
445
|
+
return this._transport.getData();
|
446
|
+
}
|
447
|
+
|
448
|
+
getDownloadInfo() {
|
449
|
+
return this._transport.downloadInfoCapability.promise;
|
450
|
+
}
|
451
|
+
|
452
|
+
getStats() {
|
453
|
+
return this._transport.getStats();
|
454
|
+
}
|
455
|
+
|
456
|
+
cleanup() {
|
457
|
+
return this._transport.startCleanup();
|
458
|
+
}
|
459
|
+
|
460
|
+
destroy() {
|
461
|
+
return this.loadingTask.destroy();
|
462
|
+
}
|
704
463
|
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
464
|
+
get loadingParams() {
|
465
|
+
return this._transport.loadingParams;
|
466
|
+
}
|
467
|
+
|
468
|
+
get loadingTask() {
|
469
|
+
return this._transport.loadingTask;
|
470
|
+
}
|
471
|
+
|
472
|
+
}
|
710
473
|
|
711
|
-
|
474
|
+
exports.PDFDocumentProxy = PDFDocumentProxy;
|
712
475
|
|
713
|
-
|
476
|
+
class PDFPageProxy {
|
477
|
+
constructor(pageIndex, pageInfo, transport, pdfBug = false) {
|
478
|
+
this._pageIndex = pageIndex;
|
714
479
|
this._pageInfo = pageInfo;
|
715
480
|
this._transport = transport;
|
716
|
-
this._stats = pdfBug ? new _display_utils.StatTimer() :
|
481
|
+
this._stats = pdfBug ? new _display_utils.StatTimer() : null;
|
717
482
|
this._pdfBug = pdfBug;
|
718
483
|
this.commonObjs = transport.commonObjs;
|
719
484
|
this.objs = new PDFObjects();
|
@@ -723,642 +488,606 @@ function () {
|
|
723
488
|
this.destroyed = false;
|
724
489
|
}
|
725
490
|
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
730
|
-
scale = _ref.scale,
|
731
|
-
_ref$rotation = _ref.rotation,
|
732
|
-
rotation = _ref$rotation === void 0 ? this.rotate : _ref$rotation,
|
733
|
-
_ref$dontFlip = _ref.dontFlip,
|
734
|
-
dontFlip = _ref$dontFlip === void 0 ? false : _ref$dontFlip;
|
735
|
-
|
736
|
-
if (arguments.length > 1 || typeof arguments[0] === 'number') {
|
737
|
-
(0, _display_utils.deprecated)('getViewport is called with obsolete arguments.');
|
738
|
-
scale = arguments[0];
|
739
|
-
rotation = typeof arguments[1] === 'number' ? arguments[1] : this.rotate;
|
740
|
-
dontFlip = typeof arguments[2] === 'boolean' ? arguments[2] : false;
|
741
|
-
}
|
742
|
-
|
743
|
-
return new _display_utils.PageViewport({
|
744
|
-
viewBox: this.view,
|
745
|
-
scale: scale,
|
746
|
-
rotation: rotation,
|
747
|
-
dontFlip: dontFlip
|
748
|
-
});
|
749
|
-
}
|
750
|
-
}, {
|
751
|
-
key: "getAnnotations",
|
752
|
-
value: function getAnnotations() {
|
753
|
-
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
754
|
-
_ref2$intent = _ref2.intent,
|
755
|
-
intent = _ref2$intent === void 0 ? null : _ref2$intent;
|
756
|
-
|
757
|
-
if (!this.annotationsPromise || this.annotationsIntent !== intent) {
|
758
|
-
this.annotationsPromise = this._transport.getAnnotations(this.pageIndex, intent);
|
759
|
-
this.annotationsIntent = intent;
|
760
|
-
}
|
761
|
-
|
762
|
-
return this.annotationsPromise;
|
763
|
-
}
|
764
|
-
}, {
|
765
|
-
key: "render",
|
766
|
-
value: function render(_ref3) {
|
767
|
-
var _this5 = this;
|
768
|
-
|
769
|
-
var canvasContext = _ref3.canvasContext,
|
770
|
-
viewport = _ref3.viewport,
|
771
|
-
_ref3$intent = _ref3.intent,
|
772
|
-
intent = _ref3$intent === void 0 ? 'display' : _ref3$intent,
|
773
|
-
_ref3$enableWebGL = _ref3.enableWebGL,
|
774
|
-
enableWebGL = _ref3$enableWebGL === void 0 ? false : _ref3$enableWebGL,
|
775
|
-
_ref3$renderInteracti = _ref3.renderInteractiveForms,
|
776
|
-
renderInteractiveForms = _ref3$renderInteracti === void 0 ? false : _ref3$renderInteracti,
|
777
|
-
_ref3$transform = _ref3.transform,
|
778
|
-
transform = _ref3$transform === void 0 ? null : _ref3$transform,
|
779
|
-
_ref3$imageLayer = _ref3.imageLayer,
|
780
|
-
imageLayer = _ref3$imageLayer === void 0 ? null : _ref3$imageLayer,
|
781
|
-
_ref3$canvasFactory = _ref3.canvasFactory,
|
782
|
-
canvasFactory = _ref3$canvasFactory === void 0 ? null : _ref3$canvasFactory,
|
783
|
-
_ref3$background = _ref3.background,
|
784
|
-
background = _ref3$background === void 0 ? null : _ref3$background;
|
785
|
-
var stats = this._stats;
|
786
|
-
stats.time('Overall');
|
787
|
-
var renderingIntent = intent === 'print' ? 'print' : 'display';
|
788
|
-
this.pendingCleanup = false;
|
789
|
-
|
790
|
-
if (!this.intentStates[renderingIntent]) {
|
791
|
-
this.intentStates[renderingIntent] = Object.create(null);
|
792
|
-
}
|
793
|
-
|
794
|
-
var intentState = this.intentStates[renderingIntent];
|
795
|
-
|
796
|
-
if (intentState.streamReaderCancelTimeout) {
|
797
|
-
clearTimeout(intentState.streamReaderCancelTimeout);
|
798
|
-
intentState.streamReaderCancelTimeout = null;
|
799
|
-
}
|
800
|
-
|
801
|
-
var canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();
|
802
|
-
var webGLContext = new _webgl.WebGLContext({
|
803
|
-
enable: enableWebGL
|
804
|
-
});
|
805
|
-
|
806
|
-
if (!intentState.displayReadyCapability) {
|
807
|
-
intentState.displayReadyCapability = (0, _util.createPromiseCapability)();
|
808
|
-
intentState.operatorList = {
|
809
|
-
fnArray: [],
|
810
|
-
argsArray: [],
|
811
|
-
lastChunk: false
|
812
|
-
};
|
813
|
-
stats.time('Page Request');
|
491
|
+
get pageNumber() {
|
492
|
+
return this._pageIndex + 1;
|
493
|
+
}
|
814
494
|
|
815
|
-
|
816
|
-
|
817
|
-
|
818
|
-
renderInteractiveForms: renderInteractiveForms === true
|
819
|
-
});
|
820
|
-
}
|
495
|
+
get rotate() {
|
496
|
+
return this._pageInfo.rotate;
|
497
|
+
}
|
821
498
|
|
822
|
-
|
823
|
-
|
499
|
+
get ref() {
|
500
|
+
return this._pageInfo.ref;
|
501
|
+
}
|
824
502
|
|
825
|
-
|
826
|
-
|
827
|
-
|
503
|
+
get userUnit() {
|
504
|
+
return this._pageInfo.userUnit;
|
505
|
+
}
|
828
506
|
|
829
|
-
|
830
|
-
|
831
|
-
|
507
|
+
get view() {
|
508
|
+
return this._pageInfo.view;
|
509
|
+
}
|
832
510
|
|
833
|
-
|
511
|
+
getViewport({
|
512
|
+
scale,
|
513
|
+
rotation = this.rotate,
|
514
|
+
offsetX = 0,
|
515
|
+
offsetY = 0,
|
516
|
+
dontFlip = false
|
517
|
+
} = {}) {
|
518
|
+
if (arguments.length > 1 || typeof arguments[0] === "number") {
|
519
|
+
throw new Error("PDFPageProxy.getViewport is called with obsolete arguments.");
|
520
|
+
}
|
521
|
+
|
522
|
+
return new _display_utils.PageViewport({
|
523
|
+
viewBox: this.view,
|
524
|
+
scale,
|
525
|
+
rotation,
|
526
|
+
offsetX,
|
527
|
+
offsetY,
|
528
|
+
dontFlip
|
529
|
+
});
|
530
|
+
}
|
834
531
|
|
835
|
-
|
836
|
-
|
532
|
+
getAnnotations({
|
533
|
+
intent = null
|
534
|
+
} = {}) {
|
535
|
+
if (!this.annotationsPromise || this.annotationsIntent !== intent) {
|
536
|
+
this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent);
|
537
|
+
this.annotationsIntent = intent;
|
538
|
+
}
|
837
539
|
|
838
|
-
|
839
|
-
|
840
|
-
reason: error
|
841
|
-
});
|
842
|
-
} else {
|
843
|
-
internalRenderTask.capability.resolve();
|
844
|
-
}
|
540
|
+
return this.annotationsPromise;
|
541
|
+
}
|
845
542
|
|
846
|
-
|
847
|
-
|
848
|
-
|
543
|
+
render({
|
544
|
+
canvasContext,
|
545
|
+
viewport,
|
546
|
+
intent = "display",
|
547
|
+
enableWebGL = false,
|
548
|
+
renderInteractiveForms = false,
|
549
|
+
transform = null,
|
550
|
+
imageLayer = null,
|
551
|
+
canvasFactory = null,
|
552
|
+
background = null
|
553
|
+
}) {
|
554
|
+
if (this._stats) {
|
555
|
+
this._stats.time("Overall");
|
556
|
+
}
|
557
|
+
|
558
|
+
const renderingIntent = intent === "print" ? "print" : "display";
|
559
|
+
this.pendingCleanup = false;
|
849
560
|
|
850
|
-
|
851
|
-
|
852
|
-
|
853
|
-
canvasContext: canvasContext,
|
854
|
-
viewport: viewport,
|
855
|
-
transform: transform,
|
856
|
-
imageLayer: imageLayer,
|
857
|
-
background: background
|
858
|
-
},
|
859
|
-
objs: this.objs,
|
860
|
-
commonObjs: this.commonObjs,
|
861
|
-
operatorList: intentState.operatorList,
|
862
|
-
pageNumber: this.pageNumber,
|
863
|
-
canvasFactory: canvasFactoryInstance,
|
864
|
-
webGLContext: webGLContext,
|
865
|
-
useRequestAnimationFrame: renderingIntent !== 'print',
|
866
|
-
pdfBug: this._pdfBug
|
867
|
-
});
|
561
|
+
if (!this.intentStates[renderingIntent]) {
|
562
|
+
this.intentStates[renderingIntent] = Object.create(null);
|
563
|
+
}
|
868
564
|
|
869
|
-
|
870
|
-
intentState.renderTasks = [];
|
871
|
-
}
|
565
|
+
const intentState = this.intentStates[renderingIntent];
|
872
566
|
|
873
|
-
|
874
|
-
|
875
|
-
intentState.
|
876
|
-
|
877
|
-
complete();
|
878
|
-
return;
|
879
|
-
}
|
567
|
+
if (intentState.streamReaderCancelTimeout) {
|
568
|
+
clearTimeout(intentState.streamReaderCancelTimeout);
|
569
|
+
intentState.streamReaderCancelTimeout = null;
|
570
|
+
}
|
880
571
|
|
881
|
-
|
882
|
-
|
883
|
-
|
884
|
-
|
885
|
-
return renderTask;
|
886
|
-
}
|
887
|
-
}, {
|
888
|
-
key: "getOperatorList",
|
889
|
-
value: function getOperatorList() {
|
890
|
-
function operatorListChanged() {
|
891
|
-
if (intentState.operatorList.lastChunk) {
|
892
|
-
intentState.opListReadCapability.resolve(intentState.operatorList);
|
893
|
-
var i = intentState.renderTasks.indexOf(opListTask);
|
894
|
-
|
895
|
-
if (i >= 0) {
|
896
|
-
intentState.renderTasks.splice(i, 1);
|
897
|
-
}
|
898
|
-
}
|
899
|
-
}
|
572
|
+
const canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();
|
573
|
+
const webGLContext = new _webgl.WebGLContext({
|
574
|
+
enable: enableWebGL
|
575
|
+
});
|
900
576
|
|
901
|
-
|
577
|
+
if (!intentState.displayReadyCapability) {
|
578
|
+
intentState.displayReadyCapability = (0, _util.createPromiseCapability)();
|
579
|
+
intentState.operatorList = {
|
580
|
+
fnArray: [],
|
581
|
+
argsArray: [],
|
582
|
+
lastChunk: false
|
583
|
+
};
|
902
584
|
|
903
|
-
if (
|
904
|
-
this.
|
585
|
+
if (this._stats) {
|
586
|
+
this._stats.time("Page Request");
|
905
587
|
}
|
906
588
|
|
907
|
-
|
908
|
-
|
589
|
+
this._pumpOperatorList({
|
590
|
+
pageIndex: this._pageIndex,
|
591
|
+
intent: renderingIntent,
|
592
|
+
renderInteractiveForms: renderInteractiveForms === true
|
593
|
+
});
|
594
|
+
}
|
909
595
|
|
910
|
-
|
911
|
-
|
912
|
-
opListTask.operatorListChanged = operatorListChanged;
|
913
|
-
intentState.opListReadCapability = (0, _util.createPromiseCapability)();
|
914
|
-
intentState.renderTasks = [];
|
915
|
-
intentState.renderTasks.push(opListTask);
|
916
|
-
intentState.operatorList = {
|
917
|
-
fnArray: [],
|
918
|
-
argsArray: [],
|
919
|
-
lastChunk: false
|
920
|
-
};
|
596
|
+
const complete = error => {
|
597
|
+
const i = intentState.renderTasks.indexOf(internalRenderTask);
|
921
598
|
|
922
|
-
|
599
|
+
if (i >= 0) {
|
600
|
+
intentState.renderTasks.splice(i, 1);
|
601
|
+
}
|
923
602
|
|
924
|
-
|
925
|
-
|
926
|
-
intent: renderingIntent
|
927
|
-
});
|
603
|
+
if (this.cleanupAfterRender || renderingIntent === "print") {
|
604
|
+
this.pendingCleanup = true;
|
928
605
|
}
|
929
606
|
|
930
|
-
|
931
|
-
}
|
932
|
-
}, {
|
933
|
-
key: "streamTextContent",
|
934
|
-
value: function streamTextContent() {
|
935
|
-
var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
936
|
-
_ref4$normalizeWhites = _ref4.normalizeWhitespace,
|
937
|
-
normalizeWhitespace = _ref4$normalizeWhites === void 0 ? false : _ref4$normalizeWhites,
|
938
|
-
_ref4$disableCombineT = _ref4.disableCombineTextItems,
|
939
|
-
disableCombineTextItems = _ref4$disableCombineT === void 0 ? false : _ref4$disableCombineT;
|
940
|
-
|
941
|
-
var TEXT_CONTENT_CHUNK_SIZE = 100;
|
942
|
-
return this._transport.messageHandler.sendWithStream('GetTextContent', {
|
943
|
-
pageIndex: this.pageNumber - 1,
|
944
|
-
normalizeWhitespace: normalizeWhitespace === true,
|
945
|
-
combineTextItems: disableCombineTextItems !== true
|
946
|
-
}, {
|
947
|
-
highWaterMark: TEXT_CONTENT_CHUNK_SIZE,
|
948
|
-
size: function size(textContent) {
|
949
|
-
return textContent.items.length;
|
950
|
-
}
|
951
|
-
});
|
952
|
-
}
|
953
|
-
}, {
|
954
|
-
key: "getTextContent",
|
955
|
-
value: function getTextContent() {
|
956
|
-
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
957
|
-
var readableStream = this.streamTextContent(params);
|
958
|
-
return new Promise(function (resolve, reject) {
|
959
|
-
function pump() {
|
960
|
-
reader.read().then(function (_ref5) {
|
961
|
-
var _textContent$items;
|
607
|
+
this._tryCleanup();
|
962
608
|
|
963
|
-
|
964
|
-
|
609
|
+
if (error) {
|
610
|
+
internalRenderTask.capability.reject(error);
|
965
611
|
|
966
|
-
|
967
|
-
|
968
|
-
|
969
|
-
|
612
|
+
this._abortOperatorList({
|
613
|
+
intentState,
|
614
|
+
reason: error
|
615
|
+
});
|
616
|
+
} else {
|
617
|
+
internalRenderTask.capability.resolve();
|
618
|
+
}
|
970
619
|
|
971
|
-
|
620
|
+
if (this._stats) {
|
621
|
+
this._stats.timeEnd("Rendering");
|
972
622
|
|
973
|
-
|
623
|
+
this._stats.timeEnd("Overall");
|
624
|
+
}
|
625
|
+
};
|
974
626
|
|
975
|
-
|
976
|
-
|
977
|
-
|
627
|
+
const internalRenderTask = new InternalRenderTask({
|
628
|
+
callback: complete,
|
629
|
+
params: {
|
630
|
+
canvasContext,
|
631
|
+
viewport,
|
632
|
+
transform,
|
633
|
+
imageLayer,
|
634
|
+
background
|
635
|
+
},
|
636
|
+
objs: this.objs,
|
637
|
+
commonObjs: this.commonObjs,
|
638
|
+
operatorList: intentState.operatorList,
|
639
|
+
pageIndex: this._pageIndex,
|
640
|
+
canvasFactory: canvasFactoryInstance,
|
641
|
+
webGLContext,
|
642
|
+
useRequestAnimationFrame: renderingIntent !== "print",
|
643
|
+
pdfBug: this._pdfBug
|
644
|
+
});
|
978
645
|
|
979
|
-
|
980
|
-
|
981
|
-
items: [],
|
982
|
-
styles: Object.create(null)
|
983
|
-
};
|
984
|
-
pump();
|
985
|
-
});
|
646
|
+
if (!intentState.renderTasks) {
|
647
|
+
intentState.renderTasks = [];
|
986
648
|
}
|
987
|
-
}, {
|
988
|
-
key: "_destroy",
|
989
|
-
value: function _destroy() {
|
990
|
-
var _this6 = this;
|
991
|
-
|
992
|
-
this.destroyed = true;
|
993
|
-
this._transport.pageCache[this.pageIndex] = null;
|
994
|
-
var waitOn = [];
|
995
|
-
Object.keys(this.intentStates).forEach(function (intent) {
|
996
|
-
var intentState = _this6.intentStates[intent];
|
997
|
-
|
998
|
-
_this6._abortOperatorList({
|
999
|
-
intentState: intentState,
|
1000
|
-
reason: new Error('Page was destroyed.'),
|
1001
|
-
force: true
|
1002
|
-
});
|
1003
|
-
|
1004
|
-
if (intent === 'oplist') {
|
1005
|
-
return;
|
1006
|
-
}
|
1007
649
|
|
1008
|
-
|
1009
|
-
|
1010
|
-
|
1011
|
-
|
1012
|
-
|
1013
|
-
});
|
1014
|
-
this.objs.clear();
|
1015
|
-
this.annotationsPromise = null;
|
1016
|
-
this.pendingCleanup = false;
|
1017
|
-
return Promise.all(waitOn);
|
1018
|
-
}
|
1019
|
-
}, {
|
1020
|
-
key: "cleanup",
|
1021
|
-
value: function cleanup() {
|
1022
|
-
var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
1023
|
-
this.pendingCleanup = true;
|
1024
|
-
|
1025
|
-
this._tryCleanup(resetStats);
|
1026
|
-
}
|
1027
|
-
}, {
|
1028
|
-
key: "_tryCleanup",
|
1029
|
-
value: function _tryCleanup() {
|
1030
|
-
var _this7 = this;
|
1031
|
-
|
1032
|
-
var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
1033
|
-
|
1034
|
-
if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {
|
1035
|
-
var intentState = _this7.intentStates[intent];
|
1036
|
-
return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;
|
1037
|
-
})) {
|
650
|
+
intentState.renderTasks.push(internalRenderTask);
|
651
|
+
const renderTask = internalRenderTask.task;
|
652
|
+
intentState.displayReadyCapability.promise.then(transparency => {
|
653
|
+
if (this.pendingCleanup) {
|
654
|
+
complete();
|
1038
655
|
return;
|
1039
656
|
}
|
1040
657
|
|
1041
|
-
|
1042
|
-
|
1043
|
-
});
|
1044
|
-
this.objs.clear();
|
1045
|
-
this.annotationsPromise = null;
|
1046
|
-
|
1047
|
-
if (resetStats && this._stats instanceof _display_utils.StatTimer) {
|
1048
|
-
this._stats = new _display_utils.StatTimer();
|
658
|
+
if (this._stats) {
|
659
|
+
this._stats.time("Rendering");
|
1049
660
|
}
|
1050
661
|
|
1051
|
-
|
1052
|
-
|
1053
|
-
|
1054
|
-
|
1055
|
-
|
1056
|
-
var intentState = this.intentStates[intent];
|
662
|
+
internalRenderTask.initializeGraphics(transparency);
|
663
|
+
internalRenderTask.operatorListChanged();
|
664
|
+
}).catch(complete);
|
665
|
+
return renderTask;
|
666
|
+
}
|
1057
667
|
|
1058
|
-
|
1059
|
-
|
668
|
+
getOperatorList() {
|
669
|
+
function operatorListChanged() {
|
670
|
+
if (intentState.operatorList.lastChunk) {
|
671
|
+
intentState.opListReadCapability.resolve(intentState.operatorList);
|
672
|
+
const i = intentState.renderTasks.indexOf(opListTask);
|
673
|
+
|
674
|
+
if (i >= 0) {
|
675
|
+
intentState.renderTasks.splice(i, 1);
|
676
|
+
}
|
1060
677
|
}
|
678
|
+
}
|
1061
679
|
|
1062
|
-
|
680
|
+
const renderingIntent = "oplist";
|
1063
681
|
|
1064
|
-
|
1065
|
-
|
1066
|
-
}
|
682
|
+
if (!this.intentStates[renderingIntent]) {
|
683
|
+
this.intentStates[renderingIntent] = Object.create(null);
|
1067
684
|
}
|
1068
|
-
}, {
|
1069
|
-
key: "_renderPageChunk",
|
1070
|
-
value: function _renderPageChunk(operatorListChunk, intentState) {
|
1071
|
-
for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {
|
1072
|
-
intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);
|
1073
|
-
intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);
|
1074
|
-
}
|
1075
685
|
|
1076
|
-
|
686
|
+
const intentState = this.intentStates[renderingIntent];
|
687
|
+
let opListTask;
|
1077
688
|
|
1078
|
-
|
1079
|
-
|
1080
|
-
|
689
|
+
if (!intentState.opListReadCapability) {
|
690
|
+
opListTask = {};
|
691
|
+
opListTask.operatorListChanged = operatorListChanged;
|
692
|
+
intentState.opListReadCapability = (0, _util.createPromiseCapability)();
|
693
|
+
intentState.renderTasks = [];
|
694
|
+
intentState.renderTasks.push(opListTask);
|
695
|
+
intentState.operatorList = {
|
696
|
+
fnArray: [],
|
697
|
+
argsArray: [],
|
698
|
+
lastChunk: false
|
699
|
+
};
|
1081
700
|
|
1082
|
-
if (
|
1083
|
-
this.
|
701
|
+
if (this._stats) {
|
702
|
+
this._stats.time("Page Request");
|
1084
703
|
}
|
704
|
+
|
705
|
+
this._pumpOperatorList({
|
706
|
+
pageIndex: this._pageIndex,
|
707
|
+
intent: renderingIntent
|
708
|
+
});
|
1085
709
|
}
|
1086
|
-
}, {
|
1087
|
-
key: "_pumpOperatorList",
|
1088
|
-
value: function _pumpOperatorList(args) {
|
1089
|
-
var _this8 = this;
|
1090
710
|
|
1091
|
-
|
711
|
+
return intentState.opListReadCapability.promise;
|
712
|
+
}
|
1092
713
|
|
1093
|
-
|
714
|
+
streamTextContent({
|
715
|
+
normalizeWhitespace = false,
|
716
|
+
disableCombineTextItems = false
|
717
|
+
} = {}) {
|
718
|
+
const TEXT_CONTENT_CHUNK_SIZE = 100;
|
719
|
+
return this._transport.messageHandler.sendWithStream("GetTextContent", {
|
720
|
+
pageIndex: this._pageIndex,
|
721
|
+
normalizeWhitespace: normalizeWhitespace === true,
|
722
|
+
combineTextItems: disableCombineTextItems !== true
|
723
|
+
}, {
|
724
|
+
highWaterMark: TEXT_CONTENT_CHUNK_SIZE,
|
1094
725
|
|
1095
|
-
|
1096
|
-
|
1097
|
-
|
726
|
+
size(textContent) {
|
727
|
+
return textContent.items.length;
|
728
|
+
}
|
1098
729
|
|
1099
|
-
|
1100
|
-
|
1101
|
-
var value = _ref6.value,
|
1102
|
-
done = _ref6.done;
|
730
|
+
});
|
731
|
+
}
|
1103
732
|
|
733
|
+
getTextContent(params = {}) {
|
734
|
+
const readableStream = this.streamTextContent(params);
|
735
|
+
return new Promise(function (resolve, reject) {
|
736
|
+
function pump() {
|
737
|
+
reader.read().then(function ({
|
738
|
+
value,
|
739
|
+
done
|
740
|
+
}) {
|
1104
741
|
if (done) {
|
1105
|
-
|
1106
|
-
return;
|
1107
|
-
}
|
1108
|
-
|
1109
|
-
if (_this8._transport.destroyed) {
|
742
|
+
resolve(textContent);
|
1110
743
|
return;
|
1111
744
|
}
|
1112
745
|
|
1113
|
-
|
1114
|
-
|
746
|
+
Object.assign(textContent.styles, value.styles);
|
747
|
+
textContent.items.push(...value.items);
|
1115
748
|
pump();
|
1116
|
-
},
|
1117
|
-
|
749
|
+
}, reject);
|
750
|
+
}
|
1118
751
|
|
1119
|
-
|
1120
|
-
|
1121
|
-
|
752
|
+
const reader = readableStream.getReader();
|
753
|
+
const textContent = {
|
754
|
+
items: [],
|
755
|
+
styles: Object.create(null)
|
756
|
+
};
|
757
|
+
pump();
|
758
|
+
});
|
759
|
+
}
|
1122
760
|
|
1123
|
-
|
1124
|
-
|
761
|
+
_destroy() {
|
762
|
+
this.destroyed = true;
|
763
|
+
this._transport.pageCache[this._pageIndex] = null;
|
764
|
+
const waitOn = [];
|
765
|
+
Object.keys(this.intentStates).forEach(intent => {
|
766
|
+
const intentState = this.intentStates[intent];
|
767
|
+
|
768
|
+
this._abortOperatorList({
|
769
|
+
intentState,
|
770
|
+
reason: new Error("Page was destroyed."),
|
771
|
+
force: true
|
772
|
+
});
|
1125
773
|
|
1126
|
-
|
1127
|
-
|
1128
|
-
|
774
|
+
if (intent === "oplist") {
|
775
|
+
return;
|
776
|
+
}
|
1129
777
|
|
1130
|
-
|
1131
|
-
|
778
|
+
intentState.renderTasks.forEach(function (renderTask) {
|
779
|
+
const renderCompleted = renderTask.capability.promise.catch(function () {});
|
780
|
+
waitOn.push(renderCompleted);
|
781
|
+
renderTask.cancel();
|
782
|
+
});
|
783
|
+
});
|
784
|
+
this.objs.clear();
|
785
|
+
this.annotationsPromise = null;
|
786
|
+
this.pendingCleanup = false;
|
787
|
+
return Promise.all(waitOn);
|
788
|
+
}
|
1132
789
|
|
1133
|
-
|
1134
|
-
|
1135
|
-
|
1136
|
-
|
1137
|
-
} else {
|
1138
|
-
throw reason;
|
1139
|
-
}
|
1140
|
-
});
|
1141
|
-
};
|
790
|
+
cleanup(resetStats = false) {
|
791
|
+
this.pendingCleanup = true;
|
792
|
+
return this._tryCleanup(resetStats);
|
793
|
+
}
|
1142
794
|
|
1143
|
-
|
795
|
+
_tryCleanup(resetStats = false) {
|
796
|
+
if (!this.pendingCleanup || Object.keys(this.intentStates).some(intent => {
|
797
|
+
const intentState = this.intentStates[intent];
|
798
|
+
return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;
|
799
|
+
})) {
|
800
|
+
return false;
|
801
|
+
}
|
802
|
+
|
803
|
+
Object.keys(this.intentStates).forEach(intent => {
|
804
|
+
delete this.intentStates[intent];
|
805
|
+
});
|
806
|
+
this.objs.clear();
|
807
|
+
this.annotationsPromise = null;
|
808
|
+
|
809
|
+
if (resetStats && this._stats) {
|
810
|
+
this._stats = new _display_utils.StatTimer();
|
1144
811
|
}
|
1145
|
-
}, {
|
1146
|
-
key: "_abortOperatorList",
|
1147
|
-
value: function _abortOperatorList(_ref7) {
|
1148
|
-
var _this9 = this;
|
1149
812
|
|
1150
|
-
|
1151
|
-
|
1152
|
-
|
1153
|
-
|
1154
|
-
|
813
|
+
this.pendingCleanup = false;
|
814
|
+
return true;
|
815
|
+
}
|
816
|
+
|
817
|
+
_startRenderPage(transparency, intent) {
|
818
|
+
const intentState = this.intentStates[intent];
|
1155
819
|
|
1156
|
-
|
1157
|
-
|
1158
|
-
|
820
|
+
if (!intentState) {
|
821
|
+
return;
|
822
|
+
}
|
823
|
+
|
824
|
+
if (this._stats) {
|
825
|
+
this._stats.timeEnd("Page Request");
|
826
|
+
}
|
827
|
+
|
828
|
+
if (intentState.displayReadyCapability) {
|
829
|
+
intentState.displayReadyCapability.resolve(transparency);
|
830
|
+
}
|
831
|
+
}
|
832
|
+
|
833
|
+
_renderPageChunk(operatorListChunk, intentState) {
|
834
|
+
for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {
|
835
|
+
intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);
|
836
|
+
intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);
|
837
|
+
}
|
838
|
+
|
839
|
+
intentState.operatorList.lastChunk = operatorListChunk.lastChunk;
|
840
|
+
|
841
|
+
for (let i = 0; i < intentState.renderTasks.length; i++) {
|
842
|
+
intentState.renderTasks[i].operatorListChanged();
|
843
|
+
}
|
844
|
+
|
845
|
+
if (operatorListChunk.lastChunk) {
|
846
|
+
this._tryCleanup();
|
847
|
+
}
|
848
|
+
}
|
849
|
+
|
850
|
+
_pumpOperatorList(args) {
|
851
|
+
(0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected "intent" argument.');
|
852
|
+
|
853
|
+
const readableStream = this._transport.messageHandler.sendWithStream("GetOperatorList", args);
|
1159
854
|
|
1160
|
-
|
1161
|
-
|
855
|
+
const reader = readableStream.getReader();
|
856
|
+
const intentState = this.intentStates[args.intent];
|
857
|
+
intentState.streamReader = reader;
|
858
|
+
|
859
|
+
const pump = () => {
|
860
|
+
reader.read().then(({
|
861
|
+
value,
|
862
|
+
done
|
863
|
+
}) => {
|
864
|
+
if (done) {
|
865
|
+
intentState.streamReader = null;
|
1162
866
|
return;
|
1163
867
|
}
|
1164
868
|
|
1165
|
-
if (
|
1166
|
-
|
1167
|
-
|
1168
|
-
|
1169
|
-
|
1170
|
-
|
1171
|
-
|
869
|
+
if (this._transport.destroyed) {
|
870
|
+
return;
|
871
|
+
}
|
872
|
+
|
873
|
+
this._renderPageChunk(value, intentState);
|
874
|
+
|
875
|
+
pump();
|
876
|
+
}, reason => {
|
877
|
+
intentState.streamReader = null;
|
1172
878
|
|
1173
|
-
|
1174
|
-
}, RENDERING_CANCELLED_TIMEOUT);
|
879
|
+
if (this._transport.destroyed) {
|
1175
880
|
return;
|
1176
881
|
}
|
1177
|
-
}
|
1178
882
|
|
1179
|
-
|
1180
|
-
|
883
|
+
if (intentState.operatorList) {
|
884
|
+
intentState.operatorList.lastChunk = true;
|
1181
885
|
|
1182
|
-
|
1183
|
-
|
1184
|
-
|
886
|
+
for (let i = 0; i < intentState.renderTasks.length; i++) {
|
887
|
+
intentState.renderTasks[i].operatorListChanged();
|
888
|
+
}
|
1185
889
|
|
1186
|
-
|
1187
|
-
if (_this9.intentStates[intent] === intentState) {
|
1188
|
-
delete _this9.intentStates[intent];
|
1189
|
-
return true;
|
890
|
+
this._tryCleanup();
|
1190
891
|
}
|
1191
892
|
|
1192
|
-
|
893
|
+
if (intentState.displayReadyCapability) {
|
894
|
+
intentState.displayReadyCapability.reject(reason);
|
895
|
+
} else if (intentState.opListReadCapability) {
|
896
|
+
intentState.opListReadCapability.reject(reason);
|
897
|
+
} else {
|
898
|
+
throw reason;
|
899
|
+
}
|
1193
900
|
});
|
1194
|
-
|
1195
|
-
|
1196
|
-
|
1197
|
-
|
1198
|
-
|
1199
|
-
|
1200
|
-
|
1201
|
-
|
1202
|
-
|
1203
|
-
|
1204
|
-
|
1205
|
-
|
1206
|
-
|
1207
|
-
|
1208
|
-
get: function get() {
|
1209
|
-
return this._pageInfo.ref;
|
1210
|
-
}
|
1211
|
-
}, {
|
1212
|
-
key: "userUnit",
|
1213
|
-
get: function get() {
|
1214
|
-
return this._pageInfo.userUnit;
|
901
|
+
};
|
902
|
+
|
903
|
+
pump();
|
904
|
+
}
|
905
|
+
|
906
|
+
_abortOperatorList({
|
907
|
+
intentState,
|
908
|
+
reason,
|
909
|
+
force = false
|
910
|
+
}) {
|
911
|
+
(0, _util.assert)(reason instanceof Error || typeof reason === "object" && reason !== null, 'PDFPageProxy._abortOperatorList: Expected "reason" argument.');
|
912
|
+
|
913
|
+
if (!intentState.streamReader) {
|
914
|
+
return;
|
1215
915
|
}
|
1216
|
-
|
1217
|
-
|
1218
|
-
|
1219
|
-
|
916
|
+
|
917
|
+
if (!force) {
|
918
|
+
if (intentState.renderTasks.length !== 0) {
|
919
|
+
return;
|
920
|
+
}
|
921
|
+
|
922
|
+
if (reason instanceof _display_utils.RenderingCancelledException) {
|
923
|
+
intentState.streamReaderCancelTimeout = setTimeout(() => {
|
924
|
+
this._abortOperatorList({
|
925
|
+
intentState,
|
926
|
+
reason,
|
927
|
+
force: true
|
928
|
+
});
|
929
|
+
|
930
|
+
intentState.streamReaderCancelTimeout = null;
|
931
|
+
}, RENDERING_CANCELLED_TIMEOUT);
|
932
|
+
return;
|
933
|
+
}
|
1220
934
|
}
|
1221
|
-
|
1222
|
-
|
1223
|
-
|
1224
|
-
|
935
|
+
|
936
|
+
intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));
|
937
|
+
intentState.streamReader = null;
|
938
|
+
|
939
|
+
if (this._transport.destroyed) {
|
940
|
+
return;
|
1225
941
|
}
|
1226
|
-
}]);
|
1227
942
|
|
1228
|
-
|
1229
|
-
|
943
|
+
Object.keys(this.intentStates).some(intent => {
|
944
|
+
if (this.intentStates[intent] === intentState) {
|
945
|
+
delete this.intentStates[intent];
|
946
|
+
return true;
|
947
|
+
}
|
1230
948
|
|
1231
|
-
|
949
|
+
return false;
|
950
|
+
});
|
951
|
+
this.cleanup();
|
952
|
+
}
|
953
|
+
|
954
|
+
get stats() {
|
955
|
+
return this._stats;
|
956
|
+
}
|
1232
957
|
|
1233
|
-
|
1234
|
-
/*#__PURE__*/
|
1235
|
-
function () {
|
1236
|
-
function LoopbackPort() {
|
1237
|
-
var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
958
|
+
}
|
1238
959
|
|
1239
|
-
|
960
|
+
exports.PDFPageProxy = PDFPageProxy;
|
1240
961
|
|
962
|
+
class LoopbackPort {
|
963
|
+
constructor(defer = true) {
|
1241
964
|
this._listeners = [];
|
1242
965
|
this._defer = defer;
|
1243
966
|
this._deferred = Promise.resolve(undefined);
|
1244
967
|
}
|
1245
968
|
|
1246
|
-
|
1247
|
-
|
1248
|
-
|
1249
|
-
|
1250
|
-
|
1251
|
-
function cloneValue(value) {
|
1252
|
-
if (_typeof(value) !== 'object' || value === null) {
|
1253
|
-
return value;
|
1254
|
-
}
|
1255
|
-
|
1256
|
-
if (cloned.has(value)) {
|
1257
|
-
return cloned.get(value);
|
1258
|
-
}
|
969
|
+
postMessage(obj, transfers) {
|
970
|
+
function cloneValue(value) {
|
971
|
+
if (typeof value !== "object" || value === null) {
|
972
|
+
return value;
|
973
|
+
}
|
1259
974
|
|
1260
|
-
|
975
|
+
if (cloned.has(value)) {
|
976
|
+
return cloned.get(value);
|
977
|
+
}
|
1261
978
|
|
1262
|
-
|
1263
|
-
var transferable = transfers && transfers.includes(buffer);
|
979
|
+
let buffer, result;
|
1264
980
|
|
1265
|
-
|
1266
|
-
|
1267
|
-
} else if (transferable) {
|
1268
|
-
result = new value.constructor(buffer, value.byteOffset, value.byteLength);
|
1269
|
-
} else {
|
1270
|
-
result = new value.constructor(value);
|
1271
|
-
}
|
981
|
+
if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {
|
982
|
+
const transferable = transfers && transfers.includes(buffer);
|
1272
983
|
|
1273
|
-
|
1274
|
-
|
984
|
+
if (transferable) {
|
985
|
+
result = new value.constructor(buffer, value.byteOffset, value.byteLength);
|
986
|
+
} else {
|
987
|
+
result = new value.constructor(value);
|
1275
988
|
}
|
1276
989
|
|
1277
|
-
result = Array.isArray(value) ? [] : {};
|
1278
990
|
cloned.set(value, result);
|
991
|
+
return result;
|
992
|
+
}
|
1279
993
|
|
1280
|
-
|
1281
|
-
|
1282
|
-
p = value;
|
994
|
+
result = Array.isArray(value) ? [] : {};
|
995
|
+
cloned.set(value, result);
|
1283
996
|
|
1284
|
-
|
1285
|
-
|
1286
|
-
|
997
|
+
for (const i in value) {
|
998
|
+
let desc,
|
999
|
+
p = value;
|
1287
1000
|
|
1288
|
-
|
1289
|
-
|
1290
|
-
|
1001
|
+
while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {
|
1002
|
+
p = Object.getPrototypeOf(p);
|
1003
|
+
}
|
1291
1004
|
|
1292
|
-
|
1293
|
-
|
1294
|
-
|
1295
|
-
}
|
1005
|
+
if (typeof desc.value === "undefined") {
|
1006
|
+
continue;
|
1007
|
+
}
|
1296
1008
|
|
1297
|
-
|
1009
|
+
if (typeof desc.value === "function") {
|
1010
|
+
if (value.hasOwnProperty && value.hasOwnProperty(i)) {
|
1011
|
+
throw new Error(`LoopbackPort.postMessage - cannot clone: ${value[i]}`);
|
1298
1012
|
}
|
1299
1013
|
|
1300
|
-
|
1014
|
+
continue;
|
1301
1015
|
}
|
1302
1016
|
|
1303
|
-
|
1017
|
+
result[i] = cloneValue(desc.value);
|
1304
1018
|
}
|
1305
1019
|
|
1306
|
-
|
1307
|
-
|
1308
|
-
|
1309
|
-
|
1310
|
-
|
1020
|
+
return result;
|
1021
|
+
}
|
1022
|
+
|
1023
|
+
if (!this._defer) {
|
1024
|
+
this._listeners.forEach(listener => {
|
1025
|
+
listener.call(this, {
|
1026
|
+
data: obj
|
1311
1027
|
});
|
1028
|
+
});
|
1312
1029
|
|
1313
|
-
|
1314
|
-
|
1030
|
+
return;
|
1031
|
+
}
|
1315
1032
|
|
1316
|
-
|
1317
|
-
|
1318
|
-
|
1319
|
-
|
1033
|
+
const cloned = new WeakMap();
|
1034
|
+
const e = {
|
1035
|
+
data: cloneValue(obj)
|
1036
|
+
};
|
1320
1037
|
|
1321
|
-
|
1322
|
-
|
1323
|
-
|
1324
|
-
});
|
1038
|
+
this._deferred.then(() => {
|
1039
|
+
this._listeners.forEach(listener => {
|
1040
|
+
listener.call(this, e);
|
1325
1041
|
});
|
1326
|
-
}
|
1327
|
-
}
|
1328
|
-
key: "addEventListener",
|
1329
|
-
value: function addEventListener(name, listener) {
|
1330
|
-
this._listeners.push(listener);
|
1331
|
-
}
|
1332
|
-
}, {
|
1333
|
-
key: "removeEventListener",
|
1334
|
-
value: function removeEventListener(name, listener) {
|
1335
|
-
var i = this._listeners.indexOf(listener);
|
1042
|
+
});
|
1043
|
+
}
|
1336
1044
|
|
1337
|
-
|
1338
|
-
|
1339
|
-
}
|
1340
|
-
key: "terminate",
|
1341
|
-
value: function terminate() {
|
1342
|
-
this._listeners.length = 0;
|
1343
|
-
}
|
1344
|
-
}]);
|
1045
|
+
addEventListener(name, listener) {
|
1046
|
+
this._listeners.push(listener);
|
1047
|
+
}
|
1345
1048
|
|
1346
|
-
|
1347
|
-
|
1049
|
+
removeEventListener(name, listener) {
|
1050
|
+
const i = this._listeners.indexOf(listener);
|
1051
|
+
|
1052
|
+
this._listeners.splice(i, 1);
|
1053
|
+
}
|
1054
|
+
|
1055
|
+
terminate() {
|
1056
|
+
this._listeners.length = 0;
|
1057
|
+
}
|
1058
|
+
|
1059
|
+
}
|
1348
1060
|
|
1349
1061
|
exports.LoopbackPort = LoopbackPort;
|
1350
1062
|
|
1351
|
-
|
1352
|
-
|
1353
|
-
|
1354
|
-
|
1063
|
+
const PDFWorker = function PDFWorkerClosure() {
|
1064
|
+
const pdfWorkerPorts = new WeakMap();
|
1065
|
+
let isWorkerDisabled = false;
|
1066
|
+
let fallbackWorkerSrc;
|
1067
|
+
let nextFakeWorkerId = 0;
|
1068
|
+
let fakeWorkerCapability;
|
1069
|
+
|
1070
|
+
if (_is_node.isNodeJS && typeof require === "function") {
|
1071
|
+
isWorkerDisabled = true;
|
1072
|
+
fallbackWorkerSrc = "../pdf.worker.js";
|
1073
|
+
} else if (typeof document === "object" && "currentScript" in document) {
|
1074
|
+
const pdfjsFilePath = document.currentScript && document.currentScript.src;
|
1075
|
+
|
1076
|
+
if (pdfjsFilePath) {
|
1077
|
+
fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, ".worker$1$2");
|
1078
|
+
}
|
1079
|
+
}
|
1355
1080
|
|
1356
|
-
function
|
1081
|
+
function getWorkerSrc() {
|
1357
1082
|
if (_worker_options.GlobalWorkerOptions.workerSrc) {
|
1358
1083
|
return _worker_options.GlobalWorkerOptions.workerSrc;
|
1359
1084
|
}
|
1360
1085
|
|
1361
|
-
if (typeof fallbackWorkerSrc !==
|
1086
|
+
if (typeof fallbackWorkerSrc !== "undefined") {
|
1087
|
+
if (!_is_node.isNodeJS) {
|
1088
|
+
(0, _display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.');
|
1089
|
+
}
|
1090
|
+
|
1362
1091
|
return fallbackWorkerSrc;
|
1363
1092
|
}
|
1364
1093
|
|
@@ -1366,59 +1095,55 @@ var PDFWorker = function PDFWorkerClosure() {
|
|
1366
1095
|
}
|
1367
1096
|
|
1368
1097
|
function getMainThreadWorkerMessageHandler() {
|
1098
|
+
let mainWorkerMessageHandler;
|
1099
|
+
|
1369
1100
|
try {
|
1370
|
-
|
1371
|
-
return window.pdfjsWorker && window.pdfjsWorker.WorkerMessageHandler;
|
1372
|
-
}
|
1101
|
+
mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;
|
1373
1102
|
} catch (ex) {}
|
1374
1103
|
|
1375
|
-
return null;
|
1104
|
+
return mainWorkerMessageHandler || null;
|
1376
1105
|
}
|
1377
1106
|
|
1378
1107
|
function setupFakeWorkerGlobal() {
|
1379
|
-
if (
|
1380
|
-
return
|
1108
|
+
if (fakeWorkerCapability) {
|
1109
|
+
return fakeWorkerCapability.promise;
|
1381
1110
|
}
|
1382
1111
|
|
1383
|
-
|
1384
|
-
var mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();
|
1112
|
+
fakeWorkerCapability = (0, _util.createPromiseCapability)();
|
1385
1113
|
|
1386
|
-
|
1387
|
-
|
1388
|
-
return fakeWorkerFilesLoadedCapability.promise;
|
1389
|
-
}
|
1114
|
+
const loader = async function () {
|
1115
|
+
const mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();
|
1390
1116
|
|
1391
|
-
|
1392
|
-
|
1393
|
-
|
1394
|
-
|
1117
|
+
if (mainWorkerMessageHandler) {
|
1118
|
+
return mainWorkerMessageHandler;
|
1119
|
+
}
|
1120
|
+
|
1121
|
+
if (_is_node.isNodeJS && typeof require === "function") {
|
1122
|
+
const worker = eval("require")(getWorkerSrc());
|
1123
|
+
return worker.WorkerMessageHandler;
|
1124
|
+
}
|
1125
|
+
|
1126
|
+
await (0, _display_utils.loadScript)(getWorkerSrc());
|
1127
|
+
return window.pdfjsWorker.WorkerMessageHandler;
|
1395
1128
|
};
|
1396
1129
|
|
1397
|
-
loader().then(
|
1398
|
-
return
|
1130
|
+
loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);
|
1131
|
+
return fakeWorkerCapability.promise;
|
1399
1132
|
}
|
1400
1133
|
|
1401
1134
|
function createCDNWrapper(url) {
|
1402
|
-
|
1135
|
+
const wrapper = "importScripts('" + url + "');";
|
1403
1136
|
return URL.createObjectURL(new Blob([wrapper]));
|
1404
1137
|
}
|
1405
1138
|
|
1406
|
-
|
1407
|
-
|
1408
|
-
|
1409
|
-
|
1410
|
-
|
1411
|
-
|
1412
|
-
name = _ref8$name === void 0 ? null : _ref8$name,
|
1413
|
-
_ref8$port = _ref8.port,
|
1414
|
-
port = _ref8$port === void 0 ? null : _ref8$port,
|
1415
|
-
_ref8$verbosity = _ref8.verbosity,
|
1416
|
-
verbosity = _ref8$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref8$verbosity;
|
1417
|
-
|
1418
|
-
_classCallCheck(this, PDFWorker);
|
1419
|
-
|
1139
|
+
class PDFWorker {
|
1140
|
+
constructor({
|
1141
|
+
name = null,
|
1142
|
+
port = null,
|
1143
|
+
verbosity = (0, _util.getVerbosityLevel)()
|
1144
|
+
} = {}) {
|
1420
1145
|
if (port && pdfWorkerPorts.has(port)) {
|
1421
|
-
throw new Error(
|
1146
|
+
throw new Error("Cannot use more than one PDFWorker per port");
|
1422
1147
|
}
|
1423
1148
|
|
1424
1149
|
this.name = name;
|
@@ -1441,215 +1166,199 @@ var PDFWorker = function PDFWorkerClosure() {
|
|
1441
1166
|
this._initialize();
|
1442
1167
|
}
|
1443
1168
|
|
1444
|
-
|
1445
|
-
|
1446
|
-
|
1447
|
-
this._port = port;
|
1448
|
-
this._messageHandler = new _message_handler.MessageHandler('main', 'worker', port);
|
1169
|
+
get promise() {
|
1170
|
+
return this._readyCapability.promise;
|
1171
|
+
}
|
1449
1172
|
|
1450
|
-
|
1173
|
+
get port() {
|
1174
|
+
return this._port;
|
1175
|
+
}
|
1451
1176
|
|
1452
|
-
|
1453
|
-
|
1454
|
-
}
|
1455
|
-
key: "_initialize",
|
1456
|
-
value: function _initialize() {
|
1457
|
-
var _this11 = this;
|
1177
|
+
get messageHandler() {
|
1178
|
+
return this._messageHandler;
|
1179
|
+
}
|
1458
1180
|
|
1459
|
-
|
1460
|
-
|
1181
|
+
_initializeFromPort(port) {
|
1182
|
+
this._port = port;
|
1183
|
+
this._messageHandler = new _message_handler.MessageHandler("main", "worker", port);
|
1461
1184
|
|
1462
|
-
|
1463
|
-
if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {
|
1464
|
-
workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);
|
1465
|
-
}
|
1185
|
+
this._messageHandler.on("ready", function () {});
|
1466
1186
|
|
1467
|
-
|
1468
|
-
|
1187
|
+
this._readyCapability.resolve();
|
1188
|
+
}
|
1469
1189
|
|
1470
|
-
|
1471
|
-
|
1472
|
-
|
1473
|
-
worker.terminate();
|
1190
|
+
_initialize() {
|
1191
|
+
if (typeof Worker !== "undefined" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {
|
1192
|
+
let workerSrc = getWorkerSrc();
|
1474
1193
|
|
1475
|
-
|
1476
|
-
|
1477
|
-
|
1478
|
-
|
1479
|
-
}
|
1480
|
-
};
|
1194
|
+
try {
|
1195
|
+
if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {
|
1196
|
+
workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);
|
1197
|
+
}
|
1481
1198
|
|
1482
|
-
|
1483
|
-
|
1484
|
-
terminateEarly();
|
1485
|
-
}
|
1486
|
-
};
|
1199
|
+
const worker = new Worker(workerSrc);
|
1200
|
+
const messageHandler = new _message_handler.MessageHandler("main", "worker", worker);
|
1487
1201
|
|
1488
|
-
|
1489
|
-
|
1490
|
-
|
1202
|
+
const terminateEarly = () => {
|
1203
|
+
worker.removeEventListener("error", onWorkerError);
|
1204
|
+
messageHandler.destroy();
|
1205
|
+
worker.terminate();
|
1491
1206
|
|
1492
|
-
|
1493
|
-
|
1494
|
-
|
1495
|
-
|
1207
|
+
if (this.destroyed) {
|
1208
|
+
this._readyCapability.reject(new Error("Worker was destroyed"));
|
1209
|
+
} else {
|
1210
|
+
this._setupFakeWorker();
|
1211
|
+
}
|
1212
|
+
};
|
1496
1213
|
|
1497
|
-
|
1498
|
-
|
1499
|
-
|
1500
|
-
|
1214
|
+
const onWorkerError = () => {
|
1215
|
+
if (!this._webWorker) {
|
1216
|
+
terminateEarly();
|
1217
|
+
}
|
1218
|
+
};
|
1501
1219
|
|
1502
|
-
|
1503
|
-
|
1504
|
-
|
1220
|
+
worker.addEventListener("error", onWorkerError);
|
1221
|
+
messageHandler.on("test", data => {
|
1222
|
+
worker.removeEventListener("error", onWorkerError);
|
1505
1223
|
|
1506
|
-
|
1224
|
+
if (this.destroyed) {
|
1225
|
+
terminateEarly();
|
1226
|
+
return;
|
1227
|
+
}
|
1507
1228
|
|
1508
|
-
|
1509
|
-
|
1510
|
-
|
1511
|
-
|
1512
|
-
_this11._setupFakeWorker();
|
1229
|
+
if (data) {
|
1230
|
+
this._messageHandler = messageHandler;
|
1231
|
+
this._port = worker;
|
1232
|
+
this._webWorker = worker;
|
1513
1233
|
|
1514
|
-
|
1515
|
-
|
1234
|
+
if (!data.supportTransfers) {
|
1235
|
+
this.postMessageTransfers = false;
|
1516
1236
|
}
|
1517
|
-
});
|
1518
|
-
messageHandler.on('ready', function (data) {
|
1519
|
-
worker.removeEventListener('error', onWorkerError);
|
1520
1237
|
|
1521
|
-
|
1522
|
-
terminateEarly();
|
1523
|
-
return;
|
1524
|
-
}
|
1238
|
+
this._readyCapability.resolve();
|
1525
1239
|
|
1526
|
-
|
1527
|
-
|
1528
|
-
}
|
1529
|
-
|
1530
|
-
|
1531
|
-
});
|
1240
|
+
messageHandler.send("configure", {
|
1241
|
+
verbosity: this.verbosity
|
1242
|
+
});
|
1243
|
+
} else {
|
1244
|
+
this._setupFakeWorker();
|
1532
1245
|
|
1533
|
-
|
1534
|
-
|
1246
|
+
messageHandler.destroy();
|
1247
|
+
worker.terminate();
|
1248
|
+
}
|
1249
|
+
});
|
1250
|
+
messageHandler.on("ready", data => {
|
1251
|
+
worker.removeEventListener("error", onWorkerError);
|
1535
1252
|
|
1536
|
-
|
1537
|
-
|
1538
|
-
|
1539
|
-
|
1540
|
-
testObj[0] = 0;
|
1541
|
-
messageHandler.send('test', testObj);
|
1542
|
-
}
|
1543
|
-
};
|
1253
|
+
if (this.destroyed) {
|
1254
|
+
terminateEarly();
|
1255
|
+
return;
|
1256
|
+
}
|
1544
1257
|
|
1545
|
-
|
1546
|
-
|
1547
|
-
|
1548
|
-
|
1549
|
-
|
1258
|
+
try {
|
1259
|
+
sendTest();
|
1260
|
+
} catch (e) {
|
1261
|
+
this._setupFakeWorker();
|
1262
|
+
}
|
1263
|
+
});
|
1264
|
+
|
1265
|
+
const sendTest = () => {
|
1266
|
+
const testObj = new Uint8Array([this.postMessageTransfers ? 255 : 0]);
|
1267
|
+
|
1268
|
+
try {
|
1269
|
+
messageHandler.send("test", testObj, [testObj.buffer]);
|
1270
|
+
} catch (ex) {
|
1271
|
+
(0, _util.warn)("Cannot use postMessage transfers.");
|
1272
|
+
testObj[0] = 0;
|
1273
|
+
messageHandler.send("test", testObj);
|
1274
|
+
}
|
1275
|
+
};
|
1276
|
+
|
1277
|
+
sendTest();
|
1278
|
+
return;
|
1279
|
+
} catch (e) {
|
1280
|
+
(0, _util.info)("The worker has been disabled.");
|
1550
1281
|
}
|
1282
|
+
}
|
1283
|
+
|
1284
|
+
this._setupFakeWorker();
|
1285
|
+
}
|
1551
1286
|
|
1552
|
-
|
1287
|
+
_setupFakeWorker() {
|
1288
|
+
if (!isWorkerDisabled) {
|
1289
|
+
(0, _util.warn)("Setting up fake worker.");
|
1290
|
+
isWorkerDisabled = true;
|
1553
1291
|
}
|
1554
|
-
}, {
|
1555
|
-
key: "_setupFakeWorker",
|
1556
|
-
value: function _setupFakeWorker() {
|
1557
|
-
var _this12 = this;
|
1558
1292
|
|
1559
|
-
|
1560
|
-
|
1561
|
-
|
1293
|
+
setupFakeWorkerGlobal().then(WorkerMessageHandler => {
|
1294
|
+
if (this.destroyed) {
|
1295
|
+
this._readyCapability.reject(new Error("Worker was destroyed"));
|
1296
|
+
|
1297
|
+
return;
|
1562
1298
|
}
|
1563
1299
|
|
1564
|
-
|
1565
|
-
|
1566
|
-
|
1300
|
+
const port = new LoopbackPort();
|
1301
|
+
this._port = port;
|
1302
|
+
const id = "fake" + nextFakeWorkerId++;
|
1303
|
+
const workerHandler = new _message_handler.MessageHandler(id + "_worker", id, port);
|
1304
|
+
WorkerMessageHandler.setup(workerHandler, port);
|
1305
|
+
const messageHandler = new _message_handler.MessageHandler(id, id + "_worker", port);
|
1306
|
+
this._messageHandler = messageHandler;
|
1567
1307
|
|
1568
|
-
|
1569
|
-
}
|
1308
|
+
this._readyCapability.resolve();
|
1570
1309
|
|
1571
|
-
|
1572
|
-
|
1573
|
-
var id = 'fake' + nextFakeWorkerId++;
|
1574
|
-
var workerHandler = new _message_handler.MessageHandler(id + '_worker', id, port);
|
1575
|
-
WorkerMessageHandler.setup(workerHandler, port);
|
1576
|
-
var messageHandler = new _message_handler.MessageHandler(id, id + '_worker', port);
|
1577
|
-
_this12._messageHandler = messageHandler;
|
1578
|
-
|
1579
|
-
_this12._readyCapability.resolve();
|
1580
|
-
})["catch"](function (reason) {
|
1581
|
-
_this12._readyCapability.reject(new Error("Setting up fake worker failed: \"".concat(reason.message, "\".")));
|
1310
|
+
messageHandler.send("configure", {
|
1311
|
+
verbosity: this.verbosity
|
1582
1312
|
});
|
1583
|
-
}
|
1584
|
-
|
1585
|
-
|
1586
|
-
|
1587
|
-
this.destroyed = true;
|
1313
|
+
}).catch(reason => {
|
1314
|
+
this._readyCapability.reject(new Error(`Setting up fake worker failed: "${reason.message}".`));
|
1315
|
+
});
|
1316
|
+
}
|
1588
1317
|
|
1589
|
-
|
1590
|
-
|
1318
|
+
destroy() {
|
1319
|
+
this.destroyed = true;
|
1591
1320
|
|
1592
|
-
|
1593
|
-
|
1321
|
+
if (this._webWorker) {
|
1322
|
+
this._webWorker.terminate();
|
1594
1323
|
|
1595
|
-
|
1596
|
-
|
1324
|
+
this._webWorker = null;
|
1325
|
+
}
|
1326
|
+
|
1327
|
+
pdfWorkerPorts.delete(this._port);
|
1328
|
+
this._port = null;
|
1597
1329
|
|
1598
|
-
|
1599
|
-
|
1330
|
+
if (this._messageHandler) {
|
1331
|
+
this._messageHandler.destroy();
|
1600
1332
|
|
1601
|
-
|
1602
|
-
}
|
1333
|
+
this._messageHandler = null;
|
1603
1334
|
}
|
1604
|
-
}
|
1605
|
-
|
1606
|
-
|
1607
|
-
|
1335
|
+
}
|
1336
|
+
|
1337
|
+
static fromPort(params) {
|
1338
|
+
if (!params || !params.port) {
|
1339
|
+
throw new Error("PDFWorker.fromPort - invalid method signature.");
|
1608
1340
|
}
|
1609
|
-
|
1610
|
-
|
1611
|
-
|
1612
|
-
return this._port;
|
1341
|
+
|
1342
|
+
if (pdfWorkerPorts.has(params.port)) {
|
1343
|
+
return pdfWorkerPorts.get(params.port);
|
1613
1344
|
}
|
1614
|
-
}, {
|
1615
|
-
key: "messageHandler",
|
1616
|
-
get: function get() {
|
1617
|
-
return this._messageHandler;
|
1618
|
-
}
|
1619
|
-
}], [{
|
1620
|
-
key: "fromPort",
|
1621
|
-
value: function fromPort(params) {
|
1622
|
-
if (!params || !params.port) {
|
1623
|
-
throw new Error('PDFWorker.fromPort - invalid method signature.');
|
1624
|
-
}
|
1625
1345
|
|
1626
|
-
|
1627
|
-
|
1628
|
-
}
|
1346
|
+
return new PDFWorker(params);
|
1347
|
+
}
|
1629
1348
|
|
1630
|
-
|
1631
|
-
|
1632
|
-
}
|
1633
|
-
key: "getWorkerSrc",
|
1634
|
-
value: function getWorkerSrc() {
|
1635
|
-
return _getWorkerSrc();
|
1636
|
-
}
|
1637
|
-
}]);
|
1349
|
+
static getWorkerSrc() {
|
1350
|
+
return getWorkerSrc();
|
1351
|
+
}
|
1638
1352
|
|
1639
|
-
|
1640
|
-
}();
|
1353
|
+
}
|
1641
1354
|
|
1642
1355
|
return PDFWorker;
|
1643
1356
|
}();
|
1644
1357
|
|
1645
1358
|
exports.PDFWorker = PDFWorker;
|
1646
1359
|
|
1647
|
-
|
1648
|
-
|
1649
|
-
function () {
|
1650
|
-
function WorkerTransport(messageHandler, loadingTask, networkStream, params) {
|
1651
|
-
_classCallCheck(this, WorkerTransport);
|
1652
|
-
|
1360
|
+
class WorkerTransport {
|
1361
|
+
constructor(messageHandler, loadingTask, networkStream, params) {
|
1653
1362
|
this.messageHandler = messageHandler;
|
1654
1363
|
this.loadingTask = loadingTask;
|
1655
1364
|
this.commonObjs = new PDFObjects();
|
@@ -1674,747 +1383,687 @@ function () {
|
|
1674
1383
|
this.setupMessageHandler();
|
1675
1384
|
}
|
1676
1385
|
|
1677
|
-
|
1678
|
-
|
1679
|
-
|
1680
|
-
|
1386
|
+
destroy() {
|
1387
|
+
if (this.destroyCapability) {
|
1388
|
+
return this.destroyCapability.promise;
|
1389
|
+
}
|
1681
1390
|
|
1682
|
-
|
1683
|
-
|
1684
|
-
}
|
1391
|
+
this.destroyed = true;
|
1392
|
+
this.destroyCapability = (0, _util.createPromiseCapability)();
|
1685
1393
|
|
1686
|
-
|
1687
|
-
this.
|
1394
|
+
if (this._passwordCapability) {
|
1395
|
+
this._passwordCapability.reject(new Error("Worker was destroyed during onPassword callback"));
|
1396
|
+
}
|
1688
1397
|
|
1689
|
-
|
1690
|
-
|
1398
|
+
const waitOn = [];
|
1399
|
+
this.pageCache.forEach(function (page) {
|
1400
|
+
if (page) {
|
1401
|
+
waitOn.push(page._destroy());
|
1402
|
+
}
|
1403
|
+
});
|
1404
|
+
this.pageCache.length = 0;
|
1405
|
+
this.pagePromises.length = 0;
|
1406
|
+
const terminated = this.messageHandler.sendWithPromise("Terminate", null);
|
1407
|
+
waitOn.push(terminated);
|
1408
|
+
Promise.all(waitOn).then(() => {
|
1409
|
+
this.fontLoader.clear();
|
1410
|
+
|
1411
|
+
if (this._networkStream) {
|
1412
|
+
this._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated."));
|
1691
1413
|
}
|
1692
1414
|
|
1693
|
-
|
1694
|
-
|
1695
|
-
|
1696
|
-
|
1697
|
-
}
|
1698
|
-
});
|
1699
|
-
this.pageCache.length = 0;
|
1700
|
-
this.pagePromises.length = 0;
|
1701
|
-
var terminated = this.messageHandler.sendWithPromise('Terminate', null);
|
1702
|
-
waitOn.push(terminated);
|
1703
|
-
Promise.all(waitOn).then(function () {
|
1704
|
-
_this13.fontLoader.clear();
|
1705
|
-
|
1706
|
-
if (_this13._networkStream) {
|
1707
|
-
_this13._networkStream.cancelAllRequests(new _util.AbortException('Worker was terminated.'));
|
1708
|
-
}
|
1709
|
-
|
1710
|
-
if (_this13.messageHandler) {
|
1711
|
-
_this13.messageHandler.destroy();
|
1415
|
+
if (this.messageHandler) {
|
1416
|
+
this.messageHandler.destroy();
|
1417
|
+
this.messageHandler = null;
|
1418
|
+
}
|
1712
1419
|
|
1713
|
-
|
1714
|
-
|
1420
|
+
this.destroyCapability.resolve();
|
1421
|
+
}, this.destroyCapability.reject);
|
1422
|
+
return this.destroyCapability.promise;
|
1423
|
+
}
|
1715
1424
|
|
1716
|
-
|
1717
|
-
|
1718
|
-
|
1719
|
-
|
1720
|
-
|
1721
|
-
|
1722
|
-
|
1723
|
-
|
1724
|
-
|
1725
|
-
|
1726
|
-
|
1727
|
-
|
1728
|
-
|
1729
|
-
_this14._fullReader = _this14._networkStream.getFullReader();
|
1730
|
-
|
1731
|
-
_this14._fullReader.onProgress = function (evt) {
|
1732
|
-
_this14._lastProgress = {
|
1733
|
-
loaded: evt.loaded,
|
1734
|
-
total: evt.total
|
1735
|
-
};
|
1425
|
+
setupMessageHandler() {
|
1426
|
+
const {
|
1427
|
+
messageHandler,
|
1428
|
+
loadingTask
|
1429
|
+
} = this;
|
1430
|
+
messageHandler.on("GetReader", (data, sink) => {
|
1431
|
+
(0, _util.assert)(this._networkStream);
|
1432
|
+
this._fullReader = this._networkStream.getFullReader();
|
1433
|
+
|
1434
|
+
this._fullReader.onProgress = evt => {
|
1435
|
+
this._lastProgress = {
|
1436
|
+
loaded: evt.loaded,
|
1437
|
+
total: evt.total
|
1736
1438
|
};
|
1439
|
+
};
|
1737
1440
|
|
1738
|
-
|
1739
|
-
|
1740
|
-
|
1741
|
-
|
1441
|
+
sink.onPull = () => {
|
1442
|
+
this._fullReader.read().then(function ({
|
1443
|
+
value,
|
1444
|
+
done
|
1445
|
+
}) {
|
1446
|
+
if (done) {
|
1447
|
+
sink.close();
|
1448
|
+
return;
|
1449
|
+
}
|
1742
1450
|
|
1743
|
-
|
1744
|
-
|
1745
|
-
|
1746
|
-
|
1451
|
+
(0, _util.assert)((0, _util.isArrayBuffer)(value));
|
1452
|
+
sink.enqueue(new Uint8Array(value), 1, [value]);
|
1453
|
+
}).catch(reason => {
|
1454
|
+
sink.error(reason);
|
1455
|
+
});
|
1456
|
+
};
|
1747
1457
|
|
1748
|
-
|
1749
|
-
|
1750
|
-
|
1751
|
-
|
1752
|
-
|
1753
|
-
|
1458
|
+
sink.onCancel = reason => {
|
1459
|
+
this._fullReader.cancel(reason);
|
1460
|
+
};
|
1461
|
+
});
|
1462
|
+
messageHandler.on("ReaderHeadersReady", data => {
|
1463
|
+
const headersCapability = (0, _util.createPromiseCapability)();
|
1464
|
+
const fullReader = this._fullReader;
|
1465
|
+
fullReader.headersReady.then(() => {
|
1466
|
+
if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {
|
1467
|
+
if (this._lastProgress && loadingTask.onProgress) {
|
1468
|
+
loadingTask.onProgress(this._lastProgress);
|
1469
|
+
}
|
1754
1470
|
|
1755
|
-
|
1756
|
-
|
1757
|
-
|
1758
|
-
|
1759
|
-
|
1760
|
-
|
1761
|
-
var fullReader = _this14._fullReader;
|
1762
|
-
fullReader.headersReady.then(function () {
|
1763
|
-
if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {
|
1764
|
-
if (_this14._lastProgress && loadingTask.onProgress) {
|
1765
|
-
loadingTask.onProgress(_this14._lastProgress);
|
1471
|
+
fullReader.onProgress = evt => {
|
1472
|
+
if (loadingTask.onProgress) {
|
1473
|
+
loadingTask.onProgress({
|
1474
|
+
loaded: evt.loaded,
|
1475
|
+
total: evt.total
|
1476
|
+
});
|
1766
1477
|
}
|
1478
|
+
};
|
1479
|
+
}
|
1767
1480
|
|
1768
|
-
|
1769
|
-
|
1770
|
-
|
1771
|
-
|
1772
|
-
|
1773
|
-
|
1774
|
-
|
1775
|
-
|
1776
|
-
|
1481
|
+
headersCapability.resolve({
|
1482
|
+
isStreamingSupported: fullReader.isStreamingSupported,
|
1483
|
+
isRangeSupported: fullReader.isRangeSupported,
|
1484
|
+
contentLength: fullReader.contentLength
|
1485
|
+
});
|
1486
|
+
}, headersCapability.reject);
|
1487
|
+
return headersCapability.promise;
|
1488
|
+
});
|
1489
|
+
messageHandler.on("GetRangeReader", (data, sink) => {
|
1490
|
+
(0, _util.assert)(this._networkStream);
|
1777
1491
|
|
1778
|
-
|
1779
|
-
isStreamingSupported: fullReader.isStreamingSupported,
|
1780
|
-
isRangeSupported: fullReader.isRangeSupported,
|
1781
|
-
contentLength: fullReader.contentLength
|
1782
|
-
});
|
1783
|
-
}, headersCapability.reject);
|
1784
|
-
return headersCapability.promise;
|
1785
|
-
});
|
1786
|
-
messageHandler.on('GetRangeReader', function (data, sink) {
|
1787
|
-
(0, _util.assert)(_this14._networkStream);
|
1492
|
+
const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);
|
1788
1493
|
|
1789
|
-
|
1494
|
+
if (!rangeReader) {
|
1495
|
+
sink.close();
|
1496
|
+
return;
|
1497
|
+
}
|
1790
1498
|
|
1791
|
-
|
1792
|
-
|
1793
|
-
|
1794
|
-
|
1499
|
+
sink.onPull = () => {
|
1500
|
+
rangeReader.read().then(function ({
|
1501
|
+
value,
|
1502
|
+
done
|
1503
|
+
}) {
|
1504
|
+
if (done) {
|
1505
|
+
sink.close();
|
1506
|
+
return;
|
1507
|
+
}
|
1795
1508
|
|
1796
|
-
|
1797
|
-
|
1798
|
-
|
1799
|
-
|
1509
|
+
(0, _util.assert)((0, _util.isArrayBuffer)(value));
|
1510
|
+
sink.enqueue(new Uint8Array(value), 1, [value]);
|
1511
|
+
}).catch(reason => {
|
1512
|
+
sink.error(reason);
|
1513
|
+
});
|
1514
|
+
};
|
1800
1515
|
|
1801
|
-
|
1802
|
-
|
1803
|
-
|
1804
|
-
|
1516
|
+
sink.onCancel = reason => {
|
1517
|
+
rangeReader.cancel(reason);
|
1518
|
+
};
|
1519
|
+
});
|
1520
|
+
messageHandler.on("GetDoc", ({
|
1521
|
+
pdfInfo
|
1522
|
+
}) => {
|
1523
|
+
this._numPages = pdfInfo.numPages;
|
1805
1524
|
|
1806
|
-
|
1807
|
-
|
1808
|
-
|
1809
|
-
|
1810
|
-
});
|
1811
|
-
};
|
1525
|
+
loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));
|
1526
|
+
});
|
1527
|
+
messageHandler.on("DocException", function (ex) {
|
1528
|
+
let reason;
|
1812
1529
|
|
1813
|
-
|
1814
|
-
|
1815
|
-
|
1816
|
-
|
1817
|
-
messageHandler.on('GetDoc', function (_ref11) {
|
1818
|
-
var pdfInfo = _ref11.pdfInfo;
|
1819
|
-
_this14._numPages = pdfInfo.numPages;
|
1530
|
+
switch (ex.name) {
|
1531
|
+
case "PasswordException":
|
1532
|
+
reason = new _util.PasswordException(ex.message, ex.code);
|
1533
|
+
break;
|
1820
1534
|
|
1821
|
-
|
1822
|
-
|
1823
|
-
|
1824
|
-
_this14._passwordCapability = (0, _util.createPromiseCapability)();
|
1535
|
+
case "InvalidPDFException":
|
1536
|
+
reason = new _util.InvalidPDFException(ex.message);
|
1537
|
+
break;
|
1825
1538
|
|
1826
|
-
|
1827
|
-
|
1828
|
-
|
1829
|
-
password: password
|
1830
|
-
});
|
1831
|
-
};
|
1539
|
+
case "MissingPDFException":
|
1540
|
+
reason = new _util.MissingPDFException(ex.message);
|
1541
|
+
break;
|
1832
1542
|
|
1833
|
-
|
1834
|
-
|
1835
|
-
|
1836
|
-
_this14._passwordCapability.reject(ex);
|
1837
|
-
}
|
1838
|
-
} else {
|
1839
|
-
_this14._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));
|
1840
|
-
}
|
1543
|
+
case "UnexpectedResponseException":
|
1544
|
+
reason = new _util.UnexpectedResponseException(ex.message, ex.status);
|
1545
|
+
break;
|
1841
1546
|
|
1842
|
-
|
1843
|
-
|
1844
|
-
|
1845
|
-
|
1846
|
-
});
|
1847
|
-
messageHandler.on('InvalidPDF', function (exception) {
|
1848
|
-
loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));
|
1849
|
-
});
|
1850
|
-
messageHandler.on('MissingPDF', function (exception) {
|
1851
|
-
loadingTask._capability.reject(new _util.MissingPDFException(exception.message));
|
1852
|
-
});
|
1853
|
-
messageHandler.on('UnexpectedResponse', function (exception) {
|
1854
|
-
loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status));
|
1855
|
-
});
|
1856
|
-
messageHandler.on('UnknownError', function (exception) {
|
1857
|
-
loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details));
|
1858
|
-
});
|
1859
|
-
messageHandler.on('DataLoaded', function (data) {
|
1860
|
-
if (loadingTask.onProgress) {
|
1861
|
-
loadingTask.onProgress({
|
1862
|
-
loaded: data.length,
|
1863
|
-
total: data.length
|
1864
|
-
});
|
1865
|
-
}
|
1547
|
+
case "UnknownErrorException":
|
1548
|
+
reason = new _util.UnknownErrorException(ex.message, ex.details);
|
1549
|
+
break;
|
1550
|
+
}
|
1866
1551
|
|
1867
|
-
|
1868
|
-
|
1869
|
-
|
1870
|
-
|
1871
|
-
return;
|
1872
|
-
}
|
1552
|
+
loadingTask._capability.reject(reason);
|
1553
|
+
});
|
1554
|
+
messageHandler.on("PasswordRequest", exception => {
|
1555
|
+
this._passwordCapability = (0, _util.createPromiseCapability)();
|
1873
1556
|
|
1874
|
-
|
1557
|
+
if (loadingTask.onPassword) {
|
1558
|
+
const updatePassword = password => {
|
1559
|
+
this._passwordCapability.resolve({
|
1560
|
+
password
|
1561
|
+
});
|
1562
|
+
};
|
1875
1563
|
|
1876
|
-
|
1877
|
-
|
1878
|
-
|
1879
|
-
|
1880
|
-
return;
|
1564
|
+
try {
|
1565
|
+
loadingTask.onPassword(updatePassword, exception.code);
|
1566
|
+
} catch (ex) {
|
1567
|
+
this._passwordCapability.reject(ex);
|
1881
1568
|
}
|
1569
|
+
} else {
|
1570
|
+
this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));
|
1571
|
+
}
|
1882
1572
|
|
1883
|
-
|
1884
|
-
|
1885
|
-
|
1886
|
-
|
1887
|
-
|
1888
|
-
|
1889
|
-
|
1890
|
-
}
|
1573
|
+
return this._passwordCapability.promise;
|
1574
|
+
});
|
1575
|
+
messageHandler.on("DataLoaded", data => {
|
1576
|
+
if (loadingTask.onProgress) {
|
1577
|
+
loadingTask.onProgress({
|
1578
|
+
loaded: data.length,
|
1579
|
+
total: data.length
|
1580
|
+
});
|
1581
|
+
}
|
1891
1582
|
|
1892
|
-
|
1893
|
-
|
1894
|
-
|
1583
|
+
this.downloadInfoCapability.resolve(data);
|
1584
|
+
});
|
1585
|
+
messageHandler.on("StartRenderPage", data => {
|
1586
|
+
if (this.destroyed) {
|
1587
|
+
return;
|
1588
|
+
}
|
1895
1589
|
|
1896
|
-
|
1897
|
-
var exportedError = exportedData.error;
|
1898
|
-
(0, _util.warn)("Error during font loading: ".concat(exportedError));
|
1590
|
+
const page = this.pageCache[data.pageIndex];
|
1899
1591
|
|
1900
|
-
|
1592
|
+
page._startRenderPage(data.transparency, data.intent);
|
1593
|
+
});
|
1594
|
+
messageHandler.on("commonobj", data => {
|
1595
|
+
if (this.destroyed) {
|
1596
|
+
return;
|
1597
|
+
}
|
1901
1598
|
|
1902
|
-
|
1903
|
-
}
|
1599
|
+
const [id, type, exportedData] = data;
|
1904
1600
|
|
1905
|
-
|
1601
|
+
if (this.commonObjs.has(id)) {
|
1602
|
+
return;
|
1603
|
+
}
|
1906
1604
|
|
1907
|
-
|
1908
|
-
|
1909
|
-
|
1910
|
-
_global_scope["default"]['FontInspector'].fontAdded(font, url);
|
1911
|
-
}
|
1912
|
-
};
|
1913
|
-
}
|
1605
|
+
switch (type) {
|
1606
|
+
case "Font":
|
1607
|
+
const params = this._params;
|
1914
1608
|
|
1915
|
-
|
1916
|
-
|
1917
|
-
|
1918
|
-
|
1919
|
-
|
1920
|
-
|
1921
|
-
});
|
1609
|
+
if ("error" in exportedData) {
|
1610
|
+
const exportedError = exportedData.error;
|
1611
|
+
(0, _util.warn)(`Error during font loading: ${exportedError}`);
|
1612
|
+
this.commonObjs.resolve(id, exportedError);
|
1613
|
+
break;
|
1614
|
+
}
|
1922
1615
|
|
1923
|
-
|
1924
|
-
_this14.commonObjs.resolve(id, font);
|
1925
|
-
}, function (reason) {
|
1926
|
-
messageHandler.sendWithPromise('FontFallback', {
|
1927
|
-
id: id
|
1928
|
-
})["finally"](function () {
|
1929
|
-
_this14.commonObjs.resolve(id, font);
|
1930
|
-
});
|
1931
|
-
});
|
1616
|
+
let fontRegistry = null;
|
1932
1617
|
|
1933
|
-
|
1618
|
+
if (params.pdfBug && globalThis.FontInspector && globalThis.FontInspector.enabled) {
|
1619
|
+
fontRegistry = {
|
1620
|
+
registerFont(font, url) {
|
1621
|
+
globalThis.FontInspector.fontAdded(font, url);
|
1622
|
+
}
|
1934
1623
|
|
1935
|
-
|
1936
|
-
|
1937
|
-
_this14.commonObjs.resolve(id, exportedData);
|
1624
|
+
};
|
1625
|
+
}
|
1938
1626
|
|
1939
|
-
|
1627
|
+
const font = new _font_loader.FontFaceObject(exportedData, {
|
1628
|
+
isEvalSupported: params.isEvalSupported,
|
1629
|
+
disableFontFace: params.disableFontFace,
|
1630
|
+
ignoreErrors: params.ignoreErrors,
|
1631
|
+
onUnsupportedFeature: this._onUnsupportedFeature.bind(this),
|
1632
|
+
fontRegistry
|
1633
|
+
});
|
1634
|
+
this.fontLoader.bind(font).then(() => {
|
1635
|
+
this.commonObjs.resolve(id, font);
|
1636
|
+
}, reason => {
|
1637
|
+
messageHandler.sendWithPromise("FontFallback", {
|
1638
|
+
id
|
1639
|
+
}).finally(() => {
|
1640
|
+
this.commonObjs.resolve(id, font);
|
1641
|
+
});
|
1642
|
+
});
|
1643
|
+
break;
|
1940
1644
|
|
1941
|
-
|
1942
|
-
|
1943
|
-
|
1944
|
-
|
1945
|
-
messageHandler.on('obj', function (data) {
|
1946
|
-
if (_this14.destroyed) {
|
1947
|
-
return undefined;
|
1948
|
-
}
|
1645
|
+
case "FontPath":
|
1646
|
+
case "FontType3Res":
|
1647
|
+
this.commonObjs.resolve(id, exportedData);
|
1648
|
+
break;
|
1949
1649
|
|
1950
|
-
|
1951
|
-
|
1952
|
-
|
1953
|
-
|
1954
|
-
|
1650
|
+
default:
|
1651
|
+
throw new Error(`Got unknown common object type ${type}`);
|
1652
|
+
}
|
1653
|
+
});
|
1654
|
+
messageHandler.on("obj", data => {
|
1655
|
+
if (this.destroyed) {
|
1656
|
+
return undefined;
|
1657
|
+
}
|
1955
1658
|
|
1956
|
-
|
1659
|
+
const [id, pageIndex, type, imageData] = data;
|
1660
|
+
const pageProxy = this.pageCache[pageIndex];
|
1957
1661
|
|
1958
|
-
|
1959
|
-
|
1960
|
-
|
1662
|
+
if (pageProxy.objs.has(id)) {
|
1663
|
+
return undefined;
|
1664
|
+
}
|
1961
1665
|
|
1962
|
-
|
1963
|
-
|
1964
|
-
|
1965
|
-
|
1666
|
+
switch (type) {
|
1667
|
+
case "JpegStream":
|
1668
|
+
return new Promise((resolve, reject) => {
|
1669
|
+
const img = new Image();
|
1966
1670
|
|
1967
|
-
|
1968
|
-
|
1969
|
-
|
1671
|
+
img.onload = function () {
|
1672
|
+
resolve(img);
|
1673
|
+
};
|
1970
1674
|
|
1971
|
-
|
1972
|
-
|
1973
|
-
|
1974
|
-
|
1675
|
+
img.onerror = function () {
|
1676
|
+
reject(new Error("Error during JPEG image loading"));
|
1677
|
+
(0, _display_utils.releaseImageResources)(img);
|
1678
|
+
};
|
1975
1679
|
|
1976
|
-
|
1977
|
-
|
1978
|
-
|
1979
|
-
|
1680
|
+
img.src = imageData;
|
1681
|
+
}).then(img => {
|
1682
|
+
pageProxy.objs.resolve(id, img);
|
1683
|
+
});
|
1980
1684
|
|
1981
|
-
|
1982
|
-
|
1983
|
-
|
1685
|
+
case "Image":
|
1686
|
+
pageProxy.objs.resolve(id, imageData);
|
1687
|
+
const MAX_IMAGE_SIZE_TO_STORE = 8000000;
|
1984
1688
|
|
1985
|
-
|
1986
|
-
|
1987
|
-
|
1689
|
+
if (imageData && "data" in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {
|
1690
|
+
pageProxy.cleanupAfterRender = true;
|
1691
|
+
}
|
1988
1692
|
|
1989
|
-
|
1693
|
+
break;
|
1990
1694
|
|
1991
|
-
|
1992
|
-
|
1993
|
-
|
1695
|
+
default:
|
1696
|
+
throw new Error(`Got unknown object type ${type}`);
|
1697
|
+
}
|
1994
1698
|
|
1995
|
-
|
1996
|
-
|
1997
|
-
|
1998
|
-
|
1999
|
-
|
2000
|
-
|
1699
|
+
return undefined;
|
1700
|
+
});
|
1701
|
+
messageHandler.on("DocProgress", data => {
|
1702
|
+
if (this.destroyed) {
|
1703
|
+
return;
|
1704
|
+
}
|
2001
1705
|
|
2002
|
-
|
2003
|
-
|
2004
|
-
|
2005
|
-
|
2006
|
-
|
2007
|
-
|
2008
|
-
|
2009
|
-
|
2010
|
-
|
2011
|
-
|
2012
|
-
|
2013
|
-
|
1706
|
+
if (loadingTask.onProgress) {
|
1707
|
+
loadingTask.onProgress({
|
1708
|
+
loaded: data.loaded,
|
1709
|
+
total: data.total
|
1710
|
+
});
|
1711
|
+
}
|
1712
|
+
});
|
1713
|
+
messageHandler.on("UnsupportedFeature", this._onUnsupportedFeature.bind(this));
|
1714
|
+
messageHandler.on("JpegDecode", data => {
|
1715
|
+
if (this.destroyed) {
|
1716
|
+
return Promise.reject(new Error("Worker was destroyed"));
|
1717
|
+
}
|
2014
1718
|
|
2015
|
-
|
2016
|
-
|
2017
|
-
|
1719
|
+
if (typeof document === "undefined") {
|
1720
|
+
return Promise.reject(new Error('"document" is not defined.'));
|
1721
|
+
}
|
2018
1722
|
|
2019
|
-
|
2020
|
-
imageUrl = _data3[0],
|
2021
|
-
components = _data3[1];
|
1723
|
+
const [imageUrl, components] = data;
|
2022
1724
|
|
2023
|
-
|
2024
|
-
|
2025
|
-
|
1725
|
+
if (components !== 3 && components !== 1) {
|
1726
|
+
return Promise.reject(new Error("Only 3 components or 1 component can be returned"));
|
1727
|
+
}
|
2026
1728
|
|
2027
|
-
|
2028
|
-
|
2029
|
-
|
2030
|
-
|
2031
|
-
|
2032
|
-
|
2033
|
-
|
2034
|
-
|
2035
|
-
|
2036
|
-
|
2037
|
-
|
2038
|
-
|
2039
|
-
|
2040
|
-
|
2041
|
-
|
2042
|
-
|
2043
|
-
|
2044
|
-
|
2045
|
-
|
2046
|
-
|
2047
|
-
|
2048
|
-
|
2049
|
-
|
2050
|
-
|
2051
|
-
|
2052
|
-
|
1729
|
+
return new Promise(function (resolve, reject) {
|
1730
|
+
const img = new Image();
|
1731
|
+
|
1732
|
+
img.onload = function () {
|
1733
|
+
const {
|
1734
|
+
width,
|
1735
|
+
height
|
1736
|
+
} = img;
|
1737
|
+
const size = width * height;
|
1738
|
+
const rgbaLength = size * 4;
|
1739
|
+
const buf = new Uint8ClampedArray(size * components);
|
1740
|
+
let tmpCanvas = document.createElement("canvas");
|
1741
|
+
tmpCanvas.width = width;
|
1742
|
+
tmpCanvas.height = height;
|
1743
|
+
let tmpCtx = tmpCanvas.getContext("2d");
|
1744
|
+
tmpCtx.drawImage(img, 0, 0);
|
1745
|
+
const data = tmpCtx.getImageData(0, 0, width, height).data;
|
1746
|
+
|
1747
|
+
if (components === 3) {
|
1748
|
+
for (let i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {
|
1749
|
+
buf[j] = data[i];
|
1750
|
+
buf[j + 1] = data[i + 1];
|
1751
|
+
buf[j + 2] = data[i + 2];
|
1752
|
+
}
|
1753
|
+
} else if (components === 1) {
|
1754
|
+
for (let i = 0, j = 0; i < rgbaLength; i += 4, j++) {
|
1755
|
+
buf[j] = data[i];
|
2053
1756
|
}
|
1757
|
+
}
|
2054
1758
|
|
2055
|
-
|
2056
|
-
|
2057
|
-
|
2058
|
-
|
2059
|
-
|
2060
|
-
|
2061
|
-
|
2062
|
-
|
2063
|
-
|
2064
|
-
|
2065
|
-
|
1759
|
+
resolve({
|
1760
|
+
data: buf,
|
1761
|
+
width,
|
1762
|
+
height
|
1763
|
+
});
|
1764
|
+
(0, _display_utils.releaseImageResources)(img);
|
1765
|
+
tmpCanvas.width = 0;
|
1766
|
+
tmpCanvas.height = 0;
|
1767
|
+
tmpCanvas = null;
|
1768
|
+
tmpCtx = null;
|
1769
|
+
};
|
2066
1770
|
|
2067
|
-
|
2068
|
-
|
2069
|
-
|
2070
|
-
|
1771
|
+
img.onerror = function () {
|
1772
|
+
reject(new Error("JpegDecode failed to load image"));
|
1773
|
+
(0, _display_utils.releaseImageResources)(img);
|
1774
|
+
};
|
2071
1775
|
|
2072
|
-
|
2073
|
-
});
|
1776
|
+
img.src = imageUrl;
|
2074
1777
|
});
|
2075
|
-
|
2076
|
-
|
2077
|
-
|
1778
|
+
});
|
1779
|
+
messageHandler.on("FetchBuiltInCMap", (data, sink) => {
|
1780
|
+
if (this.destroyed) {
|
1781
|
+
sink.error(new Error("Worker was destroyed"));
|
1782
|
+
return;
|
1783
|
+
}
|
1784
|
+
|
1785
|
+
let fetched = false;
|
1786
|
+
|
1787
|
+
sink.onPull = () => {
|
1788
|
+
if (fetched) {
|
1789
|
+
sink.close();
|
2078
1790
|
return;
|
2079
1791
|
}
|
2080
1792
|
|
2081
|
-
|
2082
|
-
|
2083
|
-
|
2084
|
-
|
2085
|
-
|
2086
|
-
|
2087
|
-
|
1793
|
+
fetched = true;
|
1794
|
+
this.CMapReaderFactory.fetch(data).then(function (builtInCMap) {
|
1795
|
+
sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);
|
1796
|
+
}).catch(function (reason) {
|
1797
|
+
sink.error(reason);
|
1798
|
+
});
|
1799
|
+
};
|
1800
|
+
});
|
1801
|
+
}
|
2088
1802
|
|
2089
|
-
|
1803
|
+
_onUnsupportedFeature({
|
1804
|
+
featureId
|
1805
|
+
}) {
|
1806
|
+
if (this.destroyed) {
|
1807
|
+
return;
|
1808
|
+
}
|
2090
1809
|
|
2091
|
-
|
2092
|
-
|
2093
|
-
})["catch"](function (reason) {
|
2094
|
-
sink.error(reason);
|
2095
|
-
});
|
2096
|
-
};
|
2097
|
-
});
|
1810
|
+
if (this.loadingTask.onUnsupportedFeature) {
|
1811
|
+
this.loadingTask.onUnsupportedFeature(featureId);
|
2098
1812
|
}
|
2099
|
-
}
|
2100
|
-
key: "_onUnsupportedFeature",
|
2101
|
-
value: function _onUnsupportedFeature(_ref12) {
|
2102
|
-
var featureId = _ref12.featureId;
|
1813
|
+
}
|
2103
1814
|
|
2104
|
-
|
2105
|
-
|
2106
|
-
|
1815
|
+
getData() {
|
1816
|
+
return this.messageHandler.sendWithPromise("GetData", null);
|
1817
|
+
}
|
2107
1818
|
|
2108
|
-
|
2109
|
-
|
2110
|
-
|
1819
|
+
getPage(pageNumber) {
|
1820
|
+
if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {
|
1821
|
+
return Promise.reject(new Error("Invalid page request"));
|
2111
1822
|
}
|
2112
|
-
|
2113
|
-
|
2114
|
-
|
2115
|
-
|
1823
|
+
|
1824
|
+
const pageIndex = pageNumber - 1;
|
1825
|
+
|
1826
|
+
if (pageIndex in this.pagePromises) {
|
1827
|
+
return this.pagePromises[pageIndex];
|
2116
1828
|
}
|
2117
|
-
}, {
|
2118
|
-
key: "getPage",
|
2119
|
-
value: function getPage(pageNumber) {
|
2120
|
-
var _this15 = this;
|
2121
1829
|
|
2122
|
-
|
2123
|
-
|
1830
|
+
const promise = this.messageHandler.sendWithPromise("GetPage", {
|
1831
|
+
pageIndex
|
1832
|
+
}).then(pageInfo => {
|
1833
|
+
if (this.destroyed) {
|
1834
|
+
throw new Error("Transport destroyed");
|
2124
1835
|
}
|
2125
1836
|
|
2126
|
-
|
1837
|
+
const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.pdfBug);
|
1838
|
+
this.pageCache[pageIndex] = page;
|
1839
|
+
return page;
|
1840
|
+
});
|
1841
|
+
this.pagePromises[pageIndex] = promise;
|
1842
|
+
return promise;
|
1843
|
+
}
|
2127
1844
|
|
2128
|
-
|
2129
|
-
|
2130
|
-
|
1845
|
+
getPageIndex(ref) {
|
1846
|
+
return this.messageHandler.sendWithPromise("GetPageIndex", {
|
1847
|
+
ref
|
1848
|
+
}).catch(function (reason) {
|
1849
|
+
return Promise.reject(new Error(reason));
|
1850
|
+
});
|
1851
|
+
}
|
2131
1852
|
|
2132
|
-
|
2133
|
-
|
2134
|
-
|
2135
|
-
|
2136
|
-
|
2137
|
-
|
1853
|
+
getAnnotations(pageIndex, intent) {
|
1854
|
+
return this.messageHandler.sendWithPromise("GetAnnotations", {
|
1855
|
+
pageIndex,
|
1856
|
+
intent
|
1857
|
+
});
|
1858
|
+
}
|
2138
1859
|
|
2139
|
-
|
2140
|
-
|
2141
|
-
|
2142
|
-
});
|
2143
|
-
this.pagePromises[pageIndex] = promise;
|
2144
|
-
return promise;
|
2145
|
-
}
|
2146
|
-
}, {
|
2147
|
-
key: "getPageIndex",
|
2148
|
-
value: function getPageIndex(ref) {
|
2149
|
-
return this.messageHandler.sendWithPromise('GetPageIndex', {
|
2150
|
-
ref: ref
|
2151
|
-
})["catch"](function (reason) {
|
2152
|
-
return Promise.reject(new Error(reason));
|
2153
|
-
});
|
2154
|
-
}
|
2155
|
-
}, {
|
2156
|
-
key: "getAnnotations",
|
2157
|
-
value: function getAnnotations(pageIndex, intent) {
|
2158
|
-
return this.messageHandler.sendWithPromise('GetAnnotations', {
|
2159
|
-
pageIndex: pageIndex,
|
2160
|
-
intent: intent
|
2161
|
-
});
|
2162
|
-
}
|
2163
|
-
}, {
|
2164
|
-
key: "getDestinations",
|
2165
|
-
value: function getDestinations() {
|
2166
|
-
return this.messageHandler.sendWithPromise('GetDestinations', null);
|
2167
|
-
}
|
2168
|
-
}, {
|
2169
|
-
key: "getDestination",
|
2170
|
-
value: function getDestination(id) {
|
2171
|
-
if (typeof id !== 'string') {
|
2172
|
-
return Promise.reject(new Error('Invalid destination request.'));
|
2173
|
-
}
|
1860
|
+
getDestinations() {
|
1861
|
+
return this.messageHandler.sendWithPromise("GetDestinations", null);
|
1862
|
+
}
|
2174
1863
|
|
2175
|
-
|
2176
|
-
|
2177
|
-
|
2178
|
-
}
|
2179
|
-
}, {
|
2180
|
-
key: "getPageLabels",
|
2181
|
-
value: function getPageLabels() {
|
2182
|
-
return this.messageHandler.sendWithPromise('GetPageLabels', null);
|
2183
|
-
}
|
2184
|
-
}, {
|
2185
|
-
key: "getPageLayout",
|
2186
|
-
value: function getPageLayout() {
|
2187
|
-
return this.messageHandler.sendWithPromise('GetPageLayout', null);
|
2188
|
-
}
|
2189
|
-
}, {
|
2190
|
-
key: "getPageMode",
|
2191
|
-
value: function getPageMode() {
|
2192
|
-
return this.messageHandler.sendWithPromise('GetPageMode', null);
|
2193
|
-
}
|
2194
|
-
}, {
|
2195
|
-
key: "getViewerPreferences",
|
2196
|
-
value: function getViewerPreferences() {
|
2197
|
-
return this.messageHandler.sendWithPromise('GetViewerPreferences', null);
|
2198
|
-
}
|
2199
|
-
}, {
|
2200
|
-
key: "getOpenActionDestination",
|
2201
|
-
value: function getOpenActionDestination() {
|
2202
|
-
return this.messageHandler.sendWithPromise('GetOpenActionDestination', null);
|
2203
|
-
}
|
2204
|
-
}, {
|
2205
|
-
key: "getAttachments",
|
2206
|
-
value: function getAttachments() {
|
2207
|
-
return this.messageHandler.sendWithPromise('GetAttachments', null);
|
2208
|
-
}
|
2209
|
-
}, {
|
2210
|
-
key: "getJavaScript",
|
2211
|
-
value: function getJavaScript() {
|
2212
|
-
return this.messageHandler.sendWithPromise('GetJavaScript', null);
|
2213
|
-
}
|
2214
|
-
}, {
|
2215
|
-
key: "getOutline",
|
2216
|
-
value: function getOutline() {
|
2217
|
-
return this.messageHandler.sendWithPromise('GetOutline', null);
|
2218
|
-
}
|
2219
|
-
}, {
|
2220
|
-
key: "getPermissions",
|
2221
|
-
value: function getPermissions() {
|
2222
|
-
return this.messageHandler.sendWithPromise('GetPermissions', null);
|
2223
|
-
}
|
2224
|
-
}, {
|
2225
|
-
key: "getMetadata",
|
2226
|
-
value: function getMetadata() {
|
2227
|
-
var _this16 = this;
|
2228
|
-
|
2229
|
-
return this.messageHandler.sendWithPromise('GetMetadata', null).then(function (results) {
|
2230
|
-
return {
|
2231
|
-
info: results[0],
|
2232
|
-
metadata: results[1] ? new _metadata.Metadata(results[1]) : null,
|
2233
|
-
contentDispositionFilename: _this16._fullReader ? _this16._fullReader.filename : null
|
2234
|
-
};
|
2235
|
-
});
|
2236
|
-
}
|
2237
|
-
}, {
|
2238
|
-
key: "getStats",
|
2239
|
-
value: function getStats() {
|
2240
|
-
return this.messageHandler.sendWithPromise('GetStats', null);
|
1864
|
+
getDestination(id) {
|
1865
|
+
if (typeof id !== "string") {
|
1866
|
+
return Promise.reject(new Error("Invalid destination request."));
|
2241
1867
|
}
|
2242
|
-
}, {
|
2243
|
-
key: "startCleanup",
|
2244
|
-
value: function startCleanup() {
|
2245
|
-
var _this17 = this;
|
2246
1868
|
|
2247
|
-
|
2248
|
-
|
2249
|
-
|
1869
|
+
return this.messageHandler.sendWithPromise("GetDestination", {
|
1870
|
+
id
|
1871
|
+
});
|
1872
|
+
}
|
2250
1873
|
|
2251
|
-
|
2252
|
-
|
2253
|
-
|
2254
|
-
}
|
1874
|
+
getPageLabels() {
|
1875
|
+
return this.messageHandler.sendWithPromise("GetPageLabels", null);
|
1876
|
+
}
|
2255
1877
|
|
2256
|
-
|
1878
|
+
getPageLayout() {
|
1879
|
+
return this.messageHandler.sendWithPromise("GetPageLayout", null);
|
1880
|
+
}
|
2257
1881
|
|
2258
|
-
|
2259
|
-
|
2260
|
-
|
2261
|
-
}, {
|
2262
|
-
key: "loadingParams",
|
2263
|
-
get: function get() {
|
2264
|
-
var params = this._params;
|
2265
|
-
return (0, _util.shadow)(this, 'loadingParams', {
|
2266
|
-
disableAutoFetch: params.disableAutoFetch,
|
2267
|
-
disableCreateObjectURL: params.disableCreateObjectURL,
|
2268
|
-
disableFontFace: params.disableFontFace,
|
2269
|
-
nativeImageDecoderSupport: params.nativeImageDecoderSupport
|
2270
|
-
});
|
2271
|
-
}
|
2272
|
-
}]);
|
1882
|
+
getPageMode() {
|
1883
|
+
return this.messageHandler.sendWithPromise("GetPageMode", null);
|
1884
|
+
}
|
2273
1885
|
|
2274
|
-
|
2275
|
-
|
1886
|
+
getViewerPreferences() {
|
1887
|
+
return this.messageHandler.sendWithPromise("GetViewerPreferences", null);
|
1888
|
+
}
|
2276
1889
|
|
2277
|
-
|
2278
|
-
|
2279
|
-
|
2280
|
-
function PDFObjects() {
|
2281
|
-
_classCallCheck(this, PDFObjects);
|
1890
|
+
getOpenAction() {
|
1891
|
+
return this.messageHandler.sendWithPromise("GetOpenAction", null);
|
1892
|
+
}
|
2282
1893
|
|
2283
|
-
|
1894
|
+
getAttachments() {
|
1895
|
+
return this.messageHandler.sendWithPromise("GetAttachments", null);
|
2284
1896
|
}
|
2285
1897
|
|
2286
|
-
|
2287
|
-
|
2288
|
-
|
2289
|
-
|
2290
|
-
|
2291
|
-
|
1898
|
+
getJavaScript() {
|
1899
|
+
return this.messageHandler.sendWithPromise("GetJavaScript", null);
|
1900
|
+
}
|
1901
|
+
|
1902
|
+
getOutline() {
|
1903
|
+
return this.messageHandler.sendWithPromise("GetOutline", null);
|
1904
|
+
}
|
1905
|
+
|
1906
|
+
getPermissions() {
|
1907
|
+
return this.messageHandler.sendWithPromise("GetPermissions", null);
|
1908
|
+
}
|
2292
1909
|
|
2293
|
-
|
2294
|
-
|
2295
|
-
|
2296
|
-
|
1910
|
+
getMetadata() {
|
1911
|
+
return this.messageHandler.sendWithPromise("GetMetadata", null).then(results => {
|
1912
|
+
return {
|
1913
|
+
info: results[0],
|
1914
|
+
metadata: results[1] ? new _metadata.Metadata(results[1]) : null,
|
1915
|
+
contentDispositionFilename: this._fullReader ? this._fullReader.filename : null
|
2297
1916
|
};
|
2298
|
-
}
|
2299
|
-
}
|
2300
|
-
key: "get",
|
2301
|
-
value: function get(objId) {
|
2302
|
-
var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
1917
|
+
});
|
1918
|
+
}
|
2303
1919
|
|
2304
|
-
|
2305
|
-
|
1920
|
+
getStats() {
|
1921
|
+
return this.messageHandler.sendWithPromise("GetStats", null);
|
1922
|
+
}
|
2306
1923
|
|
2307
|
-
|
2308
|
-
|
1924
|
+
startCleanup() {
|
1925
|
+
return this.messageHandler.sendWithPromise("Cleanup", null).then(() => {
|
1926
|
+
for (let i = 0, ii = this.pageCache.length; i < ii; i++) {
|
1927
|
+
const page = this.pageCache[i];
|
2309
1928
|
|
2310
|
-
|
1929
|
+
if (page) {
|
1930
|
+
const cleanupSuccessful = page.cleanup();
|
2311
1931
|
|
2312
|
-
|
2313
|
-
|
1932
|
+
if (!cleanupSuccessful) {
|
1933
|
+
throw new Error(`startCleanup: Page ${i + 1} is currently rendering.`);
|
1934
|
+
}
|
1935
|
+
}
|
2314
1936
|
}
|
2315
1937
|
|
2316
|
-
|
1938
|
+
this.commonObjs.clear();
|
1939
|
+
this.fontLoader.clear();
|
1940
|
+
});
|
1941
|
+
}
|
1942
|
+
|
1943
|
+
get loadingParams() {
|
1944
|
+
const params = this._params;
|
1945
|
+
return (0, _util.shadow)(this, "loadingParams", {
|
1946
|
+
disableAutoFetch: params.disableAutoFetch,
|
1947
|
+
disableCreateObjectURL: params.disableCreateObjectURL,
|
1948
|
+
disableFontFace: params.disableFontFace,
|
1949
|
+
nativeImageDecoderSupport: params.nativeImageDecoderSupport
|
1950
|
+
});
|
1951
|
+
}
|
1952
|
+
|
1953
|
+
}
|
1954
|
+
|
1955
|
+
class PDFObjects {
|
1956
|
+
constructor() {
|
1957
|
+
this._objs = Object.create(null);
|
1958
|
+
}
|
1959
|
+
|
1960
|
+
_ensureObj(objId) {
|
1961
|
+
if (this._objs[objId]) {
|
1962
|
+
return this._objs[objId];
|
2317
1963
|
}
|
2318
|
-
|
2319
|
-
|
2320
|
-
|
2321
|
-
|
2322
|
-
|
1964
|
+
|
1965
|
+
return this._objs[objId] = {
|
1966
|
+
capability: (0, _util.createPromiseCapability)(),
|
1967
|
+
data: null,
|
1968
|
+
resolved: false
|
1969
|
+
};
|
1970
|
+
}
|
1971
|
+
|
1972
|
+
get(objId, callback = null) {
|
1973
|
+
if (callback) {
|
1974
|
+
this._ensureObj(objId).capability.promise.then(callback);
|
1975
|
+
|
1976
|
+
return null;
|
2323
1977
|
}
|
2324
|
-
}, {
|
2325
|
-
key: "resolve",
|
2326
|
-
value: function resolve(objId, data) {
|
2327
|
-
var obj = this._ensureObj(objId);
|
2328
1978
|
|
2329
|
-
|
2330
|
-
|
2331
|
-
|
1979
|
+
const obj = this._objs[objId];
|
1980
|
+
|
1981
|
+
if (!obj || !obj.resolved) {
|
1982
|
+
throw new Error(`Requesting object that isn't resolved yet ${objId}.`);
|
2332
1983
|
}
|
2333
|
-
}, {
|
2334
|
-
key: "clear",
|
2335
|
-
value: function clear() {
|
2336
|
-
for (var objId in this._objs) {
|
2337
|
-
var data = this._objs[objId].data;
|
2338
1984
|
|
2339
|
-
|
2340
|
-
|
2341
|
-
|
2342
|
-
|
1985
|
+
return obj.data;
|
1986
|
+
}
|
1987
|
+
|
1988
|
+
has(objId) {
|
1989
|
+
const obj = this._objs[objId];
|
1990
|
+
return obj ? obj.resolved : false;
|
1991
|
+
}
|
1992
|
+
|
1993
|
+
resolve(objId, data) {
|
1994
|
+
const obj = this._ensureObj(objId);
|
2343
1995
|
|
2344
|
-
|
1996
|
+
obj.resolved = true;
|
1997
|
+
obj.data = data;
|
1998
|
+
obj.capability.resolve(data);
|
1999
|
+
}
|
2000
|
+
|
2001
|
+
clear() {
|
2002
|
+
for (const objId in this._objs) {
|
2003
|
+
const {
|
2004
|
+
data
|
2005
|
+
} = this._objs[objId];
|
2006
|
+
|
2007
|
+
if (typeof Image !== "undefined" && data instanceof Image) {
|
2008
|
+
(0, _display_utils.releaseImageResources)(data);
|
2009
|
+
}
|
2345
2010
|
}
|
2346
|
-
}]);
|
2347
2011
|
|
2348
|
-
|
2349
|
-
}
|
2012
|
+
this._objs = Object.create(null);
|
2013
|
+
}
|
2350
2014
|
|
2351
|
-
|
2352
|
-
/*#__PURE__*/
|
2353
|
-
function () {
|
2354
|
-
function RenderTask(internalRenderTask) {
|
2355
|
-
_classCallCheck(this, RenderTask);
|
2015
|
+
}
|
2356
2016
|
|
2017
|
+
class RenderTask {
|
2018
|
+
constructor(internalRenderTask) {
|
2357
2019
|
this._internalRenderTask = internalRenderTask;
|
2358
2020
|
this.onContinue = null;
|
2359
2021
|
}
|
2360
2022
|
|
2361
|
-
|
2362
|
-
|
2363
|
-
|
2364
|
-
this._internalRenderTask.cancel();
|
2365
|
-
}
|
2366
|
-
}, {
|
2367
|
-
key: "then",
|
2368
|
-
value: function then(onFulfilled, onRejected) {
|
2369
|
-
(0, _display_utils.deprecated)('RenderTask.then method, use the `promise` getter instead.');
|
2370
|
-
return this.promise.then.apply(this.promise, arguments);
|
2371
|
-
}
|
2372
|
-
}, {
|
2373
|
-
key: "promise",
|
2374
|
-
get: function get() {
|
2375
|
-
return this._internalRenderTask.capability.promise;
|
2376
|
-
}
|
2377
|
-
}]);
|
2023
|
+
get promise() {
|
2024
|
+
return this._internalRenderTask.capability.promise;
|
2025
|
+
}
|
2378
2026
|
|
2379
|
-
|
2380
|
-
|
2027
|
+
cancel() {
|
2028
|
+
this._internalRenderTask.cancel();
|
2029
|
+
}
|
2030
|
+
|
2031
|
+
then(onFulfilled, onRejected) {
|
2032
|
+
throw new Error("Removed API method: " + "RenderTask.then, use the `promise` getter instead.");
|
2033
|
+
}
|
2381
2034
|
|
2382
|
-
|
2383
|
-
var canvasInRendering = new WeakSet();
|
2384
|
-
|
2385
|
-
var InternalRenderTask =
|
2386
|
-
/*#__PURE__*/
|
2387
|
-
function () {
|
2388
|
-
function InternalRenderTask(_ref13) {
|
2389
|
-
var callback = _ref13.callback,
|
2390
|
-
params = _ref13.params,
|
2391
|
-
objs = _ref13.objs,
|
2392
|
-
commonObjs = _ref13.commonObjs,
|
2393
|
-
operatorList = _ref13.operatorList,
|
2394
|
-
pageNumber = _ref13.pageNumber,
|
2395
|
-
canvasFactory = _ref13.canvasFactory,
|
2396
|
-
webGLContext = _ref13.webGLContext,
|
2397
|
-
_ref13$useRequestAnim = _ref13.useRequestAnimationFrame,
|
2398
|
-
useRequestAnimationFrame = _ref13$useRequestAnim === void 0 ? false : _ref13$useRequestAnim,
|
2399
|
-
_ref13$pdfBug = _ref13.pdfBug,
|
2400
|
-
pdfBug = _ref13$pdfBug === void 0 ? false : _ref13$pdfBug;
|
2401
|
-
|
2402
|
-
_classCallCheck(this, InternalRenderTask);
|
2035
|
+
}
|
2403
2036
|
|
2037
|
+
const InternalRenderTask = function InternalRenderTaskClosure() {
|
2038
|
+
const canvasInRendering = new WeakSet();
|
2039
|
+
|
2040
|
+
class InternalRenderTask {
|
2041
|
+
constructor({
|
2042
|
+
callback,
|
2043
|
+
params,
|
2044
|
+
objs,
|
2045
|
+
commonObjs,
|
2046
|
+
operatorList,
|
2047
|
+
pageIndex,
|
2048
|
+
canvasFactory,
|
2049
|
+
webGLContext,
|
2050
|
+
useRequestAnimationFrame = false,
|
2051
|
+
pdfBug = false
|
2052
|
+
}) {
|
2404
2053
|
this.callback = callback;
|
2405
2054
|
this.params = params;
|
2406
2055
|
this.objs = objs;
|
2407
2056
|
this.commonObjs = commonObjs;
|
2408
2057
|
this.operatorListIdx = null;
|
2409
2058
|
this.operatorList = operatorList;
|
2410
|
-
this.
|
2059
|
+
this._pageIndex = pageIndex;
|
2411
2060
|
this.canvasFactory = canvasFactory;
|
2412
2061
|
this.webGLContext = webGLContext;
|
2413
2062
|
this._pdfBug = pdfBug;
|
2414
2063
|
this.running = false;
|
2415
2064
|
this.graphicsReadyCallback = null;
|
2416
2065
|
this.graphicsReady = false;
|
2417
|
-
this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !==
|
2066
|
+
this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined";
|
2418
2067
|
this.cancelled = false;
|
2419
2068
|
this.capability = (0, _util.createPromiseCapability)();
|
2420
2069
|
this.task = new RenderTask(this);
|
@@ -2424,172 +2073,134 @@ var InternalRenderTask = function InternalRenderTaskClosure() {
|
|
2424
2073
|
this._canvas = params.canvasContext.canvas;
|
2425
2074
|
}
|
2426
2075
|
|
2427
|
-
|
2428
|
-
|
2429
|
-
|
2430
|
-
|
2076
|
+
initializeGraphics(transparency = false) {
|
2077
|
+
if (this.cancelled) {
|
2078
|
+
return;
|
2079
|
+
}
|
2431
2080
|
|
2432
|
-
|
2433
|
-
|
2081
|
+
if (this._canvas) {
|
2082
|
+
if (canvasInRendering.has(this._canvas)) {
|
2083
|
+
throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use different canvas or ensure previous operations were " + "cancelled or completed.");
|
2434
2084
|
}
|
2435
2085
|
|
2436
|
-
|
2437
|
-
|
2438
|
-
throw new Error('Cannot use the same canvas during multiple render() operations. ' + 'Use different canvas or ensure previous operations were ' + 'cancelled or completed.');
|
2439
|
-
}
|
2086
|
+
canvasInRendering.add(this._canvas);
|
2087
|
+
}
|
2440
2088
|
|
2441
|
-
|
2442
|
-
|
2089
|
+
if (this._pdfBug && globalThis.StepperManager && globalThis.StepperManager.enabled) {
|
2090
|
+
this.stepper = globalThis.StepperManager.create(this._pageIndex);
|
2091
|
+
this.stepper.init(this.operatorList);
|
2092
|
+
this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();
|
2093
|
+
}
|
2443
2094
|
|
2444
|
-
|
2445
|
-
|
2446
|
-
|
2447
|
-
|
2448
|
-
|
2095
|
+
const {
|
2096
|
+
canvasContext,
|
2097
|
+
viewport,
|
2098
|
+
transform,
|
2099
|
+
imageLayer,
|
2100
|
+
background
|
2101
|
+
} = this.params;
|
2102
|
+
this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);
|
2103
|
+
this.gfx.beginDrawing({
|
2104
|
+
transform,
|
2105
|
+
viewport,
|
2106
|
+
transparency,
|
2107
|
+
background
|
2108
|
+
});
|
2109
|
+
this.operatorListIdx = 0;
|
2110
|
+
this.graphicsReady = true;
|
2449
2111
|
|
2450
|
-
|
2451
|
-
|
2452
|
-
|
2453
|
-
|
2454
|
-
imageLayer = _this$params.imageLayer,
|
2455
|
-
background = _this$params.background;
|
2456
|
-
this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);
|
2457
|
-
this.gfx.beginDrawing({
|
2458
|
-
transform: transform,
|
2459
|
-
viewport: viewport,
|
2460
|
-
transparency: transparency,
|
2461
|
-
background: background
|
2462
|
-
});
|
2463
|
-
this.operatorListIdx = 0;
|
2464
|
-
this.graphicsReady = true;
|
2112
|
+
if (this.graphicsReadyCallback) {
|
2113
|
+
this.graphicsReadyCallback();
|
2114
|
+
}
|
2115
|
+
}
|
2465
2116
|
|
2466
|
-
|
2467
|
-
|
2468
|
-
|
2117
|
+
cancel(error = null) {
|
2118
|
+
this.running = false;
|
2119
|
+
this.cancelled = true;
|
2120
|
+
|
2121
|
+
if (this.gfx) {
|
2122
|
+
this.gfx.endDrawing();
|
2469
2123
|
}
|
2470
|
-
}, {
|
2471
|
-
key: "cancel",
|
2472
|
-
value: function cancel() {
|
2473
|
-
var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
2474
|
-
this.running = false;
|
2475
|
-
this.cancelled = true;
|
2476
2124
|
|
2477
|
-
|
2478
|
-
|
2479
|
-
|
2125
|
+
if (this._canvas) {
|
2126
|
+
canvasInRendering.delete(this._canvas);
|
2127
|
+
}
|
2480
2128
|
|
2481
|
-
|
2482
|
-
|
2129
|
+
this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, "canvas"));
|
2130
|
+
}
|
2131
|
+
|
2132
|
+
operatorListChanged() {
|
2133
|
+
if (!this.graphicsReady) {
|
2134
|
+
if (!this.graphicsReadyCallback) {
|
2135
|
+
this.graphicsReadyCallback = this._continueBound;
|
2483
2136
|
}
|
2484
2137
|
|
2485
|
-
|
2138
|
+
return;
|
2486
2139
|
}
|
2487
|
-
}, {
|
2488
|
-
key: "operatorListChanged",
|
2489
|
-
value: function operatorListChanged() {
|
2490
|
-
if (!this.graphicsReady) {
|
2491
|
-
if (!this.graphicsReadyCallback) {
|
2492
|
-
this.graphicsReadyCallback = this._continueBound;
|
2493
|
-
}
|
2494
2140
|
|
2495
|
-
|
2496
|
-
|
2141
|
+
if (this.stepper) {
|
2142
|
+
this.stepper.updateOperatorList(this.operatorList);
|
2143
|
+
}
|
2497
2144
|
|
2498
|
-
|
2499
|
-
|
2500
|
-
|
2145
|
+
if (this.running) {
|
2146
|
+
return;
|
2147
|
+
}
|
2501
2148
|
|
2502
|
-
|
2503
|
-
|
2504
|
-
}
|
2149
|
+
this._continue();
|
2150
|
+
}
|
2505
2151
|
|
2506
|
-
|
2152
|
+
_continue() {
|
2153
|
+
this.running = true;
|
2154
|
+
|
2155
|
+
if (this.cancelled) {
|
2156
|
+
return;
|
2507
2157
|
}
|
2508
|
-
}, {
|
2509
|
-
key: "_continue",
|
2510
|
-
value: function _continue() {
|
2511
|
-
this.running = true;
|
2512
2158
|
|
2513
|
-
|
2514
|
-
|
2515
|
-
|
2159
|
+
if (this.task.onContinue) {
|
2160
|
+
this.task.onContinue(this._scheduleNextBound);
|
2161
|
+
} else {
|
2162
|
+
this._scheduleNext();
|
2163
|
+
}
|
2164
|
+
}
|
2516
2165
|
|
2517
|
-
|
2518
|
-
|
2519
|
-
|
2520
|
-
this.
|
2521
|
-
}
|
2166
|
+
_scheduleNext() {
|
2167
|
+
if (this._useRequestAnimationFrame) {
|
2168
|
+
window.requestAnimationFrame(() => {
|
2169
|
+
this._nextBound().catch(this.cancel.bind(this));
|
2170
|
+
});
|
2171
|
+
} else {
|
2172
|
+
Promise.resolve().then(this._nextBound).catch(this.cancel.bind(this));
|
2522
2173
|
}
|
2523
|
-
}
|
2524
|
-
key: "_scheduleNext",
|
2525
|
-
value: function _scheduleNext() {
|
2526
|
-
var _this18 = this;
|
2174
|
+
}
|
2527
2175
|
|
2528
|
-
|
2529
|
-
|
2530
|
-
|
2531
|
-
});
|
2532
|
-
} else {
|
2533
|
-
Promise.resolve().then(this._nextBound)["catch"](this.cancel.bind(this));
|
2534
|
-
}
|
2176
|
+
async _next() {
|
2177
|
+
if (this.cancelled) {
|
2178
|
+
return;
|
2535
2179
|
}
|
2536
|
-
}, {
|
2537
|
-
key: "_next",
|
2538
|
-
value: function () {
|
2539
|
-
var _next2 = _asyncToGenerator(
|
2540
|
-
/*#__PURE__*/
|
2541
|
-
_regenerator["default"].mark(function _callee() {
|
2542
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
2543
|
-
while (1) {
|
2544
|
-
switch (_context.prev = _context.next) {
|
2545
|
-
case 0:
|
2546
|
-
if (!this.cancelled) {
|
2547
|
-
_context.next = 2;
|
2548
|
-
break;
|
2549
|
-
}
|
2550
|
-
|
2551
|
-
return _context.abrupt("return");
|
2552
|
-
|
2553
|
-
case 2:
|
2554
|
-
this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);
|
2555
|
-
|
2556
|
-
if (this.operatorListIdx === this.operatorList.argsArray.length) {
|
2557
|
-
this.running = false;
|
2558
|
-
|
2559
|
-
if (this.operatorList.lastChunk) {
|
2560
|
-
this.gfx.endDrawing();
|
2561
|
-
|
2562
|
-
if (this._canvas) {
|
2563
|
-
canvasInRendering["delete"](this._canvas);
|
2564
|
-
}
|
2565
|
-
|
2566
|
-
this.callback();
|
2567
|
-
}
|
2568
|
-
}
|
2569
|
-
|
2570
|
-
case 4:
|
2571
|
-
case "end":
|
2572
|
-
return _context.stop();
|
2573
|
-
}
|
2574
|
-
}
|
2575
|
-
}, _callee, this);
|
2576
|
-
}));
|
2577
2180
|
|
2578
|
-
|
2579
|
-
return _next2.apply(this, arguments);
|
2580
|
-
}
|
2181
|
+
this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);
|
2581
2182
|
|
2582
|
-
|
2583
|
-
|
2584
|
-
|
2183
|
+
if (this.operatorListIdx === this.operatorList.argsArray.length) {
|
2184
|
+
this.running = false;
|
2185
|
+
|
2186
|
+
if (this.operatorList.lastChunk) {
|
2187
|
+
this.gfx.endDrawing();
|
2188
|
+
|
2189
|
+
if (this._canvas) {
|
2190
|
+
canvasInRendering.delete(this._canvas);
|
2191
|
+
}
|
2585
2192
|
|
2586
|
-
|
2587
|
-
|
2193
|
+
this.callback();
|
2194
|
+
}
|
2195
|
+
}
|
2196
|
+
}
|
2197
|
+
|
2198
|
+
}
|
2588
2199
|
|
2589
2200
|
return InternalRenderTask;
|
2590
2201
|
}();
|
2591
2202
|
|
2592
|
-
|
2203
|
+
const version = '2.4.456';
|
2593
2204
|
exports.version = version;
|
2594
|
-
|
2205
|
+
const build = '228a591c';
|
2595
2206
|
exports.build = build;
|