pdfjs-dist 2.3.200 → 2.4.456
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pdfjs-dist might be problematic. Click here for more details.
- package/README.md +4 -0
- package/bower.json +1 -1
- package/build/pdf.js +6499 -17971
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +22 -1
- package/build/pdf.worker.entry.js +5 -3
- package/build/pdf.worker.js +19303 -29896
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +22 -1
- package/es5/build/pdf.js +25473 -0
- package/es5/build/pdf.js.map +1 -0
- package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
- package/es5/build/pdf.worker.js +57878 -0
- package/es5/build/pdf.worker.js.map +1 -0
- package/es5/web/images/annotation-check.svg +11 -0
- package/es5/web/images/annotation-comment.svg +16 -0
- package/es5/web/images/annotation-help.svg +26 -0
- package/es5/web/images/annotation-insert.svg +10 -0
- package/es5/web/images/annotation-key.svg +11 -0
- package/es5/web/images/annotation-newparagraph.svg +11 -0
- package/es5/web/images/annotation-noicon.svg +7 -0
- package/es5/web/images/annotation-note.svg +42 -0
- package/es5/web/images/annotation-paragraph.svg +16 -0
- package/es5/web/images/loading-icon.gif +0 -0
- package/es5/web/images/shadow.png +0 -0
- package/es5/web/images/texture.png +0 -0
- package/es5/web/pdf_viewer.css +407 -0
- package/es5/web/pdf_viewer.js +7757 -0
- package/es5/web/pdf_viewer.js.map +1 -0
- package/image_decoders/pdf.image_decoders.js +1333 -4839
- package/image_decoders/pdf.image_decoders.js.map +1 -1
- package/image_decoders/pdf.image_decoders.min.js +22 -1
- package/lib/README.md +7 -0
- package/lib/core/annotation.js +683 -1066
- package/lib/core/arithmetic_decoder.js +81 -97
- package/lib/core/bidi.js +54 -46
- package/lib/core/ccitt.js +88 -81
- package/lib/core/ccitt_stream.js +15 -14
- package/lib/core/cff_parser.js +196 -193
- package/lib/core/charsets.js +4 -4
- package/lib/core/chunked_stream.js +441 -569
- package/lib/core/cmap.js +220 -279
- package/lib/core/colorspace.js +699 -863
- package/lib/core/core_utils.js +59 -80
- package/lib/core/crypto.js +379 -437
- package/lib/core/document.js +564 -673
- package/lib/core/encodings.js +15 -15
- package/lib/core/evaluator.js +983 -889
- package/lib/core/font_renderer.js +128 -171
- package/lib/core/fonts.js +451 -400
- package/lib/core/function.js +289 -285
- package/lib/core/glyphlist.js +4527 -4527
- package/lib/core/image.js +138 -117
- package/lib/core/image_utils.js +46 -63
- package/lib/core/jbig2.js +324 -332
- package/lib/core/jbig2_stream.js +18 -17
- package/lib/core/jpeg_stream.js +133 -24
- package/lib/core/jpg.js +238 -210
- package/lib/core/jpx.js +158 -157
- package/lib/core/jpx_stream.js +28 -28
- package/lib/core/metrics.js +2928 -2928
- package/lib/core/murmurhash3.js +87 -102
- package/lib/core/obj.js +1111 -1302
- package/lib/core/operator_list.js +55 -42
- package/lib/core/parser.js +956 -987
- package/lib/core/pattern.js +69 -69
- package/lib/core/pdf_manager.js +149 -316
- package/lib/core/primitives.js +45 -77
- package/lib/core/ps_parser.js +175 -214
- package/lib/core/standard_fonts.js +237 -236
- package/lib/core/stream.js +83 -77
- package/lib/core/type1_parser.js +78 -68
- package/lib/core/unicode.js +1654 -1654
- package/lib/core/worker.js +148 -196
- package/lib/core/worker_stream.js +101 -210
- package/lib/display/annotation_layer.js +733 -1155
- package/lib/display/api.js +1539 -1928
- package/lib/display/api_compatibility.js +10 -8
- package/lib/display/canvas.js +159 -158
- package/lib/display/content_disposition.js +36 -55
- package/lib/display/display_utils.js +298 -551
- package/lib/display/fetch_stream.js +181 -305
- package/lib/display/font_loader.js +273 -416
- package/lib/display/metadata.js +86 -98
- package/lib/display/network.js +376 -511
- package/lib/display/network_utils.js +20 -19
- package/lib/display/node_stream.js +276 -460
- package/lib/display/pattern_helper.js +76 -44
- package/lib/display/svg.js +1137 -1405
- package/lib/display/text_layer.js +75 -82
- package/lib/display/transport_stream.js +236 -374
- package/lib/display/webgl.js +70 -83
- package/lib/display/worker_options.js +3 -3
- package/lib/display/xml_parser.js +303 -392
- package/lib/examples/node/domstubs.js +37 -37
- package/lib/pdf.js +22 -21
- package/lib/pdf.worker.js +5 -5
- package/lib/shared/compatibility.js +2 -251
- package/lib/shared/is_node.js +7 -6
- package/lib/shared/message_handler.js +222 -194
- package/lib/shared/util.js +269 -405
- package/lib/test/unit/annotation_spec.js +1089 -1014
- package/lib/test/unit/api_spec.js +617 -544
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +63 -62
- package/lib/test/unit/clitests_helper.js +7 -9
- package/lib/test/unit/cmap_spec.js +84 -86
- package/lib/test/unit/colorspace_spec.js +154 -154
- package/lib/test/unit/core_utils_spec.js +125 -105
- package/lib/test/unit/crypto_spec.js +181 -181
- package/lib/test/unit/custom_spec.js +22 -24
- package/lib/test/unit/display_svg_spec.js +35 -36
- package/lib/test/unit/display_utils_spec.js +139 -149
- package/lib/test/unit/document_spec.js +16 -16
- package/lib/test/unit/encodings_spec.js +12 -34
- package/lib/test/unit/evaluator_spec.js +81 -95
- package/lib/test/unit/fetch_stream_spec.js +30 -30
- package/lib/test/unit/function_spec.js +206 -204
- package/lib/test/unit/jasmine-boot.js +48 -32
- package/lib/test/unit/message_handler_spec.js +172 -162
- package/lib/test/unit/metadata_spec.js +69 -69
- package/lib/test/unit/murmurhash3_spec.js +12 -12
- package/lib/test/unit/network_spec.js +12 -12
- package/lib/test/unit/network_utils_spec.js +152 -152
- package/lib/test/unit/node_stream_spec.js +74 -90
- package/lib/test/unit/parser_spec.js +107 -113
- package/lib/test/unit/pdf_find_controller_spec.js +55 -86
- package/lib/test/unit/pdf_find_utils_spec.js +32 -32
- package/lib/test/unit/pdf_history_spec.js +32 -32
- package/lib/test/unit/primitives_spec.js +117 -115
- package/lib/test/unit/stream_spec.js +16 -14
- package/lib/test/unit/test_utils.js +119 -285
- package/lib/test/unit/testreporter.js +19 -19
- package/lib/test/unit/type1_parser_spec.js +41 -41
- package/lib/test/unit/ui_utils_spec.js +318 -426
- package/lib/test/unit/unicode_spec.js +42 -42
- package/lib/test/unit/util_spec.js +122 -143
- package/lib/web/annotation_layer_builder.js +66 -103
- package/lib/web/app.js +1166 -1196
- package/lib/web/app_options.js +61 -77
- package/lib/web/base_viewer.js +804 -850
- package/lib/web/chromecom.js +164 -249
- package/lib/web/debugger.js +149 -205
- package/lib/web/download_manager.js +38 -57
- package/lib/web/firefox_print_service.js +35 -30
- package/lib/web/firefoxcom.js +175 -374
- package/lib/web/genericcom.js +26 -108
- package/lib/web/genericl10n.js +24 -153
- package/lib/web/grab_to_pan.js +30 -30
- package/lib/web/interfaces.js +80 -258
- package/lib/web/overlay_manager.js +70 -246
- package/lib/web/password_prompt.js +38 -64
- package/lib/web/pdf_attachment_viewer.js +105 -130
- package/lib/web/pdf_cursor_tools.js +75 -102
- package/lib/web/pdf_document_properties.js +227 -376
- package/lib/web/pdf_find_bar.js +137 -171
- package/lib/web/pdf_find_controller.js +492 -549
- package/lib/web/pdf_find_utils.js +13 -13
- package/lib/web/pdf_history.js +395 -406
- package/lib/web/pdf_link_service.js +302 -349
- package/lib/web/pdf_outline_viewer.js +148 -209
- package/lib/web/pdf_page_view.js +449 -507
- package/lib/web/pdf_presentation_mode.js +304 -357
- package/lib/web/pdf_print_service.js +90 -104
- package/lib/web/pdf_rendering_queue.js +87 -108
- package/lib/web/pdf_sidebar.js +264 -304
- package/lib/web/pdf_sidebar_resizer.js +92 -119
- package/lib/web/pdf_single_page_viewer.js +77 -126
- package/lib/web/pdf_thumbnail_view.js +276 -297
- package/lib/web/pdf_thumbnail_viewer.js +186 -206
- package/lib/web/pdf_viewer.component.js +20 -21
- package/lib/web/pdf_viewer.js +55 -115
- package/lib/web/preferences.js +66 -273
- package/lib/web/secondary_toolbar.js +164 -196
- package/lib/web/text_layer_builder.js +284 -317
- package/lib/web/toolbar.js +216 -211
- package/lib/web/ui_utils.js +303 -404
- package/lib/web/view_history.js +49 -222
- package/lib/web/viewer_compatibility.js +7 -5
- package/package.json +2 -9
- package/web/pdf_viewer.css +25 -18
- package/web/pdf_viewer.js +3481 -4764
- package/web/pdf_viewer.js.map +1 -1
- package/webpack.js +14 -5
- package/lib/shared/streams_polyfill.js +0 -43
package/lib/core/jbig2_stream.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
* @licstart The following is the entire license notice for the
|
3
3
|
* Javascript code in this page
|
4
4
|
*
|
5
|
-
* Copyright
|
5
|
+
* Copyright 2020 Mozilla Foundation
|
6
6
|
*
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
* you may not use this file except in compliance with the License.
|
@@ -26,15 +26,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
26
26
|
});
|
27
27
|
exports.Jbig2Stream = void 0;
|
28
28
|
|
29
|
-
var _primitives = require("./primitives");
|
29
|
+
var _primitives = require("./primitives.js");
|
30
30
|
|
31
|
-
var _stream = require("./stream");
|
31
|
+
var _stream = require("./stream.js");
|
32
32
|
|
33
|
-
var _jbig = require("./jbig2");
|
33
|
+
var _jbig = require("./jbig2.js");
|
34
34
|
|
35
|
-
var _util = require("../shared/util");
|
35
|
+
var _util = require("../shared/util.js");
|
36
36
|
|
37
|
-
|
37
|
+
const Jbig2Stream = function Jbig2StreamClosure() {
|
38
38
|
function Jbig2Stream(stream, maybeLength, dict, params) {
|
39
39
|
this.stream = stream;
|
40
40
|
this.maybeLength = maybeLength;
|
@@ -45,10 +45,11 @@ var Jbig2Stream = function Jbig2StreamClosure() {
|
|
45
45
|
}
|
46
46
|
|
47
47
|
Jbig2Stream.prototype = Object.create(_stream.DecodeStream.prototype);
|
48
|
-
Object.defineProperty(Jbig2Stream.prototype,
|
49
|
-
get
|
50
|
-
return (0, _util.shadow)(this,
|
48
|
+
Object.defineProperty(Jbig2Stream.prototype, "bytes", {
|
49
|
+
get() {
|
50
|
+
return (0, _util.shadow)(this, "bytes", this.stream.getBytes(this.maybeLength));
|
51
51
|
},
|
52
|
+
|
52
53
|
configurable: true
|
53
54
|
});
|
54
55
|
|
@@ -59,14 +60,14 @@ var Jbig2Stream = function Jbig2StreamClosure() {
|
|
59
60
|
return;
|
60
61
|
}
|
61
62
|
|
62
|
-
|
63
|
-
|
63
|
+
const jbig2Image = new _jbig.Jbig2Image();
|
64
|
+
const chunks = [];
|
64
65
|
|
65
66
|
if ((0, _primitives.isDict)(this.params)) {
|
66
|
-
|
67
|
+
const globalsStream = this.params.get("JBIG2Globals");
|
67
68
|
|
68
69
|
if ((0, _primitives.isStream)(globalsStream)) {
|
69
|
-
|
70
|
+
const globals = globalsStream.getBytes();
|
70
71
|
chunks.push({
|
71
72
|
data: globals,
|
72
73
|
start: 0,
|
@@ -80,11 +81,11 @@ var Jbig2Stream = function Jbig2StreamClosure() {
|
|
80
81
|
start: 0,
|
81
82
|
end: this.bytes.length
|
82
83
|
});
|
83
|
-
|
84
|
-
|
84
|
+
const data = jbig2Image.parseChunks(chunks);
|
85
|
+
const dataLength = data.length;
|
85
86
|
|
86
|
-
for (
|
87
|
-
data[i] ^=
|
87
|
+
for (let i = 0; i < dataLength; i++) {
|
88
|
+
data[i] ^= 0xff;
|
88
89
|
}
|
89
90
|
|
90
91
|
this.buffer = data;
|
package/lib/core/jpeg_stream.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
* @licstart The following is the entire license notice for the
|
3
3
|
* Javascript code in this page
|
4
4
|
*
|
5
|
-
* Copyright
|
5
|
+
* Copyright 2020 Mozilla Foundation
|
6
6
|
*
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
* you may not use this file except in compliance with the License.
|
@@ -26,20 +26,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
26
26
|
});
|
27
27
|
exports.JpegStream = void 0;
|
28
28
|
|
29
|
-
var _util = require("../shared/util");
|
29
|
+
var _util = require("../shared/util.js");
|
30
30
|
|
31
|
-
var _stream = require("./stream");
|
31
|
+
var _stream = require("./stream.js");
|
32
32
|
|
33
|
-
var _primitives = require("./primitives");
|
33
|
+
var _primitives = require("./primitives.js");
|
34
34
|
|
35
|
-
var _jpg = require("./jpg");
|
35
|
+
var _jpg = require("./jpg.js");
|
36
36
|
|
37
|
-
|
37
|
+
const JpegStream = function JpegStreamClosure() {
|
38
38
|
function JpegStream(stream, maybeLength, dict, params) {
|
39
|
-
|
39
|
+
let ch;
|
40
40
|
|
41
41
|
while ((ch = stream.getByte()) !== -1) {
|
42
|
-
if (ch ===
|
42
|
+
if (ch === 0xff) {
|
43
43
|
stream.skip(-1);
|
44
44
|
break;
|
45
45
|
}
|
@@ -54,9 +54,9 @@ var JpegStream = function JpegStreamClosure() {
|
|
54
54
|
}
|
55
55
|
|
56
56
|
JpegStream.prototype = Object.create(_stream.DecodeStream.prototype);
|
57
|
-
Object.defineProperty(JpegStream.prototype,
|
57
|
+
Object.defineProperty(JpegStream.prototype, "bytes", {
|
58
58
|
get: function JpegStream_bytes() {
|
59
|
-
return (0, _util.shadow)(this,
|
59
|
+
return (0, _util.shadow)(this, "bytes", this.stream.getBytes(this.maybeLength));
|
60
60
|
},
|
61
61
|
configurable: true
|
62
62
|
});
|
@@ -68,20 +68,20 @@ var JpegStream = function JpegStreamClosure() {
|
|
68
68
|
return;
|
69
69
|
}
|
70
70
|
|
71
|
-
|
71
|
+
const jpegOptions = {
|
72
72
|
decodeTransform: undefined,
|
73
73
|
colorTransform: undefined
|
74
74
|
};
|
75
|
-
|
75
|
+
const decodeArr = this.dict.getArray("Decode", "D");
|
76
76
|
|
77
77
|
if (this.forceRGB && Array.isArray(decodeArr)) {
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
78
|
+
const bitsPerComponent = this.dict.get("BitsPerComponent") || 8;
|
79
|
+
const decodeArrLength = decodeArr.length;
|
80
|
+
const transform = new Int32Array(decodeArrLength);
|
81
|
+
let transformNeeded = false;
|
82
|
+
const maxValue = (1 << bitsPerComponent) - 1;
|
83
83
|
|
84
|
-
for (
|
84
|
+
for (let i = 0; i < decodeArrLength; i += 2) {
|
85
85
|
transform[i] = (decodeArr[i + 1] - decodeArr[i]) * 256 | 0;
|
86
86
|
transform[i + 1] = decodeArr[i] * maxValue | 0;
|
87
87
|
|
@@ -96,16 +96,16 @@ var JpegStream = function JpegStreamClosure() {
|
|
96
96
|
}
|
97
97
|
|
98
98
|
if ((0, _primitives.isDict)(this.params)) {
|
99
|
-
|
99
|
+
const colorTransform = this.params.get("ColorTransform");
|
100
100
|
|
101
101
|
if (Number.isInteger(colorTransform)) {
|
102
102
|
jpegOptions.colorTransform = colorTransform;
|
103
103
|
}
|
104
104
|
}
|
105
105
|
|
106
|
-
|
106
|
+
const jpegImage = new _jpg.JpegImage(jpegOptions);
|
107
107
|
jpegImage.parse(this.bytes);
|
108
|
-
|
108
|
+
const data = jpegImage.getData({
|
109
109
|
width: this.drawWidth,
|
110
110
|
height: this.drawHeight,
|
111
111
|
forceRGB: this.forceRGB,
|
@@ -116,9 +116,118 @@ var JpegStream = function JpegStreamClosure() {
|
|
116
116
|
this.eof = true;
|
117
117
|
};
|
118
118
|
|
119
|
-
JpegStream.prototype
|
120
|
-
|
121
|
-
|
119
|
+
Object.defineProperty(JpegStream.prototype, "maybeValidDimensions", {
|
120
|
+
get: function JpegStream_maybeValidDimensions() {
|
121
|
+
const {
|
122
|
+
dict,
|
123
|
+
stream
|
124
|
+
} = this;
|
125
|
+
const dictHeight = dict.get("Height", "H");
|
126
|
+
const startPos = stream.pos;
|
127
|
+
let validDimensions = true,
|
128
|
+
foundSOF = false,
|
129
|
+
b;
|
130
|
+
|
131
|
+
while ((b = stream.getByte()) !== -1) {
|
132
|
+
if (b !== 0xff) {
|
133
|
+
continue;
|
134
|
+
}
|
135
|
+
|
136
|
+
switch (stream.getByte()) {
|
137
|
+
case 0xc0:
|
138
|
+
case 0xc1:
|
139
|
+
case 0xc2:
|
140
|
+
foundSOF = true;
|
141
|
+
stream.pos += 2;
|
142
|
+
stream.pos += 1;
|
143
|
+
const scanLines = stream.getUint16();
|
144
|
+
|
145
|
+
if (scanLines === dictHeight) {
|
146
|
+
break;
|
147
|
+
}
|
148
|
+
|
149
|
+
if (scanLines === 0) {
|
150
|
+
validDimensions = false;
|
151
|
+
break;
|
152
|
+
}
|
153
|
+
|
154
|
+
if (scanLines > dictHeight * 10) {
|
155
|
+
validDimensions = false;
|
156
|
+
break;
|
157
|
+
}
|
158
|
+
|
159
|
+
break;
|
160
|
+
|
161
|
+
case 0xc3:
|
162
|
+
case 0xc5:
|
163
|
+
case 0xc6:
|
164
|
+
case 0xc7:
|
165
|
+
case 0xc9:
|
166
|
+
case 0xca:
|
167
|
+
case 0xcb:
|
168
|
+
case 0xcd:
|
169
|
+
case 0xce:
|
170
|
+
case 0xcf:
|
171
|
+
foundSOF = true;
|
172
|
+
break;
|
173
|
+
|
174
|
+
case 0xc4:
|
175
|
+
case 0xcc:
|
176
|
+
case 0xda:
|
177
|
+
case 0xdb:
|
178
|
+
case 0xdc:
|
179
|
+
case 0xdd:
|
180
|
+
case 0xde:
|
181
|
+
case 0xdf:
|
182
|
+
case 0xe0:
|
183
|
+
case 0xe1:
|
184
|
+
case 0xe2:
|
185
|
+
case 0xe3:
|
186
|
+
case 0xe4:
|
187
|
+
case 0xe5:
|
188
|
+
case 0xe6:
|
189
|
+
case 0xe7:
|
190
|
+
case 0xe8:
|
191
|
+
case 0xe9:
|
192
|
+
case 0xea:
|
193
|
+
case 0xeb:
|
194
|
+
case 0xec:
|
195
|
+
case 0xed:
|
196
|
+
case 0xee:
|
197
|
+
case 0xef:
|
198
|
+
case 0xfe:
|
199
|
+
const markerLength = stream.getUint16();
|
200
|
+
|
201
|
+
if (markerLength > 2) {
|
202
|
+
stream.skip(markerLength - 2);
|
203
|
+
} else {
|
204
|
+
stream.skip(-2);
|
205
|
+
}
|
206
|
+
|
207
|
+
break;
|
208
|
+
|
209
|
+
case 0xff:
|
210
|
+
stream.skip(-1);
|
211
|
+
break;
|
212
|
+
|
213
|
+
case 0xd9:
|
214
|
+
foundSOF = true;
|
215
|
+
break;
|
216
|
+
}
|
217
|
+
|
218
|
+
if (foundSOF) {
|
219
|
+
break;
|
220
|
+
}
|
221
|
+
}
|
222
|
+
|
223
|
+
stream.pos = startPos;
|
224
|
+
return (0, _util.shadow)(this, "maybeValidDimensions", validDimensions);
|
225
|
+
},
|
226
|
+
configurable: true
|
227
|
+
});
|
228
|
+
|
229
|
+
JpegStream.prototype.getIR = function (forceDataSchema = false) {
|
230
|
+
return (0, _util.createObjectURL)(this.bytes, "image/jpeg", forceDataSchema);
|
122
231
|
};
|
123
232
|
|
124
233
|
return JpegStream;
|