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.

Files changed (169) hide show
  1. package/CODE_OF_CONDUCT.md +15 -0
  2. package/bower.json +1 -1
  3. package/build/pdf.js +18515 -11402
  4. package/build/pdf.js.map +1 -1
  5. package/build/pdf.min.js +1 -1
  6. package/build/pdf.worker.js +48266 -37137
  7. package/build/pdf.worker.js.map +1 -1
  8. package/build/pdf.worker.min.js +1 -1
  9. package/external/url/url-lib.js +627 -0
  10. package/image_decoders/pdf.image_decoders.js +11350 -0
  11. package/image_decoders/pdf.image_decoders.js.map +1 -0
  12. package/image_decoders/pdf.image_decoders.min.js +1 -0
  13. package/lib/core/annotation.js +587 -242
  14. package/lib/core/arithmetic_decoder.js +275 -245
  15. package/lib/core/bidi.js +65 -6
  16. package/lib/core/ccitt.js +173 -18
  17. package/lib/core/ccitt_stream.js +15 -6
  18. package/lib/core/cff_parser.js +433 -61
  19. package/lib/core/charsets.js +5 -4
  20. package/lib/core/chunked_stream.js +400 -152
  21. package/lib/core/cmap.js +326 -87
  22. package/lib/core/colorspace.js +874 -594
  23. package/lib/core/core_utils.js +147 -0
  24. package/lib/core/crypto.js +290 -45
  25. package/lib/core/document.js +560 -268
  26. package/lib/core/encodings.js +19 -10
  27. package/lib/core/evaluator.js +1005 -360
  28. package/lib/core/font_renderer.js +331 -97
  29. package/lib/core/fonts.js +812 -195
  30. package/lib/core/function.js +284 -71
  31. package/lib/core/glyphlist.js +4 -3
  32. package/lib/core/image.js +169 -62
  33. package/lib/core/image_utils.js +111 -0
  34. package/lib/core/jbig2.js +479 -66
  35. package/lib/core/jbig2_stream.js +19 -8
  36. package/lib/core/jpeg_stream.js +38 -13
  37. package/lib/core/jpg.js +253 -29
  38. package/lib/core/jpx.js +396 -6
  39. package/lib/core/jpx_stream.js +18 -6
  40. package/lib/core/metrics.js +15 -15
  41. package/lib/core/murmurhash3.js +56 -34
  42. package/lib/core/obj.js +1354 -488
  43. package/lib/core/operator_list.js +144 -31
  44. package/lib/core/parser.js +539 -191
  45. package/lib/core/pattern.js +148 -14
  46. package/lib/core/pdf_manager.js +323 -133
  47. package/lib/core/primitives.js +111 -24
  48. package/lib/core/ps_parser.js +134 -45
  49. package/lib/core/standard_fonts.js +17 -17
  50. package/lib/core/stream.js +313 -34
  51. package/lib/core/type1_parser.js +143 -13
  52. package/lib/core/unicode.js +32 -5
  53. package/lib/core/worker.js +217 -190
  54. package/lib/core/worker_stream.js +277 -0
  55. package/lib/display/annotation_layer.js +450 -133
  56. package/lib/display/api.js +1597 -784
  57. package/lib/display/api_compatibility.js +11 -13
  58. package/lib/display/canvas.js +360 -44
  59. package/lib/display/content_disposition.js +83 -32
  60. package/lib/display/display_utils.js +747 -0
  61. package/lib/display/fetch_stream.js +221 -90
  62. package/lib/display/font_loader.js +468 -236
  63. package/lib/display/metadata.js +38 -16
  64. package/lib/display/network.js +635 -428
  65. package/lib/display/network_utils.js +32 -19
  66. package/lib/display/node_stream.js +367 -175
  67. package/lib/display/pattern_helper.js +81 -31
  68. package/lib/display/svg.js +1235 -519
  69. package/lib/display/text_layer.js +153 -29
  70. package/lib/display/transport_stream.js +345 -94
  71. package/lib/display/webgl.js +64 -18
  72. package/lib/display/worker_options.js +5 -4
  73. package/lib/display/xml_parser.js +166 -53
  74. package/lib/examples/node/domstubs.js +60 -4
  75. package/lib/pdf.js +36 -14
  76. package/lib/pdf.worker.js +5 -3
  77. package/lib/shared/compatibility.js +158 -564
  78. package/lib/shared/global_scope.js +2 -2
  79. package/lib/shared/is_node.js +4 -4
  80. package/lib/shared/message_handler.js +521 -0
  81. package/lib/shared/streams_polyfill.js +21 -17
  82. package/lib/shared/url_polyfill.js +56 -0
  83. package/lib/shared/util.js +243 -710
  84. package/lib/test/unit/annotation_spec.js +870 -401
  85. package/lib/test/unit/api_spec.js +657 -345
  86. package/lib/test/unit/bidi_spec.js +7 -7
  87. package/lib/test/unit/cff_parser_spec.js +54 -11
  88. package/lib/test/unit/clitests_helper.js +10 -8
  89. package/lib/test/unit/cmap_spec.js +95 -41
  90. package/lib/test/unit/colorspace_spec.js +115 -63
  91. package/lib/test/unit/core_utils_spec.js +191 -0
  92. package/lib/test/unit/crypto_spec.js +17 -5
  93. package/lib/test/unit/custom_spec.js +43 -55
  94. package/lib/test/unit/display_svg_spec.js +34 -18
  95. package/lib/test/unit/display_utils_spec.js +273 -0
  96. package/lib/test/unit/document_spec.js +8 -13
  97. package/lib/test/unit/encodings_spec.js +25 -45
  98. package/lib/test/unit/evaluator_spec.js +38 -15
  99. package/lib/test/unit/fetch_stream_spec.js +109 -0
  100. package/lib/test/unit/function_spec.js +17 -5
  101. package/lib/test/unit/jasmine-boot.js +33 -20
  102. package/lib/test/unit/{util_stream_spec.js → message_handler_spec.js} +41 -69
  103. package/lib/test/unit/metadata_spec.js +71 -11
  104. package/lib/test/unit/murmurhash3_spec.js +3 -3
  105. package/lib/test/unit/network_spec.js +19 -54
  106. package/lib/test/unit/network_utils_spec.js +91 -14
  107. package/lib/test/unit/node_stream_spec.js +56 -32
  108. package/lib/test/unit/parser_spec.js +162 -71
  109. package/lib/test/unit/pdf_find_controller_spec.js +230 -0
  110. package/lib/test/unit/pdf_find_utils_spec.js +63 -0
  111. package/lib/test/unit/pdf_history_spec.js +21 -9
  112. package/lib/test/unit/primitives_spec.js +53 -20
  113. package/lib/test/unit/stream_spec.js +12 -4
  114. package/lib/test/unit/test_utils.js +273 -56
  115. package/lib/test/unit/testreporter.js +21 -3
  116. package/lib/test/unit/type1_parser_spec.js +8 -6
  117. package/lib/test/unit/ui_utils_spec.js +454 -16
  118. package/lib/test/unit/unicode_spec.js +18 -15
  119. package/lib/test/unit/util_spec.js +87 -128
  120. package/lib/web/annotation_layer_builder.js +39 -22
  121. package/lib/web/app.js +1290 -588
  122. package/lib/web/app_options.js +100 -62
  123. package/lib/web/base_viewer.js +511 -182
  124. package/lib/web/chromecom.js +261 -117
  125. package/lib/web/debugger.js +166 -22
  126. package/lib/web/download_manager.js +32 -13
  127. package/lib/web/firefox_print_service.js +20 -10
  128. package/lib/web/firefoxcom.js +315 -80
  129. package/lib/web/genericcom.js +89 -30
  130. package/lib/web/genericl10n.js +142 -30
  131. package/lib/web/grab_to_pan.js +28 -4
  132. package/lib/web/interfaces.js +170 -47
  133. package/lib/web/overlay_manager.js +235 -85
  134. package/lib/web/password_prompt.js +22 -14
  135. package/lib/web/pdf_attachment_viewer.js +38 -18
  136. package/lib/web/pdf_cursor_tools.js +39 -16
  137. package/lib/web/pdf_document_properties.js +255 -136
  138. package/lib/web/pdf_find_bar.js +84 -40
  139. package/lib/web/pdf_find_controller.js +495 -184
  140. package/lib/web/pdf_find_utils.js +111 -0
  141. package/lib/web/pdf_history.js +190 -53
  142. package/lib/web/pdf_link_service.js +138 -77
  143. package/lib/web/pdf_outline_viewer.js +122 -46
  144. package/lib/web/pdf_page_view.js +191 -67
  145. package/lib/web/pdf_presentation_mode.js +99 -34
  146. package/lib/web/pdf_print_service.js +61 -13
  147. package/lib/web/pdf_rendering_queue.js +28 -9
  148. package/lib/web/pdf_sidebar.js +141 -81
  149. package/lib/web/pdf_sidebar_resizer.js +42 -16
  150. package/lib/web/pdf_single_page_viewer.js +74 -66
  151. package/lib/web/pdf_thumbnail_view.js +104 -33
  152. package/lib/web/pdf_thumbnail_viewer.js +66 -26
  153. package/lib/web/pdf_viewer.component.js +112 -32
  154. package/lib/web/pdf_viewer.js +91 -52
  155. package/lib/web/preferences.js +284 -89
  156. package/lib/web/secondary_toolbar.js +165 -40
  157. package/lib/web/text_layer_builder.js +134 -59
  158. package/lib/web/toolbar.js +78 -43
  159. package/lib/web/ui_utils.js +462 -136
  160. package/lib/web/view_history.js +215 -67
  161. package/lib/web/viewer_compatibility.js +4 -13
  162. package/package.json +5 -4
  163. package/web/pdf_viewer.css +79 -11
  164. package/web/pdf_viewer.js +6107 -3748
  165. package/web/pdf_viewer.js.map +1 -1
  166. package/lib/display/dom_utils.js +0 -309
  167. package/lib/test/unit/dom_utils_spec.js +0 -89
  168. package/lib/test/unit/fonts_spec.js +0 -81
  169. 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 2017 Mozilla Foundation
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
- 'use strict';
22
+ "use strict";
23
23
 
24
24
  Object.defineProperty(exports, "__esModule", {
25
25
  value: true
26
26
  });
27
- exports.Jbig2Stream = undefined;
27
+ exports.Jbig2Stream = void 0;
28
28
 
29
- var _primitives = require('./primitives');
29
+ var _primitives = require("./primitives");
30
30
 
31
- var _stream = require('./stream');
31
+ var _stream = require("./stream");
32
32
 
33
- var _jbig = require('./jbig2');
33
+ var _jbig = require("./jbig2");
34
34
 
35
- var _util = require('../shared/util');
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;
@@ -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 2017 Mozilla Foundation
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
- 'use strict';
22
+ "use strict";
23
23
 
24
24
  Object.defineProperty(exports, "__esModule", {
25
25
  value: true
26
26
  });
27
- exports.JpegStream = undefined;
27
+ exports.JpegStream = void 0;
28
28
 
29
- var _util = require('../shared/util');
29
+ var _util = require("../shared/util");
30
30
 
31
- var _stream = require('./stream');
31
+ var _stream = require("./stream");
32
32
 
33
- var _primitives = require('./primitives');
33
+ var _primitives = require("./primitives");
34
34
 
35
- var _jpg = require('./jpg');
35
+ var _jpg = require("./jpg");
36
36
 
37
37
  var JpegStream = function JpegStreamClosure() {
38
38
  function JpegStream(stream, maybeLength, dict, params) {
39
- var ch = void 0;
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
- var jpegImage = new _jpg.JpegImage();
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
- jpegImage.decodeTransform = transform;
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
- jpegImage.colorTransform = colorTransform;
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(this.drawWidth, this.drawHeight, this.forceRGB);
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;