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
@@ -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,24 +19,30 @@
|
|
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
|
-
var _primitives = require(
|
24
|
+
var _primitives = require("../../core/primitives");
|
25
25
|
|
26
|
-
var _test_utils = require(
|
26
|
+
var _test_utils = require("./test_utils");
|
27
27
|
|
28
28
|
describe('primitives', function () {
|
29
29
|
describe('Name', function () {
|
30
30
|
it('should retain the given name', function () {
|
31
31
|
var givenName = 'Font';
|
32
|
+
|
32
33
|
var name = _primitives.Name.get(givenName);
|
34
|
+
|
33
35
|
expect(name.name).toEqual(givenName);
|
34
36
|
});
|
35
37
|
it('should create only one object for a name and cache it', function () {
|
36
38
|
var firstFont = _primitives.Name.get('Font');
|
39
|
+
|
37
40
|
var secondFont = _primitives.Name.get('Font');
|
41
|
+
|
38
42
|
var firstSubtype = _primitives.Name.get('Subtype');
|
43
|
+
|
39
44
|
var secondSubtype = _primitives.Name.get('Subtype');
|
45
|
+
|
40
46
|
expect(firstFont).toBe(secondFont);
|
41
47
|
expect(firstSubtype).toBe(secondSubtype);
|
42
48
|
expect(firstFont).not.toBe(firstSubtype);
|
@@ -45,14 +51,20 @@ describe('primitives', function () {
|
|
45
51
|
describe('Cmd', function () {
|
46
52
|
it('should retain the given cmd name', function () {
|
47
53
|
var givenCmd = 'BT';
|
54
|
+
|
48
55
|
var cmd = _primitives.Cmd.get(givenCmd);
|
56
|
+
|
49
57
|
expect(cmd.cmd).toEqual(givenCmd);
|
50
58
|
});
|
51
59
|
it('should create only one object for a command and cache it', function () {
|
52
60
|
var firstBT = _primitives.Cmd.get('BT');
|
61
|
+
|
53
62
|
var secondBT = _primitives.Cmd.get('BT');
|
63
|
+
|
54
64
|
var firstET = _primitives.Cmd.get('ET');
|
65
|
+
|
55
66
|
var secondET = _primitives.Cmd.get('ET');
|
67
|
+
|
56
68
|
expect(firstBT).toBe(secondBT);
|
57
69
|
expect(firstET).toBe(secondET);
|
58
70
|
expect(firstBT).not.toBe(firstET);
|
@@ -63,12 +75,14 @@ describe('primitives', function () {
|
|
63
75
|
expect(dict.has()).toBeFalsy();
|
64
76
|
expect(dict.has('Prev')).toBeFalsy();
|
65
77
|
};
|
78
|
+
|
66
79
|
var checkInvalidKeyValues = function checkInvalidKeyValues(dict) {
|
67
80
|
expect(dict.get()).toBeUndefined();
|
68
81
|
expect(dict.get('Prev')).toBeUndefined();
|
69
82
|
expect(dict.get('Decode', 'D')).toBeUndefined();
|
70
83
|
expect(dict.get('FontFile', 'FontFile2', 'FontFile3')).toBeNull();
|
71
84
|
};
|
85
|
+
|
72
86
|
var emptyDict, dictWithSizeKey, dictWithManyKeys;
|
73
87
|
var storedSize = 42;
|
74
88
|
var testFontFile = 'file1';
|
@@ -121,7 +135,7 @@ describe('primitives', function () {
|
|
121
135
|
expect(values[0]).toBeUndefined();
|
122
136
|
expect(values[1]).toBeNull();
|
123
137
|
done();
|
124
|
-
})
|
138
|
+
})["catch"](function (reason) {
|
125
139
|
done.fail(reason);
|
126
140
|
});
|
127
141
|
});
|
@@ -132,7 +146,7 @@ describe('primitives', function () {
|
|
132
146
|
expect(values[1]).toEqual(testFontFile2);
|
133
147
|
expect(values[2]).toEqual(testFontFile);
|
134
148
|
done();
|
135
|
-
})
|
149
|
+
})["catch"](function (reason) {
|
136
150
|
done.fail(reason);
|
137
151
|
});
|
138
152
|
});
|
@@ -147,7 +161,8 @@ describe('primitives', function () {
|
|
147
161
|
expect(callbackSpyCalls.count()).toEqual(3);
|
148
162
|
});
|
149
163
|
it('should handle keys pointing to indirect objects, both sync and async', function (done) {
|
150
|
-
var fontRef =
|
164
|
+
var fontRef = _primitives.Ref.get(1, 0);
|
165
|
+
|
151
166
|
var xref = new _test_utils.XRefMock([{
|
152
167
|
ref: fontRef,
|
153
168
|
data: testFontFile
|
@@ -159,13 +174,14 @@ describe('primitives', function () {
|
|
159
174
|
fontDict.getAsync('FontFile', 'FontFile2', 'FontFile3').then(function (value) {
|
160
175
|
expect(value).toEqual(testFontFile);
|
161
176
|
done();
|
162
|
-
})
|
177
|
+
})["catch"](function (reason) {
|
163
178
|
done.fail(reason);
|
164
179
|
});
|
165
180
|
});
|
166
181
|
it('should handle arrays containing indirect objects', function () {
|
167
|
-
var minCoordRef =
|
168
|
-
maxCoordRef =
|
182
|
+
var minCoordRef = _primitives.Ref.get(1, 0),
|
183
|
+
maxCoordRef = _primitives.Ref.get(2, 0);
|
184
|
+
|
169
185
|
var minCoord = 0,
|
170
186
|
maxCoord = 1;
|
171
187
|
var xref = new _test_utils.XRefMock([{
|
@@ -195,7 +211,9 @@ describe('primitives', function () {
|
|
195
211
|
var expectedKeys = ['FontFile', 'FontFile2', 'FontFile3', 'Size'];
|
196
212
|
var fontFileDict = new _primitives.Dict();
|
197
213
|
fontFileDict.set('FontFile', 'Type1 font file');
|
214
|
+
|
198
215
|
var mergedDict = _primitives.Dict.merge(null, [dictWithManyKeys, dictWithSizeKey, fontFileDict]);
|
216
|
+
|
199
217
|
var mergedKeys = mergedDict.getKeys();
|
200
218
|
expect(mergedKeys.sort()).toEqual(expectedKeys);
|
201
219
|
expect(mergedDict.get('FontFile')).toEqual(testFontFile);
|
@@ -205,24 +223,30 @@ describe('primitives', function () {
|
|
205
223
|
it('should retain the stored values', function () {
|
206
224
|
var storedNum = 4;
|
207
225
|
var storedGen = 2;
|
208
|
-
|
226
|
+
|
227
|
+
var ref = _primitives.Ref.get(storedNum, storedGen);
|
228
|
+
|
209
229
|
expect(ref.num).toEqual(storedNum);
|
210
230
|
expect(ref.gen).toEqual(storedGen);
|
211
231
|
});
|
212
232
|
});
|
213
233
|
describe('RefSet', function () {
|
214
234
|
it('should have a stored value', function () {
|
215
|
-
var ref =
|
235
|
+
var ref = _primitives.Ref.get(4, 2);
|
236
|
+
|
216
237
|
var refset = new _primitives.RefSet();
|
217
238
|
refset.put(ref);
|
218
239
|
expect(refset.has(ref)).toBeTruthy();
|
219
240
|
});
|
220
241
|
it('should not have an unknown value', function () {
|
221
|
-
var ref =
|
242
|
+
var ref = _primitives.Ref.get(4, 2);
|
243
|
+
|
222
244
|
var refset = new _primitives.RefSet();
|
223
245
|
expect(refset.has(ref)).toBeFalsy();
|
224
246
|
refset.put(ref);
|
225
|
-
|
247
|
+
|
248
|
+
var anotherRef = _primitives.Ref.get(2, 4);
|
249
|
+
|
226
250
|
expect(refset.has(anotherRef)).toBeFalsy();
|
227
251
|
});
|
228
252
|
});
|
@@ -233,10 +257,12 @@ describe('primitives', function () {
|
|
233
257
|
});
|
234
258
|
it('handles names', function () {
|
235
259
|
var name = _primitives.Name.get('Font');
|
260
|
+
|
236
261
|
expect((0, _primitives.isName)(name)).toEqual(true);
|
237
262
|
});
|
238
263
|
it('handles names with name check', function () {
|
239
264
|
var name = _primitives.Name.get('Font');
|
265
|
+
|
240
266
|
expect((0, _primitives.isName)(name, 'Font')).toEqual(true);
|
241
267
|
expect((0, _primitives.isName)(name, 'Subtype')).toEqual(false);
|
242
268
|
});
|
@@ -248,10 +274,12 @@ describe('primitives', function () {
|
|
248
274
|
});
|
249
275
|
it('handles commands', function () {
|
250
276
|
var cmd = _primitives.Cmd.get('BT');
|
277
|
+
|
251
278
|
expect((0, _primitives.isCmd)(cmd)).toEqual(true);
|
252
279
|
});
|
253
280
|
it('handles commands with cmd check', function () {
|
254
281
|
var cmd = _primitives.Cmd.get('BT');
|
282
|
+
|
255
283
|
expect((0, _primitives.isCmd)(cmd, 'BT')).toEqual(true);
|
256
284
|
expect((0, _primitives.isCmd)(cmd, 'ET')).toEqual(false);
|
257
285
|
});
|
@@ -279,19 +307,24 @@ describe('primitives', function () {
|
|
279
307
|
expect((0, _primitives.isRef)(nonRef)).toEqual(false);
|
280
308
|
});
|
281
309
|
it('handles refs', function () {
|
282
|
-
var ref =
|
310
|
+
var ref = _primitives.Ref.get(1, 0);
|
311
|
+
|
283
312
|
expect((0, _primitives.isRef)(ref)).toEqual(true);
|
284
313
|
});
|
285
314
|
});
|
286
315
|
describe('isRefsEqual', function () {
|
287
|
-
it('should handle
|
288
|
-
var ref1 =
|
289
|
-
|
316
|
+
it('should handle Refs pointing to the same object', function () {
|
317
|
+
var ref1 = _primitives.Ref.get(1, 0);
|
318
|
+
|
319
|
+
var ref2 = _primitives.Ref.get(1, 0);
|
320
|
+
|
290
321
|
expect((0, _primitives.isRefsEqual)(ref1, ref2)).toEqual(true);
|
291
322
|
});
|
292
323
|
it('should handle Refs pointing to different objects', function () {
|
293
|
-
var ref1 =
|
294
|
-
|
324
|
+
var ref1 = _primitives.Ref.get(1, 0);
|
325
|
+
|
326
|
+
var ref2 = _primitives.Ref.get(2, 0);
|
327
|
+
|
295
328
|
expect((0, _primitives.isRefsEqual)(ref1, ref2)).toEqual(false);
|
296
329
|
});
|
297
330
|
});
|
@@ -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,11 +19,11 @@
|
|
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
|
-
var _stream = require(
|
24
|
+
var _stream = require("../../core/stream");
|
25
25
|
|
26
|
-
var _primitives = require(
|
26
|
+
var _primitives = require("../../core/primitives");
|
27
27
|
|
28
28
|
describe('stream', function () {
|
29
29
|
beforeEach(function () {
|
@@ -32,20 +32,25 @@ describe('stream', function () {
|
|
32
32
|
return {
|
33
33
|
compare: function compare(actual, expected) {
|
34
34
|
var result = {};
|
35
|
+
|
35
36
|
if (actual.length !== expected.length) {
|
36
37
|
result.pass = false;
|
37
38
|
result.message = 'Array length: ' + actual.length + ', expected: ' + expected.length;
|
38
39
|
return result;
|
39
40
|
}
|
41
|
+
|
40
42
|
result.pass = true;
|
43
|
+
|
41
44
|
for (var i = 0, ii = expected.length; i < ii; i++) {
|
42
45
|
var a = actual[i],
|
43
46
|
b = expected[i];
|
47
|
+
|
44
48
|
if (a !== b) {
|
45
49
|
result.pass = false;
|
46
50
|
break;
|
47
51
|
}
|
48
52
|
}
|
53
|
+
|
49
54
|
return result;
|
50
55
|
}
|
51
56
|
};
|
@@ -63,6 +68,9 @@ describe('stream', function () {
|
|
63
68
|
var predictor = new _stream.PredictorStream(input, 9, dict);
|
64
69
|
var result = predictor.getBytes(6);
|
65
70
|
expect(result).toMatchTypedArray(new Uint8Array([100, 3, 101, 2, 102, 1]));
|
71
|
+
predictor.reset();
|
72
|
+
var clampedResult = predictor.getBytes(6, true);
|
73
|
+
expect(clampedResult).toEqual(new Uint8ClampedArray([100, 3, 101, 2, 102, 1]));
|
66
74
|
});
|
67
75
|
});
|
68
76
|
});
|