pdfjs-dist 2.2.228 → 2.6.347
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pdfjs-dist might be problematic. Click here for more details.
- package/README.md +4 -0
- package/bower.json +1 -1
- package/build/pdf.js +8816 -19300
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +22 -1
- package/build/pdf.worker.entry.js +5 -3
- package/build/pdf.worker.js +27185 -35746
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +22 -1
- package/es5/build/pdf.js +26665 -0
- package/es5/build/pdf.js.map +1 -0
- package/es5/build/pdf.min.js +22 -0
- package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
- package/es5/build/pdf.worker.js +61231 -0
- package/es5/build/pdf.worker.js.map +1 -0
- package/es5/build/pdf.worker.min.js +22 -0
- package/es5/image_decoders/pdf.image_decoders.js +12529 -0
- package/es5/image_decoders/pdf.image_decoders.js.map +1 -0
- package/es5/image_decoders/pdf.image_decoders.min.js +22 -0
- package/es5/web/images/annotation-check.svg +11 -0
- package/es5/web/images/annotation-comment.svg +16 -0
- package/es5/web/images/annotation-help.svg +26 -0
- package/es5/web/images/annotation-insert.svg +10 -0
- package/es5/web/images/annotation-key.svg +11 -0
- package/es5/web/images/annotation-newparagraph.svg +11 -0
- package/es5/web/images/annotation-noicon.svg +7 -0
- package/es5/web/images/annotation-note.svg +42 -0
- package/es5/web/images/annotation-paragraph.svg +16 -0
- package/es5/web/images/loading-icon.gif +0 -0
- package/es5/web/images/shadow.png +0 -0
- package/es5/web/pdf_viewer.css +406 -0
- package/es5/web/pdf_viewer.js +7886 -0
- package/es5/web/pdf_viewer.js.map +1 -0
- package/image_decoders/pdf.image_decoders.js +1498 -4832
- package/image_decoders/pdf.image_decoders.js.map +1 -1
- package/image_decoders/pdf.image_decoders.min.js +22 -1
- package/lib/README.md +7 -0
- package/lib/core/annotation.js +1144 -927
- package/lib/core/arithmetic_decoder.js +81 -97
- package/lib/core/bidi.js +54 -46
- package/lib/core/ccitt.js +88 -81
- package/lib/core/ccitt_stream.js +15 -14
- package/lib/core/cff_parser.js +747 -716
- package/lib/core/charsets.js +4 -4
- package/lib/core/chunked_stream.js +462 -553
- package/lib/core/cmap.js +231 -277
- package/lib/core/colorspace.js +715 -857
- package/lib/core/core_utils.js +57 -52
- package/lib/core/crypto.js +416 -437
- package/lib/core/document.js +629 -670
- package/lib/core/encodings.js +15 -15
- package/lib/core/evaluator.js +3229 -2800
- package/lib/core/font_renderer.js +135 -178
- package/lib/core/fonts.js +602 -534
- package/lib/core/function.js +355 -279
- package/lib/core/glyphlist.js +4527 -4526
- package/lib/core/image.js +442 -439
- package/lib/core/image_utils.js +221 -61
- package/lib/core/jbig2.js +325 -316
- package/lib/core/jbig2_stream.js +18 -17
- package/lib/core/jpeg_stream.js +21 -26
- package/lib/core/jpg.js +289 -233
- package/lib/core/jpx.js +161 -143
- package/lib/core/jpx_stream.js +28 -28
- package/lib/core/metrics.js +2928 -2928
- package/lib/core/murmurhash3.js +87 -102
- package/lib/core/obj.js +1343 -1300
- package/lib/core/operator_list.js +90 -67
- package/lib/core/parser.js +990 -987
- package/lib/core/pattern.js +105 -77
- package/lib/core/pdf_manager.js +149 -316
- package/lib/core/primitives.js +156 -104
- package/lib/core/ps_parser.js +175 -214
- package/lib/core/standard_fonts.js +237 -236
- package/lib/core/stream.js +94 -74
- package/lib/core/type1_parser.js +89 -69
- package/lib/core/unicode.js +1654 -1654
- package/lib/core/worker.js +275 -290
- package/lib/core/worker_stream.js +101 -210
- package/lib/core/writer.js +242 -0
- package/lib/display/annotation_layer.js +772 -1041
- package/lib/display/annotation_storage.js +89 -0
- package/lib/display/api.js +1575 -1868
- package/lib/display/api_compatibility.js +12 -17
- package/lib/display/canvas.js +370 -222
- package/lib/display/content_disposition.js +40 -59
- package/lib/display/display_utils.js +341 -536
- package/lib/display/fetch_stream.js +188 -304
- package/lib/display/font_loader.js +282 -414
- package/lib/display/metadata.js +81 -99
- package/lib/display/network.js +362 -511
- package/lib/display/network_utils.js +25 -18
- package/lib/display/node_stream.js +283 -465
- package/lib/display/node_utils.js +87 -0
- package/lib/display/optional_content_config.js +184 -0
- package/lib/display/pattern_helper.js +93 -44
- package/lib/display/svg.js +1163 -1401
- package/lib/display/text_layer.js +154 -137
- package/lib/display/transport_stream.js +237 -375
- package/lib/display/webgl.js +70 -83
- package/lib/display/worker_options.js +3 -3
- package/lib/display/xml_parser.js +303 -392
- package/lib/examples/node/domstubs.js +37 -37
- package/lib/pdf.js +220 -58
- package/lib/pdf.worker.js +14 -6
- package/lib/shared/compatibility.js +3 -246
- package/lib/shared/is_node.js +7 -6
- package/lib/shared/message_handler.js +327 -332
- package/lib/shared/util.js +271 -306
- package/lib/test/unit/annotation_spec.js +1902 -763
- package/lib/test/unit/annotation_storage_spec.js +83 -0
- package/lib/test/unit/api_spec.js +790 -592
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +73 -72
- package/lib/test/unit/clitests_helper.js +7 -9
- package/lib/test/unit/cmap_spec.js +86 -88
- package/lib/test/unit/colorspace_spec.js +346 -154
- package/lib/test/unit/core_utils_spec.js +125 -105
- package/lib/test/unit/crypto_spec.js +232 -185
- package/lib/test/unit/custom_spec.js +150 -24
- package/lib/test/unit/display_svg_spec.js +34 -39
- package/lib/test/unit/display_utils_spec.js +139 -149
- package/lib/test/unit/document_spec.js +128 -17
- package/lib/test/unit/encodings_spec.js +12 -34
- package/lib/test/unit/evaluator_spec.js +112 -91
- package/lib/test/unit/fetch_stream_spec.js +31 -29
- package/lib/test/unit/function_spec.js +206 -204
- package/lib/test/unit/jasmine-boot.js +48 -32
- package/lib/test/unit/message_handler_spec.js +173 -159
- package/lib/test/unit/metadata_spec.js +71 -71
- package/lib/test/unit/murmurhash3_spec.js +12 -12
- package/lib/test/unit/network_spec.js +13 -11
- package/lib/test/unit/network_utils_spec.js +158 -144
- package/lib/test/unit/node_stream_spec.js +76 -90
- package/lib/test/unit/parser_spec.js +108 -114
- package/lib/test/unit/pdf_find_controller_spec.js +55 -86
- package/lib/test/unit/pdf_find_utils_spec.js +32 -32
- package/lib/test/unit/pdf_history_spec.js +32 -32
- package/lib/test/unit/primitives_spec.js +337 -156
- package/lib/test/unit/stream_spec.js +16 -14
- package/lib/test/unit/test_utils.js +91 -304
- package/lib/test/unit/testreporter.js +33 -22
- package/lib/test/unit/type1_parser_spec.js +42 -42
- package/lib/test/unit/ui_utils_spec.js +299 -461
- package/lib/test/unit/unicode_spec.js +42 -42
- package/lib/test/unit/util_spec.js +129 -149
- package/lib/test/unit/writer_spec.js +84 -0
- package/lib/web/annotation_layer_builder.js +78 -111
- package/lib/web/app.js +1542 -1267
- package/lib/web/app_options.js +76 -91
- package/lib/web/base_tree_viewer.js +100 -0
- package/lib/web/base_viewer.js +869 -834
- package/lib/web/chromecom.js +165 -252
- package/lib/web/debugger.js +149 -205
- package/lib/web/download_manager.js +34 -58
- package/lib/web/firefox_print_service.js +62 -34
- package/lib/web/firefoxcom.js +206 -374
- package/lib/web/genericcom.js +26 -108
- package/lib/web/genericl10n.js +24 -153
- package/lib/web/grab_to_pan.js +30 -30
- package/lib/web/interfaces.js +80 -254
- package/lib/web/overlay_manager.js +70 -246
- package/lib/web/password_prompt.js +38 -64
- package/lib/web/pdf_attachment_viewer.js +150 -126
- package/lib/web/pdf_cursor_tools.js +75 -102
- package/lib/web/pdf_document_properties.js +229 -383
- package/lib/web/pdf_find_bar.js +136 -170
- package/lib/web/pdf_find_controller.js +492 -548
- package/lib/web/pdf_find_utils.js +13 -13
- package/lib/web/pdf_history.js +397 -406
- package/lib/web/pdf_layer_viewer.js +208 -0
- package/lib/web/pdf_link_service.js +304 -348
- package/lib/web/pdf_outline_viewer.js +119 -212
- package/lib/web/pdf_page_view.js +474 -513
- package/lib/web/pdf_presentation_mode.js +308 -357
- package/lib/web/pdf_print_service.js +96 -110
- package/lib/web/pdf_rendering_queue.js +87 -108
- package/lib/web/pdf_sidebar.js +286 -302
- package/lib/web/pdf_sidebar_resizer.js +92 -119
- package/lib/web/pdf_single_page_viewer.js +77 -126
- package/lib/web/pdf_thumbnail_view.js +289 -297
- package/lib/web/pdf_thumbnail_viewer.js +202 -206
- package/lib/web/pdf_viewer.component.js +20 -21
- package/lib/web/pdf_viewer.js +55 -115
- package/lib/web/preferences.js +69 -273
- package/lib/web/secondary_toolbar.js +164 -196
- package/lib/web/text_layer_builder.js +284 -319
- package/lib/web/toolbar.js +217 -210
- package/lib/web/ui_utils.js +274 -421
- package/lib/web/view_history.js +52 -226
- package/lib/web/viewer_compatibility.js +21 -6
- package/package.json +4 -9
- package/types/display/annotation_layer.d.ts +61 -0
- package/types/display/annotation_storage.d.ts +36 -0
- package/types/display/api.d.ts +1107 -0
- package/types/display/api_compatibility.d.ts +1 -0
- package/types/display/canvas.d.ts +4 -0
- package/types/display/content_disposition.d.ts +7 -0
- package/types/display/display_utils.d.ts +243 -0
- package/types/display/fetch_stream.d.ts +67 -0
- package/types/display/font_loader.d.ts +19 -0
- package/types/display/metadata.d.ts +9 -0
- package/types/display/network.d.ts +80 -0
- package/types/display/network_utils.d.ts +14 -0
- package/types/display/node_stream.d.ts +72 -0
- package/types/display/node_utils.d.ts +6 -0
- package/types/display/optional_content_config.d.ts +12 -0
- package/types/display/pattern_helper.d.ts +5 -0
- package/types/display/svg.d.ts +2 -0
- package/types/display/text_layer.d.ts +83 -0
- package/types/display/transport_stream.d.ts +57 -0
- package/types/display/webgl.d.ts +20 -0
- package/types/display/worker_options.d.ts +27 -0
- package/types/display/xml_parser.d.ts +35 -0
- package/types/pdf.d.ts +33 -0
- package/types/shared/compatibility.d.ts +1 -0
- package/types/shared/is_node.d.ts +1 -0
- package/types/shared/message_handler.d.ts +62 -0
- package/types/shared/util.d.ts +421 -0
- package/web/images/shadow.png +0 -0
- package/web/pdf_viewer.css +29 -27
- package/web/pdf_viewer.js +3524 -4746
- package/web/pdf_viewer.js.map +1 -1
- package/webpack.js +6 -5
- package/external/streams/streams-lib.js +0 -3962
- package/external/url/url-lib.js +0 -627
- package/lib/shared/streams_polyfill.js +0 -43
- package/lib/shared/url_polyfill.js +0 -56
- package/web/images/texture.png +0 -0
@@ -2,7 +2,7 @@
|
|
2
2
|
* @licstart The following is the entire license notice for the
|
3
3
|
* Javascript code in this page
|
4
4
|
*
|
5
|
-
* Copyright
|
5
|
+
* Copyright 2020 Mozilla Foundation
|
6
6
|
*
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
* you may not use this file except in compliance with the License.
|
@@ -26,37 +26,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
26
26
|
});
|
27
27
|
exports.PDFDataTransportStream = void 0;
|
28
28
|
|
29
|
-
var
|
29
|
+
var _util = require("../shared/util.js");
|
30
30
|
|
31
|
-
|
32
|
-
|
33
|
-
|
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 PDFDataTransportStream =
|
46
|
-
/*#__PURE__*/
|
47
|
-
function () {
|
48
|
-
function PDFDataTransportStream(params, pdfDataRangeTransport) {
|
49
|
-
var _this = this;
|
50
|
-
|
51
|
-
_classCallCheck(this, PDFDataTransportStream);
|
52
|
-
|
53
|
-
(0, _util.assert)(pdfDataRangeTransport);
|
31
|
+
class PDFDataTransportStream {
|
32
|
+
constructor(params, pdfDataRangeTransport) {
|
33
|
+
(0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.');
|
54
34
|
this._queuedChunks = [];
|
55
35
|
this._progressiveDone = params.progressiveDone || false;
|
56
|
-
|
36
|
+
const initialData = params.initialData;
|
57
37
|
|
58
38
|
if (initialData && initialData.length > 0) {
|
59
|
-
|
39
|
+
const buffer = new Uint8Array(initialData).buffer;
|
60
40
|
|
61
41
|
this._queuedChunks.push(buffer);
|
62
42
|
}
|
@@ -68,183 +48,147 @@ function () {
|
|
68
48
|
this._fullRequestReader = null;
|
69
49
|
this._rangeReaders = [];
|
70
50
|
|
71
|
-
this._pdfDataRangeTransport.addRangeListener(
|
72
|
-
|
73
|
-
begin
|
74
|
-
chunk
|
51
|
+
this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {
|
52
|
+
this._onReceiveData({
|
53
|
+
begin,
|
54
|
+
chunk
|
75
55
|
});
|
76
56
|
});
|
77
57
|
|
78
|
-
this._pdfDataRangeTransport.addProgressListener(
|
79
|
-
|
80
|
-
loaded
|
81
|
-
total
|
58
|
+
this._pdfDataRangeTransport.addProgressListener((loaded, total) => {
|
59
|
+
this._onProgress({
|
60
|
+
loaded,
|
61
|
+
total
|
82
62
|
});
|
83
63
|
});
|
84
64
|
|
85
|
-
this._pdfDataRangeTransport.addProgressiveReadListener(
|
86
|
-
|
87
|
-
chunk
|
65
|
+
this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {
|
66
|
+
this._onReceiveData({
|
67
|
+
chunk
|
88
68
|
});
|
89
69
|
});
|
90
70
|
|
91
|
-
this._pdfDataRangeTransport.addProgressiveDoneListener(
|
92
|
-
|
71
|
+
this._pdfDataRangeTransport.addProgressiveDoneListener(() => {
|
72
|
+
this._onProgressiveDone();
|
93
73
|
});
|
94
74
|
|
95
75
|
this._pdfDataRangeTransport.transportReady();
|
96
76
|
}
|
97
77
|
|
98
|
-
|
99
|
-
|
100
|
-
value: function _onReceiveData(args) {
|
101
|
-
var buffer = new Uint8Array(args.chunk).buffer;
|
78
|
+
_onReceiveData(args) {
|
79
|
+
const buffer = new Uint8Array(args.chunk).buffer;
|
102
80
|
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
} else {
|
107
|
-
this._queuedChunks.push(buffer);
|
108
|
-
}
|
81
|
+
if (args.begin === undefined) {
|
82
|
+
if (this._fullRequestReader) {
|
83
|
+
this._fullRequestReader._enqueue(buffer);
|
109
84
|
} else {
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
85
|
+
this._queuedChunks.push(buffer);
|
86
|
+
}
|
87
|
+
} else {
|
88
|
+
const found = this._rangeReaders.some(function (rangeReader) {
|
89
|
+
if (rangeReader._begin !== args.begin) {
|
90
|
+
return false;
|
91
|
+
}
|
114
92
|
|
115
|
-
|
93
|
+
rangeReader._enqueue(buffer);
|
116
94
|
|
117
|
-
|
118
|
-
|
95
|
+
return true;
|
96
|
+
});
|
119
97
|
|
120
|
-
|
121
|
-
}
|
98
|
+
(0, _util.assert)(found, "_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.");
|
122
99
|
}
|
123
|
-
}
|
124
|
-
key: "_onProgress",
|
125
|
-
value: function _onProgress(evt) {
|
126
|
-
if (evt.total === undefined) {
|
127
|
-
var firstReader = this._rangeReaders[0];
|
128
|
-
|
129
|
-
if (firstReader && firstReader.onProgress) {
|
130
|
-
firstReader.onProgress({
|
131
|
-
loaded: evt.loaded
|
132
|
-
});
|
133
|
-
}
|
134
|
-
} else {
|
135
|
-
var fullReader = this._fullRequestReader;
|
100
|
+
}
|
136
101
|
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
total: evt.total
|
141
|
-
});
|
142
|
-
}
|
143
|
-
}
|
144
|
-
}
|
145
|
-
}, {
|
146
|
-
key: "_onProgressiveDone",
|
147
|
-
value: function _onProgressiveDone() {
|
148
|
-
if (this._fullRequestReader) {
|
149
|
-
this._fullRequestReader.progressiveDone();
|
150
|
-
}
|
102
|
+
get _progressiveDataLength() {
|
103
|
+
return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
|
104
|
+
}
|
151
105
|
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
key: "_removeRangeReader",
|
156
|
-
value: function _removeRangeReader(reader) {
|
157
|
-
var i = this._rangeReaders.indexOf(reader);
|
106
|
+
_onProgress(evt) {
|
107
|
+
if (evt.total === undefined) {
|
108
|
+
const firstReader = this._rangeReaders[0];
|
158
109
|
|
159
|
-
if (
|
160
|
-
|
110
|
+
if (firstReader && firstReader.onProgress) {
|
111
|
+
firstReader.onProgress({
|
112
|
+
loaded: evt.loaded
|
113
|
+
});
|
114
|
+
}
|
115
|
+
} else {
|
116
|
+
const fullReader = this._fullRequestReader;
|
117
|
+
|
118
|
+
if (fullReader && fullReader.onProgress) {
|
119
|
+
fullReader.onProgress({
|
120
|
+
loaded: evt.loaded,
|
121
|
+
total: evt.total
|
122
|
+
});
|
161
123
|
}
|
162
124
|
}
|
163
|
-
}
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
this._queuedChunks = null;
|
169
|
-
return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);
|
125
|
+
}
|
126
|
+
|
127
|
+
_onProgressiveDone() {
|
128
|
+
if (this._fullRequestReader) {
|
129
|
+
this._fullRequestReader.progressiveDone();
|
170
130
|
}
|
171
|
-
}, {
|
172
|
-
key: "getRangeReader",
|
173
|
-
value: function getRangeReader(begin, end) {
|
174
|
-
if (end <= this._progressiveDataLength) {
|
175
|
-
return null;
|
176
|
-
}
|
177
131
|
|
178
|
-
|
132
|
+
this._progressiveDone = true;
|
133
|
+
}
|
134
|
+
|
135
|
+
_removeRangeReader(reader) {
|
136
|
+
const i = this._rangeReaders.indexOf(reader);
|
179
137
|
|
180
|
-
|
138
|
+
if (i >= 0) {
|
139
|
+
this._rangeReaders.splice(i, 1);
|
140
|
+
}
|
141
|
+
}
|
181
142
|
|
182
|
-
|
143
|
+
getFullReader() {
|
144
|
+
(0, _util.assert)(!this._fullRequestReader, "PDFDataTransportStream.getFullReader can only be called once.");
|
145
|
+
const queuedChunks = this._queuedChunks;
|
146
|
+
this._queuedChunks = null;
|
147
|
+
return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);
|
148
|
+
}
|
183
149
|
|
184
|
-
|
150
|
+
getRangeReader(begin, end) {
|
151
|
+
if (end <= this._progressiveDataLength) {
|
152
|
+
return null;
|
185
153
|
}
|
186
|
-
}, {
|
187
|
-
key: "cancelAllRequests",
|
188
|
-
value: function cancelAllRequests(reason) {
|
189
|
-
if (this._fullRequestReader) {
|
190
|
-
this._fullRequestReader.cancel(reason);
|
191
|
-
}
|
192
154
|
|
193
|
-
|
155
|
+
const reader = new PDFDataTransportStreamRangeReader(this, begin, end);
|
194
156
|
|
195
|
-
|
196
|
-
rangeReader.cancel(reason);
|
197
|
-
});
|
157
|
+
this._pdfDataRangeTransport.requestDataRange(begin, end);
|
198
158
|
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
159
|
+
this._rangeReaders.push(reader);
|
160
|
+
|
161
|
+
return reader;
|
162
|
+
}
|
163
|
+
|
164
|
+
cancelAllRequests(reason) {
|
165
|
+
if (this._fullRequestReader) {
|
166
|
+
this._fullRequestReader.cancel(reason);
|
205
167
|
}
|
206
|
-
}]);
|
207
168
|
|
208
|
-
|
209
|
-
}();
|
169
|
+
const readers = this._rangeReaders.slice(0);
|
210
170
|
|
211
|
-
|
171
|
+
readers.forEach(function (rangeReader) {
|
172
|
+
rangeReader.cancel(reason);
|
173
|
+
});
|
212
174
|
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
175
|
+
this._pdfDataRangeTransport.abort();
|
176
|
+
}
|
177
|
+
|
178
|
+
}
|
218
179
|
|
219
|
-
|
180
|
+
exports.PDFDataTransportStream = PDFDataTransportStream;
|
220
181
|
|
182
|
+
class PDFDataTransportStreamReader {
|
183
|
+
constructor(stream, queuedChunks, progressiveDone = false) {
|
221
184
|
this._stream = stream;
|
222
185
|
this._done = progressiveDone || false;
|
223
186
|
this._filename = null;
|
224
187
|
this._queuedChunks = queuedChunks || [];
|
225
188
|
this._loaded = 0;
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
try {
|
231
|
-
for (var _iterator = this._queuedChunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
232
|
-
var chunk = _step.value;
|
233
|
-
this._loaded += chunk.byteLength;
|
234
|
-
}
|
235
|
-
} catch (err) {
|
236
|
-
_didIteratorError = true;
|
237
|
-
_iteratorError = err;
|
238
|
-
} finally {
|
239
|
-
try {
|
240
|
-
if (!_iteratorNormalCompletion && _iterator["return"] != null) {
|
241
|
-
_iterator["return"]();
|
242
|
-
}
|
243
|
-
} finally {
|
244
|
-
if (_didIteratorError) {
|
245
|
-
throw _iteratorError;
|
246
|
-
}
|
247
|
-
}
|
189
|
+
|
190
|
+
for (const chunk of this._queuedChunks) {
|
191
|
+
this._loaded += chunk.byteLength;
|
248
192
|
}
|
249
193
|
|
250
194
|
this._requests = [];
|
@@ -253,139 +197,94 @@ function () {
|
|
253
197
|
this.onProgress = null;
|
254
198
|
}
|
255
199
|
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
return;
|
261
|
-
}
|
200
|
+
_enqueue(chunk) {
|
201
|
+
if (this._done) {
|
202
|
+
return;
|
203
|
+
}
|
262
204
|
|
263
|
-
|
264
|
-
|
205
|
+
if (this._requests.length > 0) {
|
206
|
+
const requestCapability = this._requests.shift();
|
265
207
|
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
}
|
273
|
-
|
274
|
-
this._loaded += chunk.byteLength;
|
208
|
+
requestCapability.resolve({
|
209
|
+
value: chunk,
|
210
|
+
done: false
|
211
|
+
});
|
212
|
+
} else {
|
213
|
+
this._queuedChunks.push(chunk);
|
275
214
|
}
|
276
|
-
}, {
|
277
|
-
key: "read",
|
278
|
-
value: function () {
|
279
|
-
var _read = _asyncToGenerator(
|
280
|
-
/*#__PURE__*/
|
281
|
-
_regenerator["default"].mark(function _callee() {
|
282
|
-
var chunk, requestCapability;
|
283
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
284
|
-
while (1) {
|
285
|
-
switch (_context.prev = _context.next) {
|
286
|
-
case 0:
|
287
|
-
if (!(this._queuedChunks.length > 0)) {
|
288
|
-
_context.next = 3;
|
289
|
-
break;
|
290
|
-
}
|
291
|
-
|
292
|
-
chunk = this._queuedChunks.shift();
|
293
|
-
return _context.abrupt("return", {
|
294
|
-
value: chunk,
|
295
|
-
done: false
|
296
|
-
});
|
297
|
-
|
298
|
-
case 3:
|
299
|
-
if (!this._done) {
|
300
|
-
_context.next = 5;
|
301
|
-
break;
|
302
|
-
}
|
303
|
-
|
304
|
-
return _context.abrupt("return", {
|
305
|
-
value: undefined,
|
306
|
-
done: true
|
307
|
-
});
|
308
|
-
|
309
|
-
case 5:
|
310
|
-
requestCapability = (0, _util.createPromiseCapability)();
|
311
|
-
|
312
|
-
this._requests.push(requestCapability);
|
313
|
-
|
314
|
-
return _context.abrupt("return", requestCapability.promise);
|
315
|
-
|
316
|
-
case 8:
|
317
|
-
case "end":
|
318
|
-
return _context.stop();
|
319
|
-
}
|
320
|
-
}
|
321
|
-
}, _callee, this);
|
322
|
-
}));
|
323
|
-
|
324
|
-
function read() {
|
325
|
-
return _read.apply(this, arguments);
|
326
|
-
}
|
327
215
|
|
328
|
-
|
329
|
-
|
330
|
-
}, {
|
331
|
-
key: "cancel",
|
332
|
-
value: function cancel(reason) {
|
333
|
-
this._done = true;
|
216
|
+
this._loaded += chunk.byteLength;
|
217
|
+
}
|
334
218
|
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
done: true
|
339
|
-
});
|
340
|
-
});
|
219
|
+
get headersReady() {
|
220
|
+
return this._headersReady;
|
221
|
+
}
|
341
222
|
|
342
|
-
|
343
|
-
|
344
|
-
}
|
345
|
-
key: "progressiveDone",
|
346
|
-
value: function progressiveDone() {
|
347
|
-
if (this._done) {
|
348
|
-
return;
|
349
|
-
}
|
223
|
+
get filename() {
|
224
|
+
return this._filename;
|
225
|
+
}
|
350
226
|
|
351
|
-
|
352
|
-
|
353
|
-
}
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
227
|
+
get isRangeSupported() {
|
228
|
+
return this._stream._isRangeSupported;
|
229
|
+
}
|
230
|
+
|
231
|
+
get isStreamingSupported() {
|
232
|
+
return this._stream._isStreamingSupported;
|
233
|
+
}
|
234
|
+
|
235
|
+
get contentLength() {
|
236
|
+
return this._stream._contentLength;
|
237
|
+
}
|
238
|
+
|
239
|
+
async read() {
|
240
|
+
if (this._queuedChunks.length > 0) {
|
241
|
+
const chunk = this._queuedChunks.shift();
|
242
|
+
|
243
|
+
return {
|
244
|
+
value: chunk,
|
245
|
+
done: false
|
246
|
+
};
|
367
247
|
}
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
248
|
+
|
249
|
+
if (this._done) {
|
250
|
+
return {
|
251
|
+
value: undefined,
|
252
|
+
done: true
|
253
|
+
};
|
372
254
|
}
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
255
|
+
|
256
|
+
const requestCapability = (0, _util.createPromiseCapability)();
|
257
|
+
|
258
|
+
this._requests.push(requestCapability);
|
259
|
+
|
260
|
+
return requestCapability.promise;
|
261
|
+
}
|
262
|
+
|
263
|
+
cancel(reason) {
|
264
|
+
this._done = true;
|
265
|
+
|
266
|
+
this._requests.forEach(function (requestCapability) {
|
267
|
+
requestCapability.resolve({
|
268
|
+
value: undefined,
|
269
|
+
done: true
|
270
|
+
});
|
271
|
+
});
|
272
|
+
|
273
|
+
this._requests = [];
|
274
|
+
}
|
275
|
+
|
276
|
+
progressiveDone() {
|
277
|
+
if (this._done) {
|
278
|
+
return;
|
377
279
|
}
|
378
|
-
}]);
|
379
280
|
|
380
|
-
|
381
|
-
}
|
281
|
+
this._done = true;
|
282
|
+
}
|
382
283
|
|
383
|
-
|
384
|
-
/*#__PURE__*/
|
385
|
-
function () {
|
386
|
-
function PDFDataTransportStreamRangeReader(stream, begin, end) {
|
387
|
-
_classCallCheck(this, PDFDataTransportStreamRangeReader);
|
284
|
+
}
|
388
285
|
|
286
|
+
class PDFDataTransportStreamRangeReader {
|
287
|
+
constructor(stream, begin, end) {
|
389
288
|
this._stream = stream;
|
390
289
|
this._begin = begin;
|
391
290
|
this._end = end;
|
@@ -395,96 +294,20 @@ function () {
|
|
395
294
|
this.onProgress = null;
|
396
295
|
}
|
397
296
|
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
if (this._done) {
|
402
|
-
return;
|
403
|
-
}
|
404
|
-
|
405
|
-
if (this._requests.length === 0) {
|
406
|
-
this._queuedChunk = chunk;
|
407
|
-
} else {
|
408
|
-
var requestsCapability = this._requests.shift();
|
409
|
-
|
410
|
-
requestsCapability.resolve({
|
411
|
-
value: chunk,
|
412
|
-
done: false
|
413
|
-
});
|
414
|
-
|
415
|
-
this._requests.forEach(function (requestCapability) {
|
416
|
-
requestCapability.resolve({
|
417
|
-
value: undefined,
|
418
|
-
done: true
|
419
|
-
});
|
420
|
-
});
|
421
|
-
|
422
|
-
this._requests = [];
|
423
|
-
}
|
424
|
-
|
425
|
-
this._done = true;
|
426
|
-
|
427
|
-
this._stream._removeRangeReader(this);
|
297
|
+
_enqueue(chunk) {
|
298
|
+
if (this._done) {
|
299
|
+
return;
|
428
300
|
}
|
429
|
-
}, {
|
430
|
-
key: "read",
|
431
|
-
value: function () {
|
432
|
-
var _read2 = _asyncToGenerator(
|
433
|
-
/*#__PURE__*/
|
434
|
-
_regenerator["default"].mark(function _callee2() {
|
435
|
-
var chunk, requestCapability;
|
436
|
-
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
437
|
-
while (1) {
|
438
|
-
switch (_context2.prev = _context2.next) {
|
439
|
-
case 0:
|
440
|
-
if (!this._queuedChunk) {
|
441
|
-
_context2.next = 4;
|
442
|
-
break;
|
443
|
-
}
|
444
|
-
|
445
|
-
chunk = this._queuedChunk;
|
446
|
-
this._queuedChunk = null;
|
447
|
-
return _context2.abrupt("return", {
|
448
|
-
value: chunk,
|
449
|
-
done: false
|
450
|
-
});
|
451
|
-
|
452
|
-
case 4:
|
453
|
-
if (!this._done) {
|
454
|
-
_context2.next = 6;
|
455
|
-
break;
|
456
|
-
}
|
457
|
-
|
458
|
-
return _context2.abrupt("return", {
|
459
|
-
value: undefined,
|
460
|
-
done: true
|
461
|
-
});
|
462
|
-
|
463
|
-
case 6:
|
464
|
-
requestCapability = (0, _util.createPromiseCapability)();
|
465
|
-
|
466
|
-
this._requests.push(requestCapability);
|
467
|
-
|
468
|
-
return _context2.abrupt("return", requestCapability.promise);
|
469
|
-
|
470
|
-
case 9:
|
471
|
-
case "end":
|
472
|
-
return _context2.stop();
|
473
|
-
}
|
474
|
-
}
|
475
|
-
}, _callee2, this);
|
476
|
-
}));
|
477
|
-
|
478
|
-
function read() {
|
479
|
-
return _read2.apply(this, arguments);
|
480
|
-
}
|
481
301
|
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
302
|
+
if (this._requests.length === 0) {
|
303
|
+
this._queuedChunk = chunk;
|
304
|
+
} else {
|
305
|
+
const requestsCapability = this._requests.shift();
|
306
|
+
|
307
|
+
requestsCapability.resolve({
|
308
|
+
value: chunk,
|
309
|
+
done: false
|
310
|
+
});
|
488
311
|
|
489
312
|
this._requests.forEach(function (requestCapability) {
|
490
313
|
requestCapability.resolve({
|
@@ -494,15 +317,54 @@ function () {
|
|
494
317
|
});
|
495
318
|
|
496
319
|
this._requests = [];
|
320
|
+
}
|
497
321
|
|
498
|
-
|
322
|
+
this._done = true;
|
323
|
+
|
324
|
+
this._stream._removeRangeReader(this);
|
325
|
+
}
|
326
|
+
|
327
|
+
get isStreamingSupported() {
|
328
|
+
return false;
|
329
|
+
}
|
330
|
+
|
331
|
+
async read() {
|
332
|
+
if (this._queuedChunk) {
|
333
|
+
const chunk = this._queuedChunk;
|
334
|
+
this._queuedChunk = null;
|
335
|
+
return {
|
336
|
+
value: chunk,
|
337
|
+
done: false
|
338
|
+
};
|
499
339
|
}
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
340
|
+
|
341
|
+
if (this._done) {
|
342
|
+
return {
|
343
|
+
value: undefined,
|
344
|
+
done: true
|
345
|
+
};
|
504
346
|
}
|
505
|
-
}]);
|
506
347
|
|
507
|
-
|
508
|
-
|
348
|
+
const requestCapability = (0, _util.createPromiseCapability)();
|
349
|
+
|
350
|
+
this._requests.push(requestCapability);
|
351
|
+
|
352
|
+
return requestCapability.promise;
|
353
|
+
}
|
354
|
+
|
355
|
+
cancel(reason) {
|
356
|
+
this._done = true;
|
357
|
+
|
358
|
+
this._requests.forEach(function (requestCapability) {
|
359
|
+
requestCapability.resolve({
|
360
|
+
value: undefined,
|
361
|
+
done: true
|
362
|
+
});
|
363
|
+
});
|
364
|
+
|
365
|
+
this._requests = [];
|
366
|
+
|
367
|
+
this._stream._removeRangeReader(this);
|
368
|
+
}
|
369
|
+
|
370
|
+
}
|