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.

Files changed (185) hide show
  1. package/README.md +4 -0
  2. package/bower.json +1 -1
  3. package/build/pdf.js +6499 -17971
  4. package/build/pdf.js.map +1 -1
  5. package/build/pdf.min.js +22 -1
  6. package/build/pdf.worker.entry.js +5 -3
  7. package/build/pdf.worker.js +19303 -29896
  8. package/build/pdf.worker.js.map +1 -1
  9. package/build/pdf.worker.min.js +22 -1
  10. package/es5/build/pdf.js +25473 -0
  11. package/es5/build/pdf.js.map +1 -0
  12. package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
  13. package/es5/build/pdf.worker.js +57878 -0
  14. package/es5/build/pdf.worker.js.map +1 -0
  15. package/es5/web/images/annotation-check.svg +11 -0
  16. package/es5/web/images/annotation-comment.svg +16 -0
  17. package/es5/web/images/annotation-help.svg +26 -0
  18. package/es5/web/images/annotation-insert.svg +10 -0
  19. package/es5/web/images/annotation-key.svg +11 -0
  20. package/es5/web/images/annotation-newparagraph.svg +11 -0
  21. package/es5/web/images/annotation-noicon.svg +7 -0
  22. package/es5/web/images/annotation-note.svg +42 -0
  23. package/es5/web/images/annotation-paragraph.svg +16 -0
  24. package/es5/web/images/loading-icon.gif +0 -0
  25. package/es5/web/images/shadow.png +0 -0
  26. package/es5/web/images/texture.png +0 -0
  27. package/es5/web/pdf_viewer.css +407 -0
  28. package/es5/web/pdf_viewer.js +7757 -0
  29. package/es5/web/pdf_viewer.js.map +1 -0
  30. package/image_decoders/pdf.image_decoders.js +1333 -4839
  31. package/image_decoders/pdf.image_decoders.js.map +1 -1
  32. package/image_decoders/pdf.image_decoders.min.js +22 -1
  33. package/lib/README.md +7 -0
  34. package/lib/core/annotation.js +683 -1066
  35. package/lib/core/arithmetic_decoder.js +81 -97
  36. package/lib/core/bidi.js +54 -46
  37. package/lib/core/ccitt.js +88 -81
  38. package/lib/core/ccitt_stream.js +15 -14
  39. package/lib/core/cff_parser.js +196 -193
  40. package/lib/core/charsets.js +4 -4
  41. package/lib/core/chunked_stream.js +441 -569
  42. package/lib/core/cmap.js +220 -279
  43. package/lib/core/colorspace.js +699 -863
  44. package/lib/core/core_utils.js +59 -80
  45. package/lib/core/crypto.js +379 -437
  46. package/lib/core/document.js +564 -673
  47. package/lib/core/encodings.js +15 -15
  48. package/lib/core/evaluator.js +983 -889
  49. package/lib/core/font_renderer.js +128 -171
  50. package/lib/core/fonts.js +451 -400
  51. package/lib/core/function.js +289 -285
  52. package/lib/core/glyphlist.js +4527 -4527
  53. package/lib/core/image.js +138 -117
  54. package/lib/core/image_utils.js +46 -63
  55. package/lib/core/jbig2.js +324 -332
  56. package/lib/core/jbig2_stream.js +18 -17
  57. package/lib/core/jpeg_stream.js +133 -24
  58. package/lib/core/jpg.js +238 -210
  59. package/lib/core/jpx.js +158 -157
  60. package/lib/core/jpx_stream.js +28 -28
  61. package/lib/core/metrics.js +2928 -2928
  62. package/lib/core/murmurhash3.js +87 -102
  63. package/lib/core/obj.js +1111 -1302
  64. package/lib/core/operator_list.js +55 -42
  65. package/lib/core/parser.js +956 -987
  66. package/lib/core/pattern.js +69 -69
  67. package/lib/core/pdf_manager.js +149 -316
  68. package/lib/core/primitives.js +45 -77
  69. package/lib/core/ps_parser.js +175 -214
  70. package/lib/core/standard_fonts.js +237 -236
  71. package/lib/core/stream.js +83 -77
  72. package/lib/core/type1_parser.js +78 -68
  73. package/lib/core/unicode.js +1654 -1654
  74. package/lib/core/worker.js +148 -196
  75. package/lib/core/worker_stream.js +101 -210
  76. package/lib/display/annotation_layer.js +733 -1155
  77. package/lib/display/api.js +1539 -1928
  78. package/lib/display/api_compatibility.js +10 -8
  79. package/lib/display/canvas.js +159 -158
  80. package/lib/display/content_disposition.js +36 -55
  81. package/lib/display/display_utils.js +298 -551
  82. package/lib/display/fetch_stream.js +181 -305
  83. package/lib/display/font_loader.js +273 -416
  84. package/lib/display/metadata.js +86 -98
  85. package/lib/display/network.js +376 -511
  86. package/lib/display/network_utils.js +20 -19
  87. package/lib/display/node_stream.js +276 -460
  88. package/lib/display/pattern_helper.js +76 -44
  89. package/lib/display/svg.js +1137 -1405
  90. package/lib/display/text_layer.js +75 -82
  91. package/lib/display/transport_stream.js +236 -374
  92. package/lib/display/webgl.js +70 -83
  93. package/lib/display/worker_options.js +3 -3
  94. package/lib/display/xml_parser.js +303 -392
  95. package/lib/examples/node/domstubs.js +37 -37
  96. package/lib/pdf.js +22 -21
  97. package/lib/pdf.worker.js +5 -5
  98. package/lib/shared/compatibility.js +2 -251
  99. package/lib/shared/is_node.js +7 -6
  100. package/lib/shared/message_handler.js +222 -194
  101. package/lib/shared/util.js +269 -405
  102. package/lib/test/unit/annotation_spec.js +1089 -1014
  103. package/lib/test/unit/api_spec.js +617 -544
  104. package/lib/test/unit/bidi_spec.js +7 -7
  105. package/lib/test/unit/cff_parser_spec.js +63 -62
  106. package/lib/test/unit/clitests_helper.js +7 -9
  107. package/lib/test/unit/cmap_spec.js +84 -86
  108. package/lib/test/unit/colorspace_spec.js +154 -154
  109. package/lib/test/unit/core_utils_spec.js +125 -105
  110. package/lib/test/unit/crypto_spec.js +181 -181
  111. package/lib/test/unit/custom_spec.js +22 -24
  112. package/lib/test/unit/display_svg_spec.js +35 -36
  113. package/lib/test/unit/display_utils_spec.js +139 -149
  114. package/lib/test/unit/document_spec.js +16 -16
  115. package/lib/test/unit/encodings_spec.js +12 -34
  116. package/lib/test/unit/evaluator_spec.js +81 -95
  117. package/lib/test/unit/fetch_stream_spec.js +30 -30
  118. package/lib/test/unit/function_spec.js +206 -204
  119. package/lib/test/unit/jasmine-boot.js +48 -32
  120. package/lib/test/unit/message_handler_spec.js +172 -162
  121. package/lib/test/unit/metadata_spec.js +69 -69
  122. package/lib/test/unit/murmurhash3_spec.js +12 -12
  123. package/lib/test/unit/network_spec.js +12 -12
  124. package/lib/test/unit/network_utils_spec.js +152 -152
  125. package/lib/test/unit/node_stream_spec.js +74 -90
  126. package/lib/test/unit/parser_spec.js +107 -113
  127. package/lib/test/unit/pdf_find_controller_spec.js +55 -86
  128. package/lib/test/unit/pdf_find_utils_spec.js +32 -32
  129. package/lib/test/unit/pdf_history_spec.js +32 -32
  130. package/lib/test/unit/primitives_spec.js +117 -115
  131. package/lib/test/unit/stream_spec.js +16 -14
  132. package/lib/test/unit/test_utils.js +119 -285
  133. package/lib/test/unit/testreporter.js +19 -19
  134. package/lib/test/unit/type1_parser_spec.js +41 -41
  135. package/lib/test/unit/ui_utils_spec.js +318 -426
  136. package/lib/test/unit/unicode_spec.js +42 -42
  137. package/lib/test/unit/util_spec.js +122 -143
  138. package/lib/web/annotation_layer_builder.js +66 -103
  139. package/lib/web/app.js +1166 -1196
  140. package/lib/web/app_options.js +61 -77
  141. package/lib/web/base_viewer.js +804 -850
  142. package/lib/web/chromecom.js +164 -249
  143. package/lib/web/debugger.js +149 -205
  144. package/lib/web/download_manager.js +38 -57
  145. package/lib/web/firefox_print_service.js +35 -30
  146. package/lib/web/firefoxcom.js +175 -374
  147. package/lib/web/genericcom.js +26 -108
  148. package/lib/web/genericl10n.js +24 -153
  149. package/lib/web/grab_to_pan.js +30 -30
  150. package/lib/web/interfaces.js +80 -258
  151. package/lib/web/overlay_manager.js +70 -246
  152. package/lib/web/password_prompt.js +38 -64
  153. package/lib/web/pdf_attachment_viewer.js +105 -130
  154. package/lib/web/pdf_cursor_tools.js +75 -102
  155. package/lib/web/pdf_document_properties.js +227 -376
  156. package/lib/web/pdf_find_bar.js +137 -171
  157. package/lib/web/pdf_find_controller.js +492 -549
  158. package/lib/web/pdf_find_utils.js +13 -13
  159. package/lib/web/pdf_history.js +395 -406
  160. package/lib/web/pdf_link_service.js +302 -349
  161. package/lib/web/pdf_outline_viewer.js +148 -209
  162. package/lib/web/pdf_page_view.js +449 -507
  163. package/lib/web/pdf_presentation_mode.js +304 -357
  164. package/lib/web/pdf_print_service.js +90 -104
  165. package/lib/web/pdf_rendering_queue.js +87 -108
  166. package/lib/web/pdf_sidebar.js +264 -304
  167. package/lib/web/pdf_sidebar_resizer.js +92 -119
  168. package/lib/web/pdf_single_page_viewer.js +77 -126
  169. package/lib/web/pdf_thumbnail_view.js +276 -297
  170. package/lib/web/pdf_thumbnail_viewer.js +186 -206
  171. package/lib/web/pdf_viewer.component.js +20 -21
  172. package/lib/web/pdf_viewer.js +55 -115
  173. package/lib/web/preferences.js +66 -273
  174. package/lib/web/secondary_toolbar.js +164 -196
  175. package/lib/web/text_layer_builder.js +284 -317
  176. package/lib/web/toolbar.js +216 -211
  177. package/lib/web/ui_utils.js +303 -404
  178. package/lib/web/view_history.js +49 -222
  179. package/lib/web/viewer_compatibility.js +7 -5
  180. package/package.json +2 -9
  181. package/web/pdf_viewer.css +25 -18
  182. package/web/pdf_viewer.js +3481 -4764
  183. package/web/pdf_viewer.js.map +1 -1
  184. package/webpack.js +14 -5
  185. package/lib/shared/streams_polyfill.js +0 -43
@@ -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 2019 Mozilla Foundation
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,63 +26,34 @@ Object.defineProperty(exports, "__esModule", {
26
26
  });
27
27
  exports.PDFDocumentProperties = void 0;
28
28
 
29
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
30
-
31
29
  var _pdf = require("../pdf");
32
30
 
33
- var _ui_utils = require("./ui_utils");
34
-
35
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
36
-
37
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
38
-
39
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
40
-
41
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
42
-
43
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
44
-
45
- function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } 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; }
46
-
47
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
48
-
49
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
50
-
51
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
31
+ var _ui_utils = require("./ui_utils.js");
52
32
 
53
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
54
-
55
- var DEFAULT_FIELD_CONTENT = '-';
56
- var NON_METRIC_LOCALES = ['en-us', 'en-lr', 'my'];
57
- var US_PAGE_NAMES = {
58
- '8.5x11': 'Letter',
59
- '8.5x14': 'Legal'
33
+ const DEFAULT_FIELD_CONTENT = "-";
34
+ const NON_METRIC_LOCALES = ["en-us", "en-lr", "my"];
35
+ const US_PAGE_NAMES = {
36
+ "8.5x11": "Letter",
37
+ "8.5x14": "Legal"
60
38
  };
61
- var METRIC_PAGE_NAMES = {
62
- '297x420': 'A3',
63
- '210x297': 'A4'
39
+ const METRIC_PAGE_NAMES = {
40
+ "297x420": "A3",
41
+ "210x297": "A4"
64
42
  };
65
43
 
66
44
  function getPageName(size, isPortrait, pageNames) {
67
- var width = isPortrait ? size.width : size.height;
68
- var height = isPortrait ? size.height : size.width;
69
- return pageNames["".concat(width, "x").concat(height)];
45
+ const width = isPortrait ? size.width : size.height;
46
+ const height = isPortrait ? size.height : size.width;
47
+ return pageNames[`${width}x${height}`];
70
48
  }
71
49
 
72
- var PDFDocumentProperties =
73
- /*#__PURE__*/
74
- function () {
75
- function PDFDocumentProperties(_ref, overlayManager, eventBus) {
76
- var _this = this;
77
-
78
- var overlayName = _ref.overlayName,
79
- fields = _ref.fields,
80
- container = _ref.container,
81
- closeButton = _ref.closeButton;
82
- var l10n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _ui_utils.NullL10n;
83
-
84
- _classCallCheck(this, PDFDocumentProperties);
85
-
50
+ class PDFDocumentProperties {
51
+ constructor({
52
+ overlayName,
53
+ fields,
54
+ container,
55
+ closeButton
56
+ }, overlayManager, eventBus, l10n = _ui_utils.NullL10n) {
86
57
  this.overlayName = overlayName;
87
58
  this.fields = fields;
88
59
  this.container = container;
@@ -92,373 +63,253 @@ function () {
92
63
  this._reset();
93
64
 
94
65
  if (closeButton) {
95
- closeButton.addEventListener('click', this.close.bind(this));
66
+ closeButton.addEventListener("click", this.close.bind(this));
96
67
  }
97
68
 
98
69
  this.overlayManager.register(this.overlayName, this.container, this.close.bind(this));
99
70
 
100
71
  if (eventBus) {
101
- eventBus.on('pagechanging', function (evt) {
102
- _this._currentPageNumber = evt.pageNumber;
72
+ eventBus._on("pagechanging", evt => {
73
+ this._currentPageNumber = evt.pageNumber;
103
74
  });
104
- eventBus.on('rotationchanging', function (evt) {
105
- _this._pagesRotation = evt.pagesRotation;
75
+
76
+ eventBus._on("rotationchanging", evt => {
77
+ this._pagesRotation = evt.pagesRotation;
106
78
  });
107
79
  }
108
80
 
109
81
  this._isNonMetricLocale = true;
110
- l10n.getLanguage().then(function (locale) {
111
- _this._isNonMetricLocale = NON_METRIC_LOCALES.includes(locale);
82
+ l10n.getLanguage().then(locale => {
83
+ this._isNonMetricLocale = NON_METRIC_LOCALES.includes(locale);
112
84
  });
113
85
  }
114
86
 
115
- _createClass(PDFDocumentProperties, [{
116
- key: "open",
117
- value: function open() {
118
- var _this2 = this;
119
-
120
- var freezeFieldData = function freezeFieldData(data) {
121
- Object.defineProperty(_this2, 'fieldData', {
122
- value: Object.freeze(data),
123
- writable: false,
124
- enumerable: true,
125
- configurable: true
126
- });
127
- };
87
+ open() {
88
+ const freezeFieldData = data => {
89
+ Object.defineProperty(this, "fieldData", {
90
+ value: Object.freeze(data),
91
+ writable: false,
92
+ enumerable: true,
93
+ configurable: true
94
+ });
95
+ };
128
96
 
129
- Promise.all([this.overlayManager.open(this.overlayName), this._dataAvailableCapability.promise]).then(function () {
130
- var currentPageNumber = _this2._currentPageNumber;
131
- var pagesRotation = _this2._pagesRotation;
97
+ Promise.all([this.overlayManager.open(this.overlayName), this._dataAvailableCapability.promise]).then(() => {
98
+ const currentPageNumber = this._currentPageNumber;
99
+ const pagesRotation = this._pagesRotation;
132
100
 
133
- if (_this2.fieldData && currentPageNumber === _this2.fieldData['_currentPageNumber'] && pagesRotation === _this2.fieldData['_pagesRotation']) {
134
- _this2._updateUI();
101
+ if (this.fieldData && currentPageNumber === this.fieldData["_currentPageNumber"] && pagesRotation === this.fieldData["_pagesRotation"]) {
102
+ this._updateUI();
135
103
 
104
+ return;
105
+ }
106
+
107
+ this.pdfDocument.getMetadata().then(({
108
+ info,
109
+ metadata,
110
+ contentDispositionFilename
111
+ }) => {
112
+ return Promise.all([info, metadata, contentDispositionFilename || (0, _ui_utils.getPDFFileNameFromURL)(this.url || ""), this._parseFileSize(this.maybeFileSize), this._parseDate(info.CreationDate), this._parseDate(info.ModDate), this.pdfDocument.getPage(currentPageNumber).then(pdfPage => {
113
+ return this._parsePageSize((0, _ui_utils.getPageSizeInches)(pdfPage), pagesRotation);
114
+ }), this._parseLinearization(info.IsLinearized)]);
115
+ }).then(([info, metadata, fileName, fileSize, creationDate, modDate, pageSize, isLinearized]) => {
116
+ freezeFieldData({
117
+ fileName,
118
+ fileSize,
119
+ title: info.Title,
120
+ author: info.Author,
121
+ subject: info.Subject,
122
+ keywords: info.Keywords,
123
+ creationDate,
124
+ modificationDate: modDate,
125
+ creator: info.Creator,
126
+ producer: info.Producer,
127
+ version: info.PDFFormatVersion,
128
+ pageCount: this.pdfDocument.numPages,
129
+ pageSize,
130
+ linearized: isLinearized,
131
+ _currentPageNumber: currentPageNumber,
132
+ _pagesRotation: pagesRotation
133
+ });
134
+
135
+ this._updateUI();
136
+
137
+ return this.pdfDocument.getDownloadInfo();
138
+ }).then(({
139
+ length
140
+ }) => {
141
+ this.maybeFileSize = length;
142
+ return this._parseFileSize(length);
143
+ }).then(fileSize => {
144
+ if (fileSize === this.fieldData["fileSize"]) {
136
145
  return;
137
146
  }
138
147
 
139
- _this2.pdfDocument.getMetadata().then(function (_ref2) {
140
- var info = _ref2.info,
141
- metadata = _ref2.metadata,
142
- contentDispositionFilename = _ref2.contentDispositionFilename;
143
- return Promise.all([info, metadata, contentDispositionFilename || (0, _ui_utils.getPDFFileNameFromURL)(_this2.url || ''), _this2._parseFileSize(_this2.maybeFileSize), _this2._parseDate(info.CreationDate), _this2._parseDate(info.ModDate), _this2.pdfDocument.getPage(currentPageNumber).then(function (pdfPage) {
144
- return _this2._parsePageSize((0, _ui_utils.getPageSizeInches)(pdfPage), pagesRotation);
145
- }), _this2._parseLinearization(info.IsLinearized)]);
146
- }).then(function (_ref3) {
147
- var _ref4 = _slicedToArray(_ref3, 8),
148
- info = _ref4[0],
149
- metadata = _ref4[1],
150
- fileName = _ref4[2],
151
- fileSize = _ref4[3],
152
- creationDate = _ref4[4],
153
- modDate = _ref4[5],
154
- pageSize = _ref4[6],
155
- isLinearized = _ref4[7];
156
-
157
- freezeFieldData({
158
- 'fileName': fileName,
159
- 'fileSize': fileSize,
160
- 'title': info.Title,
161
- 'author': info.Author,
162
- 'subject': info.Subject,
163
- 'keywords': info.Keywords,
164
- 'creationDate': creationDate,
165
- 'modificationDate': modDate,
166
- 'creator': info.Creator,
167
- 'producer': info.Producer,
168
- 'version': info.PDFFormatVersion,
169
- 'pageCount': _this2.pdfDocument.numPages,
170
- 'pageSize': pageSize,
171
- 'linearized': isLinearized,
172
- '_currentPageNumber': currentPageNumber,
173
- '_pagesRotation': pagesRotation
174
- });
175
-
176
- _this2._updateUI();
177
-
178
- return _this2.pdfDocument.getDownloadInfo();
179
- }).then(function (_ref5) {
180
- var length = _ref5.length;
181
- _this2.maybeFileSize = length;
182
- return _this2._parseFileSize(length);
183
- }).then(function (fileSize) {
184
- if (fileSize === _this2.fieldData['fileSize']) {
185
- return;
186
- }
187
-
188
- var data = Object.assign(Object.create(null), _this2.fieldData);
189
- data['fileSize'] = fileSize;
190
- freezeFieldData(data);
191
-
192
- _this2._updateUI();
193
- });
148
+ const data = Object.assign(Object.create(null), this.fieldData);
149
+ data["fileSize"] = fileSize;
150
+ freezeFieldData(data);
151
+
152
+ this._updateUI();
194
153
  });
154
+ });
155
+ }
156
+
157
+ close() {
158
+ this.overlayManager.close(this.overlayName);
159
+ }
160
+
161
+ setDocument(pdfDocument, url = null) {
162
+ if (this.pdfDocument) {
163
+ this._reset();
164
+
165
+ this._updateUI(true);
195
166
  }
196
- }, {
197
- key: "close",
198
- value: function close() {
199
- this.overlayManager.close(this.overlayName);
167
+
168
+ if (!pdfDocument) {
169
+ return;
200
170
  }
201
- }, {
202
- key: "setDocument",
203
- value: function setDocument(pdfDocument) {
204
- var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
205
171
 
206
- if (this.pdfDocument) {
207
- this._reset();
172
+ this.pdfDocument = pdfDocument;
173
+ this.url = url;
208
174
 
209
- this._updateUI(true);
210
- }
175
+ this._dataAvailableCapability.resolve();
176
+ }
211
177
 
212
- if (!pdfDocument) {
213
- return;
178
+ setFileSize(fileSize) {
179
+ if (Number.isInteger(fileSize) && fileSize > 0) {
180
+ this.maybeFileSize = fileSize;
181
+ }
182
+ }
183
+
184
+ _reset() {
185
+ this.pdfDocument = null;
186
+ this.url = null;
187
+ this.maybeFileSize = 0;
188
+ delete this.fieldData;
189
+ this._dataAvailableCapability = (0, _pdf.createPromiseCapability)();
190
+ this._currentPageNumber = 1;
191
+ this._pagesRotation = 0;
192
+ }
193
+
194
+ _updateUI(reset = false) {
195
+ if (reset || !this.fieldData) {
196
+ for (const id in this.fields) {
197
+ this.fields[id].textContent = DEFAULT_FIELD_CONTENT;
214
198
  }
215
199
 
216
- this.pdfDocument = pdfDocument;
217
- this.url = url;
200
+ return;
201
+ }
218
202
 
219
- this._dataAvailableCapability.resolve();
203
+ if (this.overlayManager.active !== this.overlayName) {
204
+ return;
220
205
  }
221
- }, {
222
- key: "setFileSize",
223
- value: function setFileSize(fileSize) {
224
- if (Number.isInteger(fileSize) && fileSize > 0) {
225
- this.maybeFileSize = fileSize;
226
- }
206
+
207
+ for (const id in this.fields) {
208
+ const content = this.fieldData[id];
209
+ this.fields[id].textContent = content || content === 0 ? content : DEFAULT_FIELD_CONTENT;
227
210
  }
228
- }, {
229
- key: "_reset",
230
- value: function _reset() {
231
- this.pdfDocument = null;
232
- this.url = null;
233
- this.maybeFileSize = 0;
234
- delete this.fieldData;
235
- this._dataAvailableCapability = (0, _pdf.createPromiseCapability)();
236
- this._currentPageNumber = 1;
237
- this._pagesRotation = 0;
211
+ }
212
+
213
+ async _parseFileSize(fileSize = 0) {
214
+ const kb = fileSize / 1024;
215
+
216
+ if (!kb) {
217
+ return undefined;
218
+ } else if (kb < 1024) {
219
+ return this.l10n.get("document_properties_kb", {
220
+ size_kb: (+kb.toPrecision(3)).toLocaleString(),
221
+ size_b: fileSize.toLocaleString()
222
+ }, "{{size_kb}} KB ({{size_b}} bytes)");
238
223
  }
239
- }, {
240
- key: "_updateUI",
241
- value: function _updateUI() {
242
- var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
243
-
244
- if (reset || !this.fieldData) {
245
- for (var id in this.fields) {
246
- this.fields[id].textContent = DEFAULT_FIELD_CONTENT;
247
- }
248
224
 
249
- return;
250
- }
225
+ return this.l10n.get("document_properties_mb", {
226
+ size_mb: (+(kb / 1024).toPrecision(3)).toLocaleString(),
227
+ size_b: fileSize.toLocaleString()
228
+ }, "{{size_mb}} MB ({{size_b}} bytes)");
229
+ }
251
230
 
252
- if (this.overlayManager.active !== this.overlayName) {
253
- return;
254
- }
231
+ async _parsePageSize(pageSizeInches, pagesRotation) {
232
+ if (!pageSizeInches) {
233
+ return undefined;
234
+ }
255
235
 
256
- for (var _id in this.fields) {
257
- var content = this.fieldData[_id];
258
- this.fields[_id].textContent = content || content === 0 ? content : DEFAULT_FIELD_CONTENT;
259
- }
236
+ if (pagesRotation % 180 !== 0) {
237
+ pageSizeInches = {
238
+ width: pageSizeInches.height,
239
+ height: pageSizeInches.width
240
+ };
260
241
  }
261
- }, {
262
- key: "_parseFileSize",
263
- value: function () {
264
- var _parseFileSize2 = _asyncToGenerator(
265
- /*#__PURE__*/
266
- _regenerator["default"].mark(function _callee() {
267
- var fileSize,
268
- kb,
269
- _args = arguments;
270
- return _regenerator["default"].wrap(function _callee$(_context) {
271
- while (1) {
272
- switch (_context.prev = _context.next) {
273
- case 0:
274
- fileSize = _args.length > 0 && _args[0] !== undefined ? _args[0] : 0;
275
- kb = fileSize / 1024;
276
-
277
- if (kb) {
278
- _context.next = 6;
279
- break;
280
- }
281
-
282
- return _context.abrupt("return", undefined);
283
-
284
- case 6:
285
- if (!(kb < 1024)) {
286
- _context.next = 8;
287
- break;
288
- }
289
-
290
- return _context.abrupt("return", this.l10n.get('document_properties_kb', {
291
- size_kb: (+kb.toPrecision(3)).toLocaleString(),
292
- size_b: fileSize.toLocaleString()
293
- }, '{{size_kb}} KB ({{size_b}} bytes)'));
294
-
295
- case 8:
296
- return _context.abrupt("return", this.l10n.get('document_properties_mb', {
297
- size_mb: (+(kb / 1024).toPrecision(3)).toLocaleString(),
298
- size_b: fileSize.toLocaleString()
299
- }, '{{size_mb}} MB ({{size_b}} bytes)'));
300
-
301
- case 9:
302
- case "end":
303
- return _context.stop();
304
- }
305
- }
306
- }, _callee, this);
307
- }));
308
-
309
- function _parseFileSize() {
310
- return _parseFileSize2.apply(this, arguments);
311
- }
312
242
 
313
- return _parseFileSize;
314
- }()
315
- }, {
316
- key: "_parsePageSize",
317
- value: function () {
318
- var _parsePageSize2 = _asyncToGenerator(
319
- /*#__PURE__*/
320
- _regenerator["default"].mark(function _callee2(pageSizeInches, pagesRotation) {
321
- var _this3 = this;
322
-
323
- var isPortrait, sizeInches, sizeMillimeters, pageName, name, exactMillimeters, intMillimeters;
324
- return _regenerator["default"].wrap(function _callee2$(_context2) {
325
- while (1) {
326
- switch (_context2.prev = _context2.next) {
327
- case 0:
328
- if (pageSizeInches) {
329
- _context2.next = 2;
330
- break;
331
- }
332
-
333
- return _context2.abrupt("return", undefined);
334
-
335
- case 2:
336
- if (pagesRotation % 180 !== 0) {
337
- pageSizeInches = {
338
- width: pageSizeInches.height,
339
- height: pageSizeInches.width
340
- };
341
- }
342
-
343
- isPortrait = (0, _ui_utils.isPortraitOrientation)(pageSizeInches);
344
- sizeInches = {
345
- width: Math.round(pageSizeInches.width * 100) / 100,
346
- height: Math.round(pageSizeInches.height * 100) / 100
347
- };
348
- sizeMillimeters = {
349
- width: Math.round(pageSizeInches.width * 25.4 * 10) / 10,
350
- height: Math.round(pageSizeInches.height * 25.4 * 10) / 10
351
- };
352
- pageName = null;
353
- name = getPageName(sizeInches, isPortrait, US_PAGE_NAMES) || getPageName(sizeMillimeters, isPortrait, METRIC_PAGE_NAMES);
354
-
355
- if (!name && !(Number.isInteger(sizeMillimeters.width) && Number.isInteger(sizeMillimeters.height))) {
356
- exactMillimeters = {
357
- width: pageSizeInches.width * 25.4,
358
- height: pageSizeInches.height * 25.4
359
- };
360
- intMillimeters = {
361
- width: Math.round(sizeMillimeters.width),
362
- height: Math.round(sizeMillimeters.height)
363
- };
364
-
365
- if (Math.abs(exactMillimeters.width - intMillimeters.width) < 0.1 && Math.abs(exactMillimeters.height - intMillimeters.height) < 0.1) {
366
- name = getPageName(intMillimeters, isPortrait, METRIC_PAGE_NAMES);
367
-
368
- if (name) {
369
- sizeInches = {
370
- width: Math.round(intMillimeters.width / 25.4 * 100) / 100,
371
- height: Math.round(intMillimeters.height / 25.4 * 100) / 100
372
- };
373
- sizeMillimeters = intMillimeters;
374
- }
375
- }
376
- }
377
-
378
- if (name) {
379
- pageName = this.l10n.get('document_properties_page_size_name_' + name.toLowerCase(), null, name);
380
- }
381
-
382
- return _context2.abrupt("return", Promise.all([this._isNonMetricLocale ? sizeInches : sizeMillimeters, this.l10n.get('document_properties_page_size_unit_' + (this._isNonMetricLocale ? 'inches' : 'millimeters'), null, this._isNonMetricLocale ? 'in' : 'mm'), pageName, this.l10n.get('document_properties_page_size_orientation_' + (isPortrait ? 'portrait' : 'landscape'), null, isPortrait ? 'portrait' : 'landscape')]).then(function (_ref6) {
383
- var _ref7 = _slicedToArray(_ref6, 4),
384
- _ref7$ = _ref7[0],
385
- width = _ref7$.width,
386
- height = _ref7$.height,
387
- unit = _ref7[1],
388
- name = _ref7[2],
389
- orientation = _ref7[3];
390
-
391
- return _this3.l10n.get('document_properties_page_size_dimension_' + (name ? 'name_' : '') + 'string', {
392
- width: width.toLocaleString(),
393
- height: height.toLocaleString(),
394
- unit: unit,
395
- name: name,
396
- orientation: orientation
397
- }, '{{width}} × {{height}} {{unit}} (' + (name ? '{{name}}, ' : '') + '{{orientation}})');
398
- }));
399
-
400
- case 11:
401
- case "end":
402
- return _context2.stop();
403
- }
404
- }
405
- }, _callee2, this);
406
- }));
407
-
408
- function _parsePageSize(_x, _x2) {
409
- return _parsePageSize2.apply(this, arguments);
410
- }
243
+ const isPortrait = (0, _ui_utils.isPortraitOrientation)(pageSizeInches);
244
+ let sizeInches = {
245
+ width: Math.round(pageSizeInches.width * 100) / 100,
246
+ height: Math.round(pageSizeInches.height * 100) / 100
247
+ };
248
+ let sizeMillimeters = {
249
+ width: Math.round(pageSizeInches.width * 25.4 * 10) / 10,
250
+ height: Math.round(pageSizeInches.height * 25.4 * 10) / 10
251
+ };
252
+ let pageName = null;
253
+ let rawName = getPageName(sizeInches, isPortrait, US_PAGE_NAMES) || getPageName(sizeMillimeters, isPortrait, METRIC_PAGE_NAMES);
254
+
255
+ if (!rawName && !(Number.isInteger(sizeMillimeters.width) && Number.isInteger(sizeMillimeters.height))) {
256
+ const exactMillimeters = {
257
+ width: pageSizeInches.width * 25.4,
258
+ height: pageSizeInches.height * 25.4
259
+ };
260
+ const intMillimeters = {
261
+ width: Math.round(sizeMillimeters.width),
262
+ height: Math.round(sizeMillimeters.height)
263
+ };
264
+
265
+ if (Math.abs(exactMillimeters.width - intMillimeters.width) < 0.1 && Math.abs(exactMillimeters.height - intMillimeters.height) < 0.1) {
266
+ rawName = getPageName(intMillimeters, isPortrait, METRIC_PAGE_NAMES);
411
267
 
412
- return _parsePageSize;
413
- }()
414
- }, {
415
- key: "_parseDate",
416
- value: function () {
417
- var _parseDate2 = _asyncToGenerator(
418
- /*#__PURE__*/
419
- _regenerator["default"].mark(function _callee3(inputDate) {
420
- var dateObject;
421
- return _regenerator["default"].wrap(function _callee3$(_context3) {
422
- while (1) {
423
- switch (_context3.prev = _context3.next) {
424
- case 0:
425
- dateObject = _pdf.PDFDateString.toDateObject(inputDate);
426
-
427
- if (dateObject) {
428
- _context3.next = 3;
429
- break;
430
- }
431
-
432
- return _context3.abrupt("return", undefined);
433
-
434
- case 3:
435
- return _context3.abrupt("return", this.l10n.get('document_properties_date_string', {
436
- date: dateObject.toLocaleDateString(),
437
- time: dateObject.toLocaleTimeString()
438
- }, '{{date}}, {{time}}'));
439
-
440
- case 4:
441
- case "end":
442
- return _context3.stop();
443
- }
444
- }
445
- }, _callee3, this);
446
- }));
447
-
448
- function _parseDate(_x3) {
449
- return _parseDate2.apply(this, arguments);
268
+ if (rawName) {
269
+ sizeInches = {
270
+ width: Math.round(intMillimeters.width / 25.4 * 100) / 100,
271
+ height: Math.round(intMillimeters.height / 25.4 * 100) / 100
272
+ };
273
+ sizeMillimeters = intMillimeters;
274
+ }
450
275
  }
276
+ }
277
+
278
+ if (rawName) {
279
+ pageName = this.l10n.get("document_properties_page_size_name_" + rawName.toLowerCase(), null, rawName);
280
+ }
451
281
 
452
- return _parseDate;
453
- }()
454
- }, {
455
- key: "_parseLinearization",
456
- value: function _parseLinearization(isLinearized) {
457
- return this.l10n.get('document_properties_linearized_' + (isLinearized ? 'yes' : 'no'), null, isLinearized ? 'Yes' : 'No');
282
+ return Promise.all([this._isNonMetricLocale ? sizeInches : sizeMillimeters, this.l10n.get("document_properties_page_size_unit_" + (this._isNonMetricLocale ? "inches" : "millimeters"), null, this._isNonMetricLocale ? "in" : "mm"), pageName, this.l10n.get("document_properties_page_size_orientation_" + (isPortrait ? "portrait" : "landscape"), null, isPortrait ? "portrait" : "landscape")]).then(([{
283
+ width,
284
+ height
285
+ }, unit, name, orientation]) => {
286
+ return this.l10n.get("document_properties_page_size_dimension_" + (name ? "name_" : "") + "string", {
287
+ width: width.toLocaleString(),
288
+ height: height.toLocaleString(),
289
+ unit,
290
+ name,
291
+ orientation
292
+ }, "{{width}} × {{height}} {{unit}} (" + (name ? "{{name}}, " : "") + "{{orientation}})");
293
+ });
294
+ }
295
+
296
+ async _parseDate(inputDate) {
297
+ const dateObject = _pdf.PDFDateString.toDateObject(inputDate);
298
+
299
+ if (!dateObject) {
300
+ return undefined;
458
301
  }
459
- }]);
460
302
 
461
- return PDFDocumentProperties;
462
- }();
303
+ return this.l10n.get("document_properties_date_string", {
304
+ date: dateObject.toLocaleDateString(),
305
+ time: dateObject.toLocaleTimeString()
306
+ }, "{{date}}, {{time}}");
307
+ }
308
+
309
+ _parseLinearization(isLinearized) {
310
+ return this.l10n.get("document_properties_linearized_" + (isLinearized ? "yes" : "no"), null, isLinearized ? "Yes" : "No");
311
+ }
312
+
313
+ }
463
314
 
464
315
  exports.PDFDocumentProperties = PDFDocumentProperties;