pdfjs-dist 2.1.266 → 2.2.228
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pdfjs-dist might be problematic. Click here for more details.
- package/CODE_OF_CONDUCT.md +15 -0
- package/bower.json +1 -1
- package/build/pdf.js +3349 -2324
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +1 -1
- package/build/pdf.worker.js +2804 -1975
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +1 -1
- package/image_decoders/pdf.image_decoders.js +431 -511
- 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 +294 -224
- package/lib/core/arithmetic_decoder.js +1 -1
- package/lib/core/bidi.js +1 -1
- package/lib/core/ccitt.js +1 -1
- package/lib/core/ccitt_stream.js +1 -1
- package/lib/core/cff_parser.js +61 -12
- package/lib/core/charsets.js +1 -1
- package/lib/core/chunked_stream.js +24 -14
- package/lib/core/cmap.js +17 -13
- package/lib/core/colorspace.js +1 -1
- package/lib/core/core_utils.js +147 -0
- package/lib/core/crypto.js +1 -1
- package/lib/core/document.js +47 -40
- package/lib/core/encodings.js +1 -1
- package/lib/core/evaluator.js +346 -279
- package/lib/core/font_renderer.js +1 -1
- package/lib/core/fonts.js +23 -11
- package/lib/core/function.js +1 -1
- package/lib/core/glyphlist.js +2 -2
- package/lib/core/image.js +2 -2
- package/lib/core/image_utils.js +111 -0
- package/lib/core/jbig2.js +1 -1
- package/lib/core/jbig2_stream.js +1 -1
- package/lib/core/jpeg_stream.js +1 -1
- package/lib/core/jpg.js +2 -1
- package/lib/core/jpx.js +1 -1
- package/lib/core/jpx_stream.js +1 -1
- package/lib/core/metrics.js +13 -13
- package/lib/core/murmurhash3.js +37 -33
- package/lib/core/obj.js +245 -41
- package/lib/core/operator_list.js +43 -32
- package/lib/core/parser.js +228 -133
- package/lib/core/pattern.js +4 -2
- package/lib/core/pdf_manager.js +17 -15
- package/lib/core/primitives.js +40 -6
- package/lib/core/ps_parser.js +1 -1
- package/lib/core/standard_fonts.js +9 -9
- package/lib/core/stream.js +1 -1
- package/lib/core/type1_parser.js +1 -1
- package/lib/core/unicode.js +2 -2
- package/lib/core/worker.js +54 -171
- package/lib/core/worker_stream.js +277 -0
- package/lib/display/annotation_layer.js +112 -33
- package/lib/display/api.js +211 -123
- package/lib/display/api_compatibility.js +1 -1
- package/lib/display/canvas.js +40 -19
- package/lib/display/content_disposition.js +1 -1
- package/lib/display/display_utils.js +747 -0
- package/lib/display/fetch_stream.js +19 -12
- package/lib/display/font_loader.js +11 -8
- package/lib/display/metadata.js +1 -1
- package/lib/display/network.js +563 -521
- package/lib/display/network_utils.js +1 -1
- package/lib/display/node_stream.js +21 -12
- package/lib/display/pattern_helper.js +24 -25
- package/lib/display/svg.js +1068 -565
- package/lib/display/text_layer.js +24 -14
- package/lib/display/transport_stream.js +192 -70
- package/lib/display/webgl.js +1 -1
- package/lib/display/worker_options.js +1 -1
- package/lib/display/xml_parser.js +1 -1
- package/lib/examples/node/domstubs.js +4 -1
- package/lib/pdf.js +20 -15
- package/lib/pdf.worker.js +3 -3
- package/lib/shared/compatibility.js +6 -6
- package/lib/shared/global_scope.js +1 -1
- package/lib/shared/is_node.js +2 -2
- package/lib/shared/message_handler.js +7 -7
- package/lib/shared/streams_polyfill.js +1 -1
- package/lib/shared/url_polyfill.js +1 -1
- package/lib/shared/util.js +13 -125
- package/lib/test/unit/annotation_spec.js +278 -93
- package/lib/test/unit/api_spec.js +198 -188
- package/lib/test/unit/bidi_spec.js +1 -1
- package/lib/test/unit/cff_parser_spec.js +15 -1
- package/lib/test/unit/clitests_helper.js +3 -3
- package/lib/test/unit/cmap_spec.js +20 -20
- package/lib/test/unit/colorspace_spec.js +17 -12
- package/lib/test/unit/core_utils_spec.js +191 -0
- package/lib/test/unit/crypto_spec.js +1 -1
- package/lib/test/unit/custom_spec.js +8 -8
- package/lib/test/unit/display_svg_spec.js +8 -8
- package/lib/test/unit/display_utils_spec.js +273 -0
- package/lib/test/unit/document_spec.js +7 -12
- package/lib/test/unit/encodings_spec.js +5 -5
- package/lib/test/unit/evaluator_spec.js +8 -10
- package/lib/test/unit/fetch_stream_spec.js +109 -0
- package/lib/test/unit/function_spec.js +1 -1
- package/lib/test/unit/jasmine-boot.js +4 -4
- package/lib/test/unit/message_handler_spec.js +1 -1
- package/lib/test/unit/metadata_spec.js +1 -1
- package/lib/test/unit/murmurhash3_spec.js +1 -1
- package/lib/test/unit/network_spec.js +5 -55
- package/lib/test/unit/network_utils_spec.js +51 -1
- package/lib/test/unit/node_stream_spec.js +8 -8
- package/lib/test/unit/parser_spec.js +150 -86
- package/lib/test/unit/pdf_find_controller_spec.js +1 -1
- package/lib/test/unit/pdf_find_utils_spec.js +1 -1
- package/lib/test/unit/pdf_history_spec.js +1 -1
- package/lib/test/unit/primitives_spec.js +30 -17
- package/lib/test/unit/stream_spec.js +1 -1
- package/lib/test/unit/test_utils.js +197 -43
- package/lib/test/unit/testreporter.js +1 -1
- package/lib/test/unit/type1_parser_spec.js +1 -1
- package/lib/test/unit/ui_utils_spec.js +20 -20
- package/lib/test/unit/unicode_spec.js +5 -5
- package/lib/test/unit/util_spec.js +1 -164
- package/lib/web/annotation_layer_builder.js +1 -1
- package/lib/web/app.js +104 -60
- package/lib/web/app_options.js +45 -37
- package/lib/web/base_viewer.js +7 -7
- package/lib/web/chromecom.js +8 -8
- package/lib/web/debugger.js +7 -7
- package/lib/web/download_manager.js +3 -2
- package/lib/web/firefox_print_service.js +4 -2
- package/lib/web/firefoxcom.js +50 -19
- package/lib/web/genericcom.js +8 -8
- package/lib/web/genericl10n.js +10 -10
- package/lib/web/grab_to_pan.js +3 -1
- package/lib/web/interfaces.js +13 -13
- package/lib/web/overlay_manager.js +10 -10
- package/lib/web/password_prompt.js +2 -2
- package/lib/web/pdf_attachment_viewer.js +1 -1
- package/lib/web/pdf_cursor_tools.js +1 -1
- package/lib/web/pdf_document_properties.js +188 -119
- package/lib/web/pdf_find_bar.js +1 -1
- package/lib/web/pdf_find_controller.js +3 -3
- package/lib/web/pdf_find_utils.js +1 -1
- package/lib/web/pdf_history.js +1 -1
- package/lib/web/pdf_link_service.js +2 -2
- package/lib/web/pdf_outline_viewer.js +53 -28
- package/lib/web/pdf_page_view.js +9 -18
- package/lib/web/pdf_presentation_mode.js +1 -1
- package/lib/web/pdf_print_service.js +5 -3
- package/lib/web/pdf_rendering_queue.js +4 -7
- package/lib/web/pdf_sidebar.js +24 -17
- package/lib/web/pdf_sidebar_resizer.js +1 -1
- package/lib/web/pdf_single_page_viewer.js +1 -1
- package/lib/web/pdf_thumbnail_view.js +2 -2
- package/lib/web/pdf_thumbnail_viewer.js +3 -3
- package/lib/web/pdf_viewer.component.js +3 -3
- package/lib/web/pdf_viewer.js +3 -3
- package/lib/web/preferences.js +30 -30
- package/lib/web/secondary_toolbar.js +1 -1
- package/lib/web/text_layer_builder.js +23 -45
- package/lib/web/toolbar.js +1 -1
- package/lib/web/ui_utils.js +14 -14
- package/lib/web/view_history.js +15 -15
- package/lib/web/viewer_compatibility.js +1 -1
- package/package.json +1 -1
- package/web/pdf_viewer.css +21 -10
- package/web/pdf_viewer.js +126 -194
- package/web/pdf_viewer.js.map +1 -1
- package/lib/display/dom_utils.js +0 -494
- package/lib/test/unit/dom_utils_spec.js +0 -89
package/lib/core/worker.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
* @licstart The following is the entire license notice for the
|
3
3
|
* Javascript code in this page
|
4
4
|
*
|
5
|
-
* Copyright
|
5
|
+
* Copyright 2019 Mozilla Foundation
|
6
6
|
*
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
* you may not use this file except in compliance with the License.
|
@@ -30,15 +30,19 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
30
30
|
|
31
31
|
var _util = require("../shared/util");
|
32
32
|
|
33
|
+
var _primitives = require("./primitives");
|
34
|
+
|
33
35
|
var _pdf_manager = require("./pdf_manager");
|
34
36
|
|
35
37
|
var _is_node = _interopRequireDefault(require("../shared/is_node"));
|
36
38
|
|
37
39
|
var _message_handler = require("../shared/message_handler");
|
38
40
|
|
39
|
-
var
|
41
|
+
var _worker_stream = require("./worker_stream");
|
40
42
|
|
41
|
-
|
43
|
+
var _core_utils = require("./core_utils");
|
44
|
+
|
45
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
42
46
|
|
43
47
|
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); }
|
44
48
|
|
@@ -82,141 +86,6 @@ var WorkerTask = function WorkerTaskClosure() {
|
|
82
86
|
}();
|
83
87
|
|
84
88
|
exports.WorkerTask = WorkerTask;
|
85
|
-
|
86
|
-
var PDFWorkerStream = function PDFWorkerStreamClosure() {
|
87
|
-
function PDFWorkerStream(msgHandler) {
|
88
|
-
this._msgHandler = msgHandler;
|
89
|
-
this._contentLength = null;
|
90
|
-
this._fullRequestReader = null;
|
91
|
-
this._rangeRequestReaders = [];
|
92
|
-
}
|
93
|
-
|
94
|
-
PDFWorkerStream.prototype = {
|
95
|
-
getFullReader: function getFullReader() {
|
96
|
-
(0, _util.assert)(!this._fullRequestReader);
|
97
|
-
this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);
|
98
|
-
return this._fullRequestReader;
|
99
|
-
},
|
100
|
-
getRangeReader: function getRangeReader(begin, end) {
|
101
|
-
var reader = new PDFWorkerStreamRangeReader(begin, end, this._msgHandler);
|
102
|
-
|
103
|
-
this._rangeRequestReaders.push(reader);
|
104
|
-
|
105
|
-
return reader;
|
106
|
-
},
|
107
|
-
cancelAllRequests: function cancelAllRequests(reason) {
|
108
|
-
if (this._fullRequestReader) {
|
109
|
-
this._fullRequestReader.cancel(reason);
|
110
|
-
}
|
111
|
-
|
112
|
-
var readers = this._rangeRequestReaders.slice(0);
|
113
|
-
|
114
|
-
readers.forEach(function (reader) {
|
115
|
-
reader.cancel(reason);
|
116
|
-
});
|
117
|
-
}
|
118
|
-
};
|
119
|
-
|
120
|
-
function PDFWorkerStreamReader(msgHandler) {
|
121
|
-
var _this = this;
|
122
|
-
|
123
|
-
this._msgHandler = msgHandler;
|
124
|
-
this._contentLength = null;
|
125
|
-
this._isRangeSupported = false;
|
126
|
-
this._isStreamingSupported = false;
|
127
|
-
|
128
|
-
var readableStream = this._msgHandler.sendWithStream('GetReader');
|
129
|
-
|
130
|
-
this._reader = readableStream.getReader();
|
131
|
-
this._headersReady = this._msgHandler.sendWithPromise('ReaderHeadersReady').then(function (data) {
|
132
|
-
_this._isStreamingSupported = data.isStreamingSupported;
|
133
|
-
_this._isRangeSupported = data.isRangeSupported;
|
134
|
-
_this._contentLength = data.contentLength;
|
135
|
-
});
|
136
|
-
}
|
137
|
-
|
138
|
-
PDFWorkerStreamReader.prototype = {
|
139
|
-
get headersReady() {
|
140
|
-
return this._headersReady;
|
141
|
-
},
|
142
|
-
|
143
|
-
get contentLength() {
|
144
|
-
return this._contentLength;
|
145
|
-
},
|
146
|
-
|
147
|
-
get isStreamingSupported() {
|
148
|
-
return this._isStreamingSupported;
|
149
|
-
},
|
150
|
-
|
151
|
-
get isRangeSupported() {
|
152
|
-
return this._isRangeSupported;
|
153
|
-
},
|
154
|
-
|
155
|
-
read: function read() {
|
156
|
-
return this._reader.read().then(function (_ref) {
|
157
|
-
var value = _ref.value,
|
158
|
-
done = _ref.done;
|
159
|
-
|
160
|
-
if (done) {
|
161
|
-
return {
|
162
|
-
value: undefined,
|
163
|
-
done: true
|
164
|
-
};
|
165
|
-
}
|
166
|
-
|
167
|
-
return {
|
168
|
-
value: value.buffer,
|
169
|
-
done: false
|
170
|
-
};
|
171
|
-
});
|
172
|
-
},
|
173
|
-
cancel: function cancel(reason) {
|
174
|
-
this._reader.cancel(reason);
|
175
|
-
}
|
176
|
-
};
|
177
|
-
|
178
|
-
function PDFWorkerStreamRangeReader(begin, end, msgHandler) {
|
179
|
-
this._msgHandler = msgHandler;
|
180
|
-
this.onProgress = null;
|
181
|
-
|
182
|
-
var readableStream = this._msgHandler.sendWithStream('GetRangeReader', {
|
183
|
-
begin: begin,
|
184
|
-
end: end
|
185
|
-
});
|
186
|
-
|
187
|
-
this._reader = readableStream.getReader();
|
188
|
-
}
|
189
|
-
|
190
|
-
PDFWorkerStreamRangeReader.prototype = {
|
191
|
-
get isStreamingSupported() {
|
192
|
-
return false;
|
193
|
-
},
|
194
|
-
|
195
|
-
read: function read() {
|
196
|
-
return this._reader.read().then(function (_ref2) {
|
197
|
-
var value = _ref2.value,
|
198
|
-
done = _ref2.done;
|
199
|
-
|
200
|
-
if (done) {
|
201
|
-
return {
|
202
|
-
value: undefined,
|
203
|
-
done: true
|
204
|
-
};
|
205
|
-
}
|
206
|
-
|
207
|
-
return {
|
208
|
-
value: value.buffer,
|
209
|
-
done: false
|
210
|
-
};
|
211
|
-
});
|
212
|
-
},
|
213
|
-
cancel: function cancel(reason) {
|
214
|
-
this._reader.cancel(reason);
|
215
|
-
}
|
216
|
-
};
|
217
|
-
return PDFWorkerStream;
|
218
|
-
}();
|
219
|
-
|
220
89
|
var WorkerMessageHandler = {
|
221
90
|
setup: function setup(handler, port) {
|
222
91
|
var testMessageProcessed = false;
|
@@ -265,8 +134,9 @@ var WorkerMessageHandler = {
|
|
265
134
|
var terminated = false;
|
266
135
|
var cancelXHRs = null;
|
267
136
|
var WorkerTasks = [];
|
137
|
+
var verbosity = (0, _util.getVerbosityLevel)();
|
268
138
|
var apiVersion = docParams.apiVersion;
|
269
|
-
var workerVersion = '2.
|
139
|
+
var workerVersion = '2.2.228';
|
270
140
|
|
271
141
|
if (apiVersion !== workerVersion) {
|
272
142
|
throw new Error("The API version \"".concat(apiVersion, "\" does not match ") + "the Worker version \"".concat(workerVersion, "\"."));
|
@@ -301,10 +171,10 @@ var WorkerMessageHandler = {
|
|
301
171
|
function _loadDocument() {
|
302
172
|
_loadDocument = _asyncToGenerator(
|
303
173
|
/*#__PURE__*/
|
304
|
-
_regenerator
|
305
|
-
var
|
174
|
+
_regenerator["default"].mark(function _callee(recoveryMode) {
|
175
|
+
var _ref4, _ref5, numPages, fingerprint;
|
306
176
|
|
307
|
-
return _regenerator
|
177
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
308
178
|
while (1) {
|
309
179
|
switch (_context.prev = _context.next) {
|
310
180
|
case 0:
|
@@ -333,10 +203,10 @@ var WorkerMessageHandler = {
|
|
333
203
|
return Promise.all([pdfManager.ensureDoc('numPages'), pdfManager.ensureDoc('fingerprint')]);
|
334
204
|
|
335
205
|
case 11:
|
336
|
-
|
337
|
-
|
338
|
-
numPages =
|
339
|
-
fingerprint =
|
206
|
+
_ref4 = _context.sent;
|
207
|
+
_ref5 = _slicedToArray(_ref4, 2);
|
208
|
+
numPages = _ref5[0];
|
209
|
+
fingerprint = _ref5[1];
|
340
210
|
return _context.abrupt("return", {
|
341
211
|
numPages: numPages,
|
342
212
|
fingerprint: fingerprint
|
@@ -347,7 +217,7 @@ var WorkerMessageHandler = {
|
|
347
217
|
return _context.stop();
|
348
218
|
}
|
349
219
|
}
|
350
|
-
}, _callee
|
220
|
+
}, _callee);
|
351
221
|
}));
|
352
222
|
return _loadDocument.apply(this, arguments);
|
353
223
|
}
|
@@ -372,7 +242,7 @@ var WorkerMessageHandler = {
|
|
372
242
|
cachedChunks = [];
|
373
243
|
|
374
244
|
try {
|
375
|
-
pdfStream = new PDFWorkerStream(handler);
|
245
|
+
pdfStream = new _worker_stream.PDFWorkerStream(handler);
|
376
246
|
} catch (ex) {
|
377
247
|
pdfManagerCapability.reject(ex);
|
378
248
|
return pdfManagerCapability.promise;
|
@@ -400,7 +270,7 @@ var WorkerMessageHandler = {
|
|
400
270
|
cachedChunks = [];
|
401
271
|
pdfManagerCapability.resolve(pdfManager);
|
402
272
|
cancelXHRs = null;
|
403
|
-
})
|
273
|
+
})["catch"](function (reason) {
|
404
274
|
pdfManagerCapability.reject(reason);
|
405
275
|
cancelXHRs = null;
|
406
276
|
});
|
@@ -461,7 +331,7 @@ var WorkerMessageHandler = {
|
|
461
331
|
|
462
332
|
fullRequest.read().then(readChunk, reject);
|
463
333
|
});
|
464
|
-
readPromise
|
334
|
+
readPromise["catch"](function (e) {
|
465
335
|
pdfManagerCapability.reject(e);
|
466
336
|
cancelXHRs = null;
|
467
337
|
});
|
@@ -491,7 +361,7 @@ var WorkerMessageHandler = {
|
|
491
361
|
finishWorkerTask(task);
|
492
362
|
pdfManager.updatePassword(data.password);
|
493
363
|
pdfManagerReady();
|
494
|
-
})
|
364
|
+
})["catch"](function (boundException) {
|
495
365
|
finishWorkerTask(task);
|
496
366
|
handler.send('PasswordException', boundException);
|
497
367
|
}.bind(null, e));
|
@@ -511,7 +381,7 @@ var WorkerMessageHandler = {
|
|
511
381
|
loadDocument(false).then(onSuccess, function loadFailure(ex) {
|
512
382
|
ensureNotTerminated();
|
513
383
|
|
514
|
-
if (!(ex instanceof
|
384
|
+
if (!(ex instanceof _core_utils.XRefParseException)) {
|
515
385
|
onFailure(ex);
|
516
386
|
return;
|
517
387
|
}
|
@@ -550,12 +420,12 @@ var WorkerMessageHandler = {
|
|
550
420
|
|
551
421
|
handler.on('GetPage', function wphSetupGetPage(data) {
|
552
422
|
return pdfManager.getPage(data.pageIndex).then(function (page) {
|
553
|
-
return Promise.all([pdfManager.ensure(page, 'rotate'), pdfManager.ensure(page, 'ref'), pdfManager.ensure(page, 'userUnit'), pdfManager.ensure(page, 'view')]).then(function (
|
554
|
-
var
|
555
|
-
rotate =
|
556
|
-
ref =
|
557
|
-
userUnit =
|
558
|
-
view =
|
423
|
+
return Promise.all([pdfManager.ensure(page, 'rotate'), pdfManager.ensure(page, 'ref'), pdfManager.ensure(page, 'userUnit'), pdfManager.ensure(page, 'view')]).then(function (_ref) {
|
424
|
+
var _ref2 = _slicedToArray(_ref, 4),
|
425
|
+
rotate = _ref2[0],
|
426
|
+
ref = _ref2[1],
|
427
|
+
userUnit = _ref2[2],
|
428
|
+
view = _ref2[3];
|
559
429
|
|
560
430
|
return {
|
561
431
|
rotate: rotate,
|
@@ -567,7 +437,8 @@ var WorkerMessageHandler = {
|
|
567
437
|
});
|
568
438
|
});
|
569
439
|
handler.on('GetPageIndex', function wphSetupGetPageIndex(data) {
|
570
|
-
var ref =
|
440
|
+
var ref = _primitives.Ref.get(data.ref.num, data.ref.gen);
|
441
|
+
|
571
442
|
var catalog = pdfManager.pdfDocument.catalog;
|
572
443
|
return catalog.getPageIndex(ref);
|
573
444
|
});
|
@@ -580,10 +451,16 @@ var WorkerMessageHandler = {
|
|
580
451
|
handler.on('GetPageLabels', function wphSetupGetPageLabels(data) {
|
581
452
|
return pdfManager.ensureCatalog('pageLabels');
|
582
453
|
});
|
454
|
+
handler.on('GetPageLayout', function wphSetupGetPageLayout(data) {
|
455
|
+
return pdfManager.ensureCatalog('pageLayout');
|
456
|
+
});
|
583
457
|
handler.on('GetPageMode', function wphSetupGetPageMode(data) {
|
584
458
|
return pdfManager.ensureCatalog('pageMode');
|
585
459
|
});
|
586
|
-
handler.on('
|
460
|
+
handler.on('GetViewerPreferences', function (data) {
|
461
|
+
return pdfManager.ensureCatalog('viewerPreferences');
|
462
|
+
});
|
463
|
+
handler.on('GetOpenActionDestination', function (data) {
|
587
464
|
return pdfManager.ensureCatalog('openActionDestination');
|
588
465
|
});
|
589
466
|
handler.on('GetAttachments', function wphSetupGetAttachments(data) {
|
@@ -610,9 +487,9 @@ var WorkerMessageHandler = {
|
|
610
487
|
handler.on('GetStats', function wphSetupGetStats(data) {
|
611
488
|
return pdfManager.pdfDocument.xref.stats;
|
612
489
|
});
|
613
|
-
handler.on('GetAnnotations', function (
|
614
|
-
var pageIndex =
|
615
|
-
intent =
|
490
|
+
handler.on('GetAnnotations', function (_ref3) {
|
491
|
+
var pageIndex = _ref3.pageIndex,
|
492
|
+
intent = _ref3.intent;
|
616
493
|
return pdfManager.getPage(pageIndex).then(function (page) {
|
617
494
|
return page.getAnnotationsData(intent);
|
618
495
|
});
|
@@ -622,8 +499,7 @@ var WorkerMessageHandler = {
|
|
622
499
|
pdfManager.getPage(pageIndex).then(function (page) {
|
623
500
|
var task = new WorkerTask('RenderPageRequest: page ' + pageIndex);
|
624
501
|
startWorkerTask(task);
|
625
|
-
var
|
626
|
-
var start = Date.now();
|
502
|
+
var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;
|
627
503
|
page.getOperatorList({
|
628
504
|
handler: handler,
|
629
505
|
task: task,
|
@@ -631,7 +507,10 @@ var WorkerMessageHandler = {
|
|
631
507
|
renderInteractiveForms: data.renderInteractiveForms
|
632
508
|
}).then(function (operatorList) {
|
633
509
|
finishWorkerTask(task);
|
634
|
-
|
510
|
+
|
511
|
+
if (start) {
|
512
|
+
(0, _util.info)("page=".concat(pageIndex + 1, " - getOperatorList: time=") + "".concat(Date.now() - start, "ms, len=").concat(operatorList.totalLength));
|
513
|
+
}
|
635
514
|
}, function (e) {
|
636
515
|
finishWorkerTask(task);
|
637
516
|
|
@@ -663,7 +542,7 @@ var WorkerMessageHandler = {
|
|
663
542
|
}
|
664
543
|
|
665
544
|
handler.send('PageError', {
|
666
|
-
|
545
|
+
pageIndex: pageIndex,
|
667
546
|
error: wrappedException,
|
668
547
|
intent: data.intent
|
669
548
|
});
|
@@ -680,8 +559,7 @@ var WorkerMessageHandler = {
|
|
680
559
|
pdfManager.getPage(pageIndex).then(function (page) {
|
681
560
|
var task = new WorkerTask('GetTextContent: page ' + pageIndex);
|
682
561
|
startWorkerTask(task);
|
683
|
-
var
|
684
|
-
var start = Date.now();
|
562
|
+
var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;
|
685
563
|
page.extractTextContent({
|
686
564
|
handler: handler,
|
687
565
|
task: task,
|
@@ -690,7 +568,11 @@ var WorkerMessageHandler = {
|
|
690
568
|
combineTextItems: data.combineTextItems
|
691
569
|
}).then(function () {
|
692
570
|
finishWorkerTask(task);
|
693
|
-
|
571
|
+
|
572
|
+
if (start) {
|
573
|
+
(0, _util.info)("page=".concat(pageIndex + 1, " - getTextContent: time=") + "".concat(Date.now() - start, "ms"));
|
574
|
+
}
|
575
|
+
|
694
576
|
sink.close();
|
695
577
|
}, function (reason) {
|
696
578
|
finishWorkerTask(task);
|
@@ -722,6 +604,7 @@ var WorkerMessageHandler = {
|
|
722
604
|
cancelXHRs();
|
723
605
|
}
|
724
606
|
|
607
|
+
(0, _primitives.clearPrimitiveCaches)();
|
725
608
|
var waitOn = [];
|
726
609
|
WorkerTasks.forEach(function (task) {
|
727
610
|
waitOn.push(task.finished);
|
@@ -750,6 +633,6 @@ function isMessagePort(maybePort) {
|
|
750
633
|
return typeof maybePort.postMessage === 'function' && 'onmessage' in maybePort;
|
751
634
|
}
|
752
635
|
|
753
|
-
if (typeof window === 'undefined' && !(0, _is_node
|
636
|
+
if (typeof window === 'undefined' && !(0, _is_node["default"])() && typeof self !== 'undefined' && isMessagePort(self)) {
|
754
637
|
WorkerMessageHandler.initializeFromPort(self);
|
755
638
|
}
|
@@ -0,0 +1,277 @@
|
|
1
|
+
/**
|
2
|
+
* @licstart The following is the entire license notice for the
|
3
|
+
* Javascript code in this page
|
4
|
+
*
|
5
|
+
* Copyright 2019 Mozilla Foundation
|
6
|
+
*
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
* you may not use this file except in compliance with the License.
|
9
|
+
* You may obtain a copy of the License at
|
10
|
+
*
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
*
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
* See the License for the specific language governing permissions and
|
17
|
+
* limitations under the License.
|
18
|
+
*
|
19
|
+
* @licend The above is the entire license notice for the
|
20
|
+
* Javascript code in this page
|
21
|
+
*/
|
22
|
+
"use strict";
|
23
|
+
|
24
|
+
Object.defineProperty(exports, "__esModule", {
|
25
|
+
value: true
|
26
|
+
});
|
27
|
+
exports.PDFWorkerStream = void 0;
|
28
|
+
|
29
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
30
|
+
|
31
|
+
var _util = require("../shared/util");
|
32
|
+
|
33
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
34
|
+
|
35
|
+
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); } }
|
36
|
+
|
37
|
+
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); }); }; }
|
38
|
+
|
39
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
40
|
+
|
41
|
+
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); } }
|
42
|
+
|
43
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
44
|
+
|
45
|
+
var PDFWorkerStream =
|
46
|
+
/*#__PURE__*/
|
47
|
+
function () {
|
48
|
+
function PDFWorkerStream(msgHandler) {
|
49
|
+
_classCallCheck(this, PDFWorkerStream);
|
50
|
+
|
51
|
+
this._msgHandler = msgHandler;
|
52
|
+
this._contentLength = null;
|
53
|
+
this._fullRequestReader = null;
|
54
|
+
this._rangeRequestReaders = [];
|
55
|
+
}
|
56
|
+
|
57
|
+
_createClass(PDFWorkerStream, [{
|
58
|
+
key: "getFullReader",
|
59
|
+
value: function getFullReader() {
|
60
|
+
(0, _util.assert)(!this._fullRequestReader);
|
61
|
+
this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);
|
62
|
+
return this._fullRequestReader;
|
63
|
+
}
|
64
|
+
}, {
|
65
|
+
key: "getRangeReader",
|
66
|
+
value: function getRangeReader(begin, end) {
|
67
|
+
var reader = new PDFWorkerStreamRangeReader(begin, end, this._msgHandler);
|
68
|
+
|
69
|
+
this._rangeRequestReaders.push(reader);
|
70
|
+
|
71
|
+
return reader;
|
72
|
+
}
|
73
|
+
}, {
|
74
|
+
key: "cancelAllRequests",
|
75
|
+
value: function cancelAllRequests(reason) {
|
76
|
+
if (this._fullRequestReader) {
|
77
|
+
this._fullRequestReader.cancel(reason);
|
78
|
+
}
|
79
|
+
|
80
|
+
var readers = this._rangeRequestReaders.slice(0);
|
81
|
+
|
82
|
+
readers.forEach(function (reader) {
|
83
|
+
reader.cancel(reason);
|
84
|
+
});
|
85
|
+
}
|
86
|
+
}]);
|
87
|
+
|
88
|
+
return PDFWorkerStream;
|
89
|
+
}();
|
90
|
+
|
91
|
+
exports.PDFWorkerStream = PDFWorkerStream;
|
92
|
+
|
93
|
+
var PDFWorkerStreamReader =
|
94
|
+
/*#__PURE__*/
|
95
|
+
function () {
|
96
|
+
function PDFWorkerStreamReader(msgHandler) {
|
97
|
+
var _this = this;
|
98
|
+
|
99
|
+
_classCallCheck(this, PDFWorkerStreamReader);
|
100
|
+
|
101
|
+
this._msgHandler = msgHandler;
|
102
|
+
this.onProgress = null;
|
103
|
+
this._contentLength = null;
|
104
|
+
this._isRangeSupported = false;
|
105
|
+
this._isStreamingSupported = false;
|
106
|
+
|
107
|
+
var readableStream = this._msgHandler.sendWithStream('GetReader');
|
108
|
+
|
109
|
+
this._reader = readableStream.getReader();
|
110
|
+
this._headersReady = this._msgHandler.sendWithPromise('ReaderHeadersReady').then(function (data) {
|
111
|
+
_this._isStreamingSupported = data.isStreamingSupported;
|
112
|
+
_this._isRangeSupported = data.isRangeSupported;
|
113
|
+
_this._contentLength = data.contentLength;
|
114
|
+
});
|
115
|
+
}
|
116
|
+
|
117
|
+
_createClass(PDFWorkerStreamReader, [{
|
118
|
+
key: "read",
|
119
|
+
value: function () {
|
120
|
+
var _read = _asyncToGenerator(
|
121
|
+
/*#__PURE__*/
|
122
|
+
_regenerator["default"].mark(function _callee() {
|
123
|
+
var _ref, value, done;
|
124
|
+
|
125
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
126
|
+
while (1) {
|
127
|
+
switch (_context.prev = _context.next) {
|
128
|
+
case 0:
|
129
|
+
_context.next = 2;
|
130
|
+
return this._reader.read();
|
131
|
+
|
132
|
+
case 2:
|
133
|
+
_ref = _context.sent;
|
134
|
+
value = _ref.value;
|
135
|
+
done = _ref.done;
|
136
|
+
|
137
|
+
if (!done) {
|
138
|
+
_context.next = 7;
|
139
|
+
break;
|
140
|
+
}
|
141
|
+
|
142
|
+
return _context.abrupt("return", {
|
143
|
+
value: undefined,
|
144
|
+
done: true
|
145
|
+
});
|
146
|
+
|
147
|
+
case 7:
|
148
|
+
return _context.abrupt("return", {
|
149
|
+
value: value.buffer,
|
150
|
+
done: false
|
151
|
+
});
|
152
|
+
|
153
|
+
case 8:
|
154
|
+
case "end":
|
155
|
+
return _context.stop();
|
156
|
+
}
|
157
|
+
}
|
158
|
+
}, _callee, this);
|
159
|
+
}));
|
160
|
+
|
161
|
+
function read() {
|
162
|
+
return _read.apply(this, arguments);
|
163
|
+
}
|
164
|
+
|
165
|
+
return read;
|
166
|
+
}()
|
167
|
+
}, {
|
168
|
+
key: "cancel",
|
169
|
+
value: function cancel(reason) {
|
170
|
+
this._reader.cancel(reason);
|
171
|
+
}
|
172
|
+
}, {
|
173
|
+
key: "headersReady",
|
174
|
+
get: function get() {
|
175
|
+
return this._headersReady;
|
176
|
+
}
|
177
|
+
}, {
|
178
|
+
key: "contentLength",
|
179
|
+
get: function get() {
|
180
|
+
return this._contentLength;
|
181
|
+
}
|
182
|
+
}, {
|
183
|
+
key: "isStreamingSupported",
|
184
|
+
get: function get() {
|
185
|
+
return this._isStreamingSupported;
|
186
|
+
}
|
187
|
+
}, {
|
188
|
+
key: "isRangeSupported",
|
189
|
+
get: function get() {
|
190
|
+
return this._isRangeSupported;
|
191
|
+
}
|
192
|
+
}]);
|
193
|
+
|
194
|
+
return PDFWorkerStreamReader;
|
195
|
+
}();
|
196
|
+
|
197
|
+
var PDFWorkerStreamRangeReader =
|
198
|
+
/*#__PURE__*/
|
199
|
+
function () {
|
200
|
+
function PDFWorkerStreamRangeReader(begin, end, msgHandler) {
|
201
|
+
_classCallCheck(this, PDFWorkerStreamRangeReader);
|
202
|
+
|
203
|
+
this._msgHandler = msgHandler;
|
204
|
+
this.onProgress = null;
|
205
|
+
|
206
|
+
var readableStream = this._msgHandler.sendWithStream('GetRangeReader', {
|
207
|
+
begin: begin,
|
208
|
+
end: end
|
209
|
+
});
|
210
|
+
|
211
|
+
this._reader = readableStream.getReader();
|
212
|
+
}
|
213
|
+
|
214
|
+
_createClass(PDFWorkerStreamRangeReader, [{
|
215
|
+
key: "read",
|
216
|
+
value: function () {
|
217
|
+
var _read2 = _asyncToGenerator(
|
218
|
+
/*#__PURE__*/
|
219
|
+
_regenerator["default"].mark(function _callee2() {
|
220
|
+
var _ref2, value, done;
|
221
|
+
|
222
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
223
|
+
while (1) {
|
224
|
+
switch (_context2.prev = _context2.next) {
|
225
|
+
case 0:
|
226
|
+
_context2.next = 2;
|
227
|
+
return this._reader.read();
|
228
|
+
|
229
|
+
case 2:
|
230
|
+
_ref2 = _context2.sent;
|
231
|
+
value = _ref2.value;
|
232
|
+
done = _ref2.done;
|
233
|
+
|
234
|
+
if (!done) {
|
235
|
+
_context2.next = 7;
|
236
|
+
break;
|
237
|
+
}
|
238
|
+
|
239
|
+
return _context2.abrupt("return", {
|
240
|
+
value: undefined,
|
241
|
+
done: true
|
242
|
+
});
|
243
|
+
|
244
|
+
case 7:
|
245
|
+
return _context2.abrupt("return", {
|
246
|
+
value: value.buffer,
|
247
|
+
done: false
|
248
|
+
});
|
249
|
+
|
250
|
+
case 8:
|
251
|
+
case "end":
|
252
|
+
return _context2.stop();
|
253
|
+
}
|
254
|
+
}
|
255
|
+
}, _callee2, this);
|
256
|
+
}));
|
257
|
+
|
258
|
+
function read() {
|
259
|
+
return _read2.apply(this, arguments);
|
260
|
+
}
|
261
|
+
|
262
|
+
return read;
|
263
|
+
}()
|
264
|
+
}, {
|
265
|
+
key: "cancel",
|
266
|
+
value: function cancel(reason) {
|
267
|
+
this._reader.cancel(reason);
|
268
|
+
}
|
269
|
+
}, {
|
270
|
+
key: "isStreamingSupported",
|
271
|
+
get: function get() {
|
272
|
+
return false;
|
273
|
+
}
|
274
|
+
}]);
|
275
|
+
|
276
|
+
return PDFWorkerStreamRangeReader;
|
277
|
+
}();
|