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