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,21 +26,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
26
26
|
});
|
27
27
|
exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;
|
28
28
|
|
29
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
|
30
|
-
|
31
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
|
32
|
-
|
33
|
-
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
34
|
-
|
35
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
36
|
-
|
37
29
|
function getFilenameFromContentDispositionHeader(contentDisposition) {
|
38
|
-
|
39
|
-
|
30
|
+
let needsEncodingFixup = true;
|
31
|
+
let tmp = toParamRegExp("filename\\*", "i").exec(contentDisposition);
|
40
32
|
|
41
33
|
if (tmp) {
|
42
34
|
tmp = tmp[1];
|
43
|
-
|
35
|
+
let filename = rfc2616unquote(tmp);
|
44
36
|
filename = unescape(filename);
|
45
37
|
filename = rfc5987decode(filename);
|
46
38
|
filename = rfc2047decode(filename);
|
@@ -50,24 +42,21 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
|
|
50
42
|
tmp = rfc2231getparam(contentDisposition);
|
51
43
|
|
52
44
|
if (tmp) {
|
53
|
-
|
54
|
-
|
55
|
-
return fixupEncoding(_filename);
|
45
|
+
const filename = rfc2047decode(tmp);
|
46
|
+
return fixupEncoding(filename);
|
56
47
|
}
|
57
48
|
|
58
|
-
tmp = toParamRegExp(
|
49
|
+
tmp = toParamRegExp("filename", "i").exec(contentDisposition);
|
59
50
|
|
60
51
|
if (tmp) {
|
61
52
|
tmp = tmp[1];
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
_filename2 = rfc2047decode(_filename2);
|
66
|
-
return fixupEncoding(_filename2);
|
53
|
+
let filename = rfc2616unquote(tmp);
|
54
|
+
filename = rfc2047decode(filename);
|
55
|
+
return fixupEncoding(filename);
|
67
56
|
}
|
68
57
|
|
69
58
|
function toParamRegExp(attributePattern, flags) {
|
70
|
-
return new RegExp(
|
59
|
+
return new RegExp("(?:^|;)\\s*" + attributePattern + "\\s*=\\s*" + "(" + '[^";\\s][^;\\s]*' + "|" + '"(?:[^"\\\\]|\\\\"?)+"?' + ")", flags);
|
71
60
|
}
|
72
61
|
|
73
62
|
function textdecode(encoding, value) {
|
@@ -77,11 +66,11 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
|
|
77
66
|
}
|
78
67
|
|
79
68
|
try {
|
80
|
-
|
69
|
+
const decoder = new TextDecoder(encoding, {
|
81
70
|
fatal: true
|
82
71
|
});
|
83
|
-
|
84
|
-
return ch.charCodeAt(0) &
|
72
|
+
const bytes = Array.from(value, function (ch) {
|
73
|
+
return ch.charCodeAt(0) & 0xff;
|
85
74
|
});
|
86
75
|
value = decoder.decode(new Uint8Array(bytes));
|
87
76
|
needsEncodingFixup = false;
|
@@ -100,28 +89,23 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
|
|
100
89
|
|
101
90
|
function fixupEncoding(value) {
|
102
91
|
if (needsEncodingFixup && /[\x80-\xff]/.test(value)) {
|
103
|
-
value = textdecode(
|
92
|
+
value = textdecode("utf-8", value);
|
104
93
|
|
105
94
|
if (needsEncodingFixup) {
|
106
|
-
value = textdecode(
|
95
|
+
value = textdecode("iso-8859-1", value);
|
107
96
|
}
|
108
97
|
}
|
109
98
|
|
110
99
|
return value;
|
111
100
|
}
|
112
101
|
|
113
|
-
function rfc2231getparam(
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
while ((match = iter.exec(contentDisposition)) !== null) {
|
119
|
-
var _match = match,
|
120
|
-
_match2 = _slicedToArray(_match, 4),
|
121
|
-
n = _match2[1],
|
122
|
-
quot = _match2[2],
|
123
|
-
part = _match2[3];
|
102
|
+
function rfc2231getparam(contentDispositionStr) {
|
103
|
+
const matches = [];
|
104
|
+
let match;
|
105
|
+
const iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig");
|
124
106
|
|
107
|
+
while ((match = iter.exec(contentDispositionStr)) !== null) {
|
108
|
+
let [, n, quot, part] = match;
|
125
109
|
n = parseInt(n, 10);
|
126
110
|
|
127
111
|
if (n in matches) {
|
@@ -135,17 +119,14 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
|
|
135
119
|
matches[n] = [quot, part];
|
136
120
|
}
|
137
121
|
|
138
|
-
|
122
|
+
const parts = [];
|
139
123
|
|
140
|
-
for (
|
124
|
+
for (let n = 0; n < matches.length; ++n) {
|
141
125
|
if (!(n in matches)) {
|
142
126
|
break;
|
143
127
|
}
|
144
128
|
|
145
|
-
|
146
|
-
quot = _matches$n[0],
|
147
|
-
part = _matches$n[1];
|
148
|
-
|
129
|
+
let [quot, part] = matches[n];
|
149
130
|
part = rfc2616unquote(part);
|
150
131
|
|
151
132
|
if (quot) {
|
@@ -159,22 +140,22 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
|
|
159
140
|
parts.push(part);
|
160
141
|
}
|
161
142
|
|
162
|
-
return parts.join(
|
143
|
+
return parts.join("");
|
163
144
|
}
|
164
145
|
|
165
146
|
function rfc2616unquote(value) {
|
166
147
|
if (value.startsWith('"')) {
|
167
|
-
|
148
|
+
const parts = value.slice(1).split('\\"');
|
168
149
|
|
169
|
-
for (
|
170
|
-
|
150
|
+
for (let i = 0; i < parts.length; ++i) {
|
151
|
+
const quotindex = parts[i].indexOf('"');
|
171
152
|
|
172
153
|
if (quotindex !== -1) {
|
173
154
|
parts[i] = parts[i].slice(0, quotindex);
|
174
155
|
parts.length = i + 1;
|
175
156
|
}
|
176
157
|
|
177
|
-
parts[i] = parts[i].replace(/\\(.)/g,
|
158
|
+
parts[i] = parts[i].replace(/\\(.)/g, "$1");
|
178
159
|
}
|
179
160
|
|
180
161
|
value = parts.join('"');
|
@@ -184,27 +165,27 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
|
|
184
165
|
}
|
185
166
|
|
186
167
|
function rfc5987decode(extvalue) {
|
187
|
-
|
168
|
+
const encodingend = extvalue.indexOf("'");
|
188
169
|
|
189
170
|
if (encodingend === -1) {
|
190
171
|
return extvalue;
|
191
172
|
}
|
192
173
|
|
193
|
-
|
194
|
-
|
195
|
-
|
174
|
+
const encoding = extvalue.slice(0, encodingend);
|
175
|
+
const langvalue = extvalue.slice(encodingend + 1);
|
176
|
+
const value = langvalue.replace(/^[^']*'/, "");
|
196
177
|
return textdecode(encoding, value);
|
197
178
|
}
|
198
179
|
|
199
180
|
function rfc2047decode(value) {
|
200
|
-
if (!value.startsWith(
|
181
|
+
if (!value.startsWith("=?") || /[\x00-\x19\x80-\xff]/.test(value)) {
|
201
182
|
return value;
|
202
183
|
}
|
203
184
|
|
204
|
-
return value.replace(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (
|
205
|
-
if (encoding ===
|
206
|
-
text = text.replace(/_/g,
|
207
|
-
text = text.replace(/=([0-9a-fA-F]{2})/g, function (
|
185
|
+
return value.replace(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (matches, charset, encoding, text) {
|
186
|
+
if (encoding === "q" || encoding === "Q") {
|
187
|
+
text = text.replace(/_/g, " ");
|
188
|
+
text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) {
|
208
189
|
return String.fromCharCode(parseInt(hex, 16));
|
209
190
|
});
|
210
191
|
return textdecode(charset, text);
|
@@ -218,5 +199,5 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
|
|
218
199
|
});
|
219
200
|
}
|
220
201
|
|
221
|
-
return
|
202
|
+
return "";
|
222
203
|
}
|