pdfjs-dist 2.0.489 → 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 +18515 -11402
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +1 -1
- package/build/pdf.worker.js +48266 -37137
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +1 -1
- package/external/url/url-lib.js +627 -0
- package/image_decoders/pdf.image_decoders.js +11350 -0
- package/image_decoders/pdf.image_decoders.js.map +1 -0
- package/image_decoders/pdf.image_decoders.min.js +1 -0
- package/lib/core/annotation.js +587 -242
- package/lib/core/arithmetic_decoder.js +275 -245
- package/lib/core/bidi.js +65 -6
- package/lib/core/ccitt.js +173 -18
- package/lib/core/ccitt_stream.js +15 -6
- package/lib/core/cff_parser.js +433 -61
- package/lib/core/charsets.js +5 -4
- package/lib/core/chunked_stream.js +400 -152
- package/lib/core/cmap.js +326 -87
- package/lib/core/colorspace.js +874 -594
- package/lib/core/core_utils.js +147 -0
- package/lib/core/crypto.js +290 -45
- package/lib/core/document.js +560 -268
- package/lib/core/encodings.js +19 -10
- package/lib/core/evaluator.js +1005 -360
- package/lib/core/font_renderer.js +331 -97
- package/lib/core/fonts.js +812 -195
- package/lib/core/function.js +284 -71
- package/lib/core/glyphlist.js +4 -3
- package/lib/core/image.js +169 -62
- package/lib/core/image_utils.js +111 -0
- package/lib/core/jbig2.js +479 -66
- package/lib/core/jbig2_stream.js +19 -8
- package/lib/core/jpeg_stream.js +38 -13
- package/lib/core/jpg.js +253 -29
- package/lib/core/jpx.js +396 -6
- package/lib/core/jpx_stream.js +18 -6
- package/lib/core/metrics.js +15 -15
- package/lib/core/murmurhash3.js +56 -34
- package/lib/core/obj.js +1354 -488
- package/lib/core/operator_list.js +144 -31
- package/lib/core/parser.js +539 -191
- package/lib/core/pattern.js +148 -14
- package/lib/core/pdf_manager.js +323 -133
- package/lib/core/primitives.js +111 -24
- package/lib/core/ps_parser.js +134 -45
- package/lib/core/standard_fonts.js +17 -17
- package/lib/core/stream.js +313 -34
- package/lib/core/type1_parser.js +143 -13
- package/lib/core/unicode.js +32 -5
- package/lib/core/worker.js +217 -190
- package/lib/core/worker_stream.js +277 -0
- package/lib/display/annotation_layer.js +450 -133
- package/lib/display/api.js +1597 -784
- package/lib/display/api_compatibility.js +11 -13
- package/lib/display/canvas.js +360 -44
- package/lib/display/content_disposition.js +83 -32
- package/lib/display/display_utils.js +747 -0
- package/lib/display/fetch_stream.js +221 -90
- package/lib/display/font_loader.js +468 -236
- package/lib/display/metadata.js +38 -16
- package/lib/display/network.js +635 -428
- package/lib/display/network_utils.js +32 -19
- package/lib/display/node_stream.js +367 -175
- package/lib/display/pattern_helper.js +81 -31
- package/lib/display/svg.js +1235 -519
- package/lib/display/text_layer.js +153 -29
- package/lib/display/transport_stream.js +345 -94
- package/lib/display/webgl.js +64 -18
- package/lib/display/worker_options.js +5 -4
- package/lib/display/xml_parser.js +166 -53
- package/lib/examples/node/domstubs.js +60 -4
- package/lib/pdf.js +36 -14
- package/lib/pdf.worker.js +5 -3
- package/lib/shared/compatibility.js +158 -564
- package/lib/shared/global_scope.js +2 -2
- package/lib/shared/is_node.js +4 -4
- package/lib/shared/message_handler.js +521 -0
- package/lib/shared/streams_polyfill.js +21 -17
- package/lib/shared/url_polyfill.js +56 -0
- package/lib/shared/util.js +243 -710
- package/lib/test/unit/annotation_spec.js +870 -401
- package/lib/test/unit/api_spec.js +657 -345
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +54 -11
- package/lib/test/unit/clitests_helper.js +10 -8
- package/lib/test/unit/cmap_spec.js +95 -41
- package/lib/test/unit/colorspace_spec.js +115 -63
- package/lib/test/unit/core_utils_spec.js +191 -0
- package/lib/test/unit/crypto_spec.js +17 -5
- package/lib/test/unit/custom_spec.js +43 -55
- package/lib/test/unit/display_svg_spec.js +34 -18
- package/lib/test/unit/display_utils_spec.js +273 -0
- package/lib/test/unit/document_spec.js +8 -13
- package/lib/test/unit/encodings_spec.js +25 -45
- package/lib/test/unit/evaluator_spec.js +38 -15
- package/lib/test/unit/fetch_stream_spec.js +109 -0
- package/lib/test/unit/function_spec.js +17 -5
- package/lib/test/unit/jasmine-boot.js +33 -20
- package/lib/test/unit/{util_stream_spec.js → message_handler_spec.js} +41 -69
- package/lib/test/unit/metadata_spec.js +71 -11
- package/lib/test/unit/murmurhash3_spec.js +3 -3
- package/lib/test/unit/network_spec.js +19 -54
- package/lib/test/unit/network_utils_spec.js +91 -14
- package/lib/test/unit/node_stream_spec.js +56 -32
- package/lib/test/unit/parser_spec.js +162 -71
- package/lib/test/unit/pdf_find_controller_spec.js +230 -0
- package/lib/test/unit/pdf_find_utils_spec.js +63 -0
- package/lib/test/unit/pdf_history_spec.js +21 -9
- package/lib/test/unit/primitives_spec.js +53 -20
- package/lib/test/unit/stream_spec.js +12 -4
- package/lib/test/unit/test_utils.js +273 -56
- package/lib/test/unit/testreporter.js +21 -3
- package/lib/test/unit/type1_parser_spec.js +8 -6
- package/lib/test/unit/ui_utils_spec.js +454 -16
- package/lib/test/unit/unicode_spec.js +18 -15
- package/lib/test/unit/util_spec.js +87 -128
- package/lib/web/annotation_layer_builder.js +39 -22
- package/lib/web/app.js +1290 -588
- package/lib/web/app_options.js +100 -62
- package/lib/web/base_viewer.js +511 -182
- package/lib/web/chromecom.js +261 -117
- package/lib/web/debugger.js +166 -22
- package/lib/web/download_manager.js +32 -13
- package/lib/web/firefox_print_service.js +20 -10
- package/lib/web/firefoxcom.js +315 -80
- package/lib/web/genericcom.js +89 -30
- package/lib/web/genericl10n.js +142 -30
- package/lib/web/grab_to_pan.js +28 -4
- package/lib/web/interfaces.js +170 -47
- package/lib/web/overlay_manager.js +235 -85
- package/lib/web/password_prompt.js +22 -14
- package/lib/web/pdf_attachment_viewer.js +38 -18
- package/lib/web/pdf_cursor_tools.js +39 -16
- package/lib/web/pdf_document_properties.js +255 -136
- package/lib/web/pdf_find_bar.js +84 -40
- package/lib/web/pdf_find_controller.js +495 -184
- package/lib/web/pdf_find_utils.js +111 -0
- package/lib/web/pdf_history.js +190 -53
- package/lib/web/pdf_link_service.js +138 -77
- package/lib/web/pdf_outline_viewer.js +122 -46
- package/lib/web/pdf_page_view.js +191 -67
- package/lib/web/pdf_presentation_mode.js +99 -34
- package/lib/web/pdf_print_service.js +61 -13
- package/lib/web/pdf_rendering_queue.js +28 -9
- package/lib/web/pdf_sidebar.js +141 -81
- package/lib/web/pdf_sidebar_resizer.js +42 -16
- package/lib/web/pdf_single_page_viewer.js +74 -66
- package/lib/web/pdf_thumbnail_view.js +104 -33
- package/lib/web/pdf_thumbnail_viewer.js +66 -26
- package/lib/web/pdf_viewer.component.js +112 -32
- package/lib/web/pdf_viewer.js +91 -52
- package/lib/web/preferences.js +284 -89
- package/lib/web/secondary_toolbar.js +165 -40
- package/lib/web/text_layer_builder.js +134 -59
- package/lib/web/toolbar.js +78 -43
- package/lib/web/ui_utils.js +462 -136
- package/lib/web/view_history.js +215 -67
- package/lib/web/viewer_compatibility.js +4 -13
- package/package.json +5 -4
- package/web/pdf_viewer.css +79 -11
- package/web/pdf_viewer.js +6107 -3748
- package/web/pdf_viewer.js.map +1 -1
- package/lib/display/dom_utils.js +0 -309
- package/lib/test/unit/dom_utils_spec.js +0 -89
- package/lib/test/unit/fonts_spec.js +0 -81
- package/lib/web/dom_events.js +0 -137
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 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.
|
@@ -19,20 +19,20 @@
|
|
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.Jbig2Stream =
|
27
|
+
exports.Jbig2Stream = void 0;
|
28
28
|
|
29
|
-
var _primitives = require(
|
29
|
+
var _primitives = require("./primitives");
|
30
30
|
|
31
|
-
var _stream = require(
|
31
|
+
var _stream = require("./stream");
|
32
32
|
|
33
|
-
var _jbig = require(
|
33
|
+
var _jbig = require("./jbig2");
|
34
34
|
|
35
|
-
var _util = require(
|
35
|
+
var _util = require("../shared/util");
|
36
36
|
|
37
37
|
var Jbig2Stream = function Jbig2StreamClosure() {
|
38
38
|
function Jbig2Stream(stream, maybeLength, dict, params) {
|
@@ -40,25 +40,31 @@ var Jbig2Stream = function Jbig2StreamClosure() {
|
|
40
40
|
this.maybeLength = maybeLength;
|
41
41
|
this.dict = dict;
|
42
42
|
this.params = params;
|
43
|
+
|
43
44
|
_stream.DecodeStream.call(this, maybeLength);
|
44
45
|
}
|
46
|
+
|
45
47
|
Jbig2Stream.prototype = Object.create(_stream.DecodeStream.prototype);
|
46
48
|
Object.defineProperty(Jbig2Stream.prototype, 'bytes', {
|
47
49
|
get: function get() {
|
48
50
|
return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));
|
49
51
|
},
|
50
|
-
|
51
52
|
configurable: true
|
52
53
|
});
|
54
|
+
|
53
55
|
Jbig2Stream.prototype.ensureBuffer = function (requested) {};
|
56
|
+
|
54
57
|
Jbig2Stream.prototype.readBlock = function () {
|
55
58
|
if (this.eof) {
|
56
59
|
return;
|
57
60
|
}
|
61
|
+
|
58
62
|
var jbig2Image = new _jbig.Jbig2Image();
|
59
63
|
var chunks = [];
|
64
|
+
|
60
65
|
if ((0, _primitives.isDict)(this.params)) {
|
61
66
|
var globalsStream = this.params.get('JBIG2Globals');
|
67
|
+
|
62
68
|
if ((0, _primitives.isStream)(globalsStream)) {
|
63
69
|
var globals = globalsStream.getBytes();
|
64
70
|
chunks.push({
|
@@ -68,6 +74,7 @@ var Jbig2Stream = function Jbig2StreamClosure() {
|
|
68
74
|
});
|
69
75
|
}
|
70
76
|
}
|
77
|
+
|
71
78
|
chunks.push({
|
72
79
|
data: this.bytes,
|
73
80
|
start: 0,
|
@@ -75,13 +82,17 @@ var Jbig2Stream = function Jbig2StreamClosure() {
|
|
75
82
|
});
|
76
83
|
var data = jbig2Image.parseChunks(chunks);
|
77
84
|
var dataLength = data.length;
|
85
|
+
|
78
86
|
for (var i = 0; i < dataLength; i++) {
|
79
87
|
data[i] ^= 0xFF;
|
80
88
|
}
|
89
|
+
|
81
90
|
this.buffer = data;
|
82
91
|
this.bufferLength = dataLength;
|
83
92
|
this.eof = true;
|
84
93
|
};
|
94
|
+
|
85
95
|
return Jbig2Stream;
|
86
96
|
}();
|
97
|
+
|
87
98
|
exports.Jbig2Stream = Jbig2Stream;
|
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 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.
|
@@ -19,36 +19,40 @@
|
|
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.JpegStream =
|
27
|
+
exports.JpegStream = void 0;
|
28
28
|
|
29
|
-
var _util = require(
|
29
|
+
var _util = require("../shared/util");
|
30
30
|
|
31
|
-
var _stream = require(
|
31
|
+
var _stream = require("./stream");
|
32
32
|
|
33
|
-
var _primitives = require(
|
33
|
+
var _primitives = require("./primitives");
|
34
34
|
|
35
|
-
var _jpg = require(
|
35
|
+
var _jpg = require("./jpg");
|
36
36
|
|
37
37
|
var JpegStream = function JpegStreamClosure() {
|
38
38
|
function JpegStream(stream, maybeLength, dict, params) {
|
39
|
-
var ch
|
39
|
+
var ch;
|
40
|
+
|
40
41
|
while ((ch = stream.getByte()) !== -1) {
|
41
42
|
if (ch === 0xFF) {
|
42
43
|
stream.skip(-1);
|
43
44
|
break;
|
44
45
|
}
|
45
46
|
}
|
47
|
+
|
46
48
|
this.stream = stream;
|
47
49
|
this.maybeLength = maybeLength;
|
48
50
|
this.dict = dict;
|
49
51
|
this.params = params;
|
52
|
+
|
50
53
|
_stream.DecodeStream.call(this, maybeLength);
|
51
54
|
}
|
55
|
+
|
52
56
|
JpegStream.prototype = Object.create(_stream.DecodeStream.prototype);
|
53
57
|
Object.defineProperty(JpegStream.prototype, 'bytes', {
|
54
58
|
get: function JpegStream_bytes() {
|
@@ -56,47 +60,68 @@ var JpegStream = function JpegStreamClosure() {
|
|
56
60
|
},
|
57
61
|
configurable: true
|
58
62
|
});
|
63
|
+
|
59
64
|
JpegStream.prototype.ensureBuffer = function (requested) {};
|
65
|
+
|
60
66
|
JpegStream.prototype.readBlock = function () {
|
61
67
|
if (this.eof) {
|
62
68
|
return;
|
63
69
|
}
|
64
|
-
|
70
|
+
|
71
|
+
var jpegOptions = {
|
72
|
+
decodeTransform: undefined,
|
73
|
+
colorTransform: undefined
|
74
|
+
};
|
65
75
|
var decodeArr = this.dict.getArray('Decode', 'D');
|
76
|
+
|
66
77
|
if (this.forceRGB && Array.isArray(decodeArr)) {
|
67
78
|
var bitsPerComponent = this.dict.get('BitsPerComponent') || 8;
|
68
79
|
var decodeArrLength = decodeArr.length;
|
69
80
|
var transform = new Int32Array(decodeArrLength);
|
70
81
|
var transformNeeded = false;
|
71
82
|
var maxValue = (1 << bitsPerComponent) - 1;
|
83
|
+
|
72
84
|
for (var i = 0; i < decodeArrLength; i += 2) {
|
73
85
|
transform[i] = (decodeArr[i + 1] - decodeArr[i]) * 256 | 0;
|
74
86
|
transform[i + 1] = decodeArr[i] * maxValue | 0;
|
87
|
+
|
75
88
|
if (transform[i] !== 256 || transform[i + 1] !== 0) {
|
76
89
|
transformNeeded = true;
|
77
90
|
}
|
78
91
|
}
|
92
|
+
|
79
93
|
if (transformNeeded) {
|
80
|
-
|
94
|
+
jpegOptions.decodeTransform = transform;
|
81
95
|
}
|
82
96
|
}
|
97
|
+
|
83
98
|
if ((0, _primitives.isDict)(this.params)) {
|
84
99
|
var colorTransform = this.params.get('ColorTransform');
|
100
|
+
|
85
101
|
if (Number.isInteger(colorTransform)) {
|
86
|
-
|
102
|
+
jpegOptions.colorTransform = colorTransform;
|
87
103
|
}
|
88
104
|
}
|
105
|
+
|
106
|
+
var jpegImage = new _jpg.JpegImage(jpegOptions);
|
89
107
|
jpegImage.parse(this.bytes);
|
90
|
-
var data = jpegImage.getData(
|
108
|
+
var data = jpegImage.getData({
|
109
|
+
width: this.drawWidth,
|
110
|
+
height: this.drawHeight,
|
111
|
+
forceRGB: this.forceRGB,
|
112
|
+
isSourcePDF: true
|
113
|
+
});
|
91
114
|
this.buffer = data;
|
92
115
|
this.bufferLength = data.length;
|
93
116
|
this.eof = true;
|
94
117
|
};
|
118
|
+
|
95
119
|
JpegStream.prototype.getIR = function () {
|
96
120
|
var forceDataSchema = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
97
|
-
|
98
121
|
return (0, _util.createObjectURL)(this.bytes, 'image/jpeg', forceDataSchema);
|
99
122
|
};
|
123
|
+
|
100
124
|
return JpegStream;
|
101
125
|
}();
|
126
|
+
|
102
127
|
exports.JpegStream = JpegStream;
|