pdfjs-dist 2.0.487 → 2.1.266
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/bower.json +1 -1
- package/build/pdf.js +15564 -9476
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +1 -1
- package/build/pdf.worker.js +46644 -36309
- 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 +11430 -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 +406 -131
- 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 +376 -53
- package/lib/core/charsets.js +5 -4
- package/lib/core/chunked_stream.js +387 -149
- package/lib/core/cmap.js +310 -75
- package/lib/core/colorspace.js +874 -594
- package/lib/core/crypto.js +290 -45
- package/lib/core/document.js +545 -260
- package/lib/core/encodings.js +19 -10
- package/lib/core/evaluator.js +725 -147
- package/lib/core/font_renderer.js +360 -91
- package/lib/core/fonts.js +791 -186
- package/lib/core/function.js +284 -71
- package/lib/core/glyphlist.js +3 -2
- package/lib/core/image.js +168 -61
- 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 +252 -29
- package/lib/core/jpx.js +396 -6
- package/lib/core/jpx_stream.js +18 -6
- package/lib/core/metrics.js +4 -4
- package/lib/core/murmurhash3.js +24 -6
- package/lib/core/obj.js +1137 -475
- package/lib/core/operator_list.js +108 -6
- package/lib/core/parser.js +321 -68
- package/lib/core/pattern.js +145 -13
- package/lib/core/pdf_manager.js +321 -133
- package/lib/core/primitives.js +75 -22
- package/lib/core/ps_parser.js +134 -45
- package/lib/core/standard_fonts.js +10 -10
- package/lib/core/stream.js +313 -34
- package/lib/core/type1_parser.js +143 -13
- package/lib/core/unicode.js +31 -4
- package/lib/core/worker.js +210 -66
- package/lib/display/annotation_layer.js +361 -123
- package/lib/display/api.js +1454 -729
- package/lib/display/api_compatibility.js +11 -13
- package/lib/display/canvas.js +324 -29
- package/lib/display/content_disposition.js +83 -32
- package/lib/display/dom_utils.js +226 -41
- package/lib/display/fetch_stream.js +208 -84
- package/lib/display/font_loader.js +465 -236
- package/lib/display/metadata.js +38 -16
- package/lib/display/network.js +216 -51
- package/lib/display/network_utils.js +32 -19
- package/lib/display/node_stream.js +352 -169
- package/lib/display/pattern_helper.js +58 -7
- package/lib/display/svg.js +242 -29
- package/lib/display/text_layer.js +132 -18
- package/lib/display/transport_stream.js +171 -42
- 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 +57 -4
- package/lib/pdf.js +21 -4
- 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 +295 -650
- package/lib/test/unit/annotation_spec.js +629 -345
- package/lib/test/unit/api_spec.js +555 -253
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +40 -11
- package/lib/test/unit/clitests_helper.js +9 -7
- package/lib/test/unit/cmap_spec.js +80 -26
- package/lib/test/unit/colorspace_spec.js +99 -52
- package/lib/test/unit/crypto_spec.js +17 -5
- package/lib/test/unit/custom_spec.js +41 -53
- package/lib/test/unit/display_svg_spec.js +33 -17
- package/lib/test/unit/document_spec.js +3 -3
- package/lib/test/unit/dom_utils_spec.js +9 -9
- package/lib/test/unit/encodings_spec.js +25 -45
- package/lib/test/unit/evaluator_spec.js +34 -9
- package/lib/test/unit/function_spec.js +17 -5
- package/lib/test/unit/jasmine-boot.js +31 -18
- 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 +20 -5
- package/lib/test/unit/network_utils_spec.js +41 -14
- package/lib/test/unit/node_stream_spec.js +51 -27
- package/lib/test/unit/parser_spec.js +35 -8
- 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 +24 -4
- package/lib/test/unit/stream_spec.js +12 -4
- package/lib/test/unit/test_utils.js +90 -27
- 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 +452 -14
- package/lib/test/unit/unicode_spec.js +14 -11
- package/lib/test/unit/util_spec.js +131 -9
- package/lib/web/annotation_layer_builder.js +39 -22
- package/lib/web/app.js +1240 -582
- package/lib/web/app_options.js +71 -41
- package/lib/web/base_viewer.js +508 -179
- package/lib/web/chromecom.js +261 -117
- package/lib/web/debugger.js +166 -22
- package/lib/web/download_manager.js +31 -13
- package/lib/web/firefox_print_service.js +17 -9
- package/lib/web/firefoxcom.js +283 -79
- package/lib/web/genericcom.js +89 -30
- package/lib/web/genericl10n.js +142 -30
- package/lib/web/grab_to_pan.js +26 -4
- package/lib/web/interfaces.js +170 -47
- package/lib/web/overlay_manager.js +235 -85
- package/lib/web/password_prompt.js +21 -13
- 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 +80 -30
- 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 +137 -76
- package/lib/web/pdf_outline_viewer.js +73 -22
- package/lib/web/pdf_page_view.js +196 -63
- package/lib/web/pdf_presentation_mode.js +99 -34
- package/lib/web/pdf_print_service.js +57 -11
- package/lib/web/pdf_rendering_queue.js +27 -5
- package/lib/web/pdf_sidebar.js +120 -67
- 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 +103 -32
- package/lib/web/pdf_thumbnail_viewer.js +64 -24
- package/lib/web/pdf_viewer.component.js +112 -32
- package/lib/web/pdf_viewer.js +91 -52
- package/lib/web/preferences.js +275 -80
- package/lib/web/secondary_toolbar.js +165 -40
- package/lib/web/text_layer_builder.js +162 -65
- 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 +58 -1
- package/web/pdf_viewer.js +6346 -3919
- package/web/pdf_viewer.js.map +1 -1
- 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 2018 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,33 +19,38 @@
|
|
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.PDFCursorTools = exports.CursorTool =
|
27
|
+
exports.PDFCursorTools = exports.CursorTool = void 0;
|
28
28
|
|
29
|
-
var
|
30
|
-
|
31
|
-
var _grab_to_pan = require('./grab_to_pan');
|
29
|
+
var _grab_to_pan = require("./grab_to_pan");
|
32
30
|
|
33
31
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
34
32
|
|
33
|
+
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); } }
|
34
|
+
|
35
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
36
|
+
|
35
37
|
var CursorTool = {
|
36
38
|
SELECT: 0,
|
37
39
|
HAND: 1,
|
38
40
|
ZOOM: 2
|
39
41
|
};
|
42
|
+
exports.CursorTool = CursorTool;
|
40
43
|
|
41
|
-
var PDFCursorTools =
|
44
|
+
var PDFCursorTools =
|
45
|
+
/*#__PURE__*/
|
46
|
+
function () {
|
42
47
|
function PDFCursorTools(_ref) {
|
43
48
|
var _this = this;
|
44
49
|
|
45
50
|
var container = _ref.container,
|
46
51
|
eventBus = _ref.eventBus,
|
47
52
|
_ref$cursorToolOnLoad = _ref.cursorToolOnLoad,
|
48
|
-
cursorToolOnLoad = _ref$cursorToolOnLoad ===
|
53
|
+
cursorToolOnLoad = _ref$cursorToolOnLoad === void 0 ? CursorTool.SELECT : _ref$cursorToolOnLoad;
|
49
54
|
|
50
55
|
_classCallCheck(this, PDFCursorTools);
|
51
56
|
|
@@ -53,52 +58,66 @@ var PDFCursorTools = function () {
|
|
53
58
|
this.eventBus = eventBus;
|
54
59
|
this.active = CursorTool.SELECT;
|
55
60
|
this.activeBeforePresentationMode = null;
|
56
|
-
this.handTool = new _grab_to_pan.GrabToPan({
|
61
|
+
this.handTool = new _grab_to_pan.GrabToPan({
|
62
|
+
element: this.container
|
63
|
+
});
|
64
|
+
|
57
65
|
this._addEventListeners();
|
66
|
+
|
58
67
|
Promise.resolve().then(function () {
|
59
68
|
_this.switchTool(cursorToolOnLoad);
|
60
69
|
});
|
61
70
|
}
|
62
71
|
|
63
72
|
_createClass(PDFCursorTools, [{
|
64
|
-
key:
|
73
|
+
key: "switchTool",
|
65
74
|
value: function switchTool(tool) {
|
66
75
|
var _this2 = this;
|
67
76
|
|
68
77
|
if (this.activeBeforePresentationMode !== null) {
|
69
78
|
return;
|
70
79
|
}
|
80
|
+
|
71
81
|
if (tool === this.active) {
|
72
82
|
return;
|
73
83
|
}
|
84
|
+
|
74
85
|
var disableActiveTool = function disableActiveTool() {
|
75
86
|
switch (_this2.active) {
|
76
87
|
case CursorTool.SELECT:
|
77
88
|
break;
|
89
|
+
|
78
90
|
case CursorTool.HAND:
|
79
91
|
_this2.handTool.deactivate();
|
92
|
+
|
80
93
|
break;
|
94
|
+
|
81
95
|
case CursorTool.ZOOM:
|
82
96
|
}
|
83
97
|
};
|
98
|
+
|
84
99
|
switch (tool) {
|
85
100
|
case CursorTool.SELECT:
|
86
101
|
disableActiveTool();
|
87
102
|
break;
|
103
|
+
|
88
104
|
case CursorTool.HAND:
|
89
105
|
disableActiveTool();
|
90
106
|
this.handTool.activate();
|
91
107
|
break;
|
108
|
+
|
92
109
|
case CursorTool.ZOOM:
|
93
110
|
default:
|
94
|
-
console.error(
|
111
|
+
console.error("switchTool: \"".concat(tool, "\" is an unsupported value."));
|
95
112
|
return;
|
96
113
|
}
|
114
|
+
|
97
115
|
this.active = tool;
|
116
|
+
|
98
117
|
this._dispatchEvent();
|
99
118
|
}
|
100
119
|
}, {
|
101
|
-
key:
|
120
|
+
key: "_dispatchEvent",
|
102
121
|
value: function _dispatchEvent() {
|
103
122
|
this.eventBus.dispatch('cursortoolchanged', {
|
104
123
|
source: this,
|
@@ -106,7 +125,7 @@ var PDFCursorTools = function () {
|
|
106
125
|
});
|
107
126
|
}
|
108
127
|
}, {
|
109
|
-
key:
|
128
|
+
key: "_addEventListeners",
|
110
129
|
value: function _addEventListeners() {
|
111
130
|
var _this3 = this;
|
112
131
|
|
@@ -117,20 +136,25 @@ var PDFCursorTools = function () {
|
|
117
136
|
if (evt.switchInProgress) {
|
118
137
|
return;
|
119
138
|
}
|
120
|
-
|
139
|
+
|
140
|
+
var previouslyActive;
|
141
|
+
|
121
142
|
if (evt.active) {
|
122
143
|
previouslyActive = _this3.active;
|
144
|
+
|
123
145
|
_this3.switchTool(CursorTool.SELECT);
|
146
|
+
|
124
147
|
_this3.activeBeforePresentationMode = previouslyActive;
|
125
148
|
} else {
|
126
149
|
previouslyActive = _this3.activeBeforePresentationMode;
|
127
150
|
_this3.activeBeforePresentationMode = null;
|
151
|
+
|
128
152
|
_this3.switchTool(previouslyActive);
|
129
153
|
}
|
130
154
|
});
|
131
155
|
}
|
132
156
|
}, {
|
133
|
-
key:
|
157
|
+
key: "activeTool",
|
134
158
|
get: function get() {
|
135
159
|
return this.active;
|
136
160
|
}
|
@@ -139,5 +163,4 @@ var PDFCursorTools = function () {
|
|
139
163
|
return PDFCursorTools;
|
140
164
|
}();
|
141
165
|
|
142
|
-
exports.CursorTool = CursorTool;
|
143
166
|
exports.PDFCursorTools = PDFCursorTools;
|
@@ -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 2018 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,23 +19,31 @@
|
|
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.PDFDocumentProperties =
|
27
|
+
exports.PDFDocumentProperties = void 0;
|
28
28
|
|
29
|
-
var
|
29
|
+
var _ui_utils = require("./ui_utils");
|
30
30
|
|
31
|
-
var
|
31
|
+
var _pdf = require("../pdf");
|
32
32
|
|
33
|
-
|
33
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
|
34
34
|
|
35
|
-
|
35
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
|
36
|
+
|
37
|
+
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; }
|
38
|
+
|
39
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
36
40
|
|
37
41
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
38
42
|
|
43
|
+
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); } }
|
44
|
+
|
45
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
46
|
+
|
39
47
|
var DEFAULT_FIELD_CONTENT = '-';
|
40
48
|
var NON_METRIC_LOCALES = ['en-us', 'en-lr', 'my'];
|
41
49
|
var US_PAGE_NAMES = {
|
@@ -46,21 +54,23 @@ var METRIC_PAGE_NAMES = {
|
|
46
54
|
'297x420': 'A3',
|
47
55
|
'210x297': 'A4'
|
48
56
|
};
|
57
|
+
|
49
58
|
function getPageName(size, isPortrait, pageNames) {
|
50
59
|
var width = isPortrait ? size.width : size.height;
|
51
60
|
var height = isPortrait ? size.height : size.width;
|
52
|
-
return pageNames[width
|
61
|
+
return pageNames["".concat(width, "x").concat(height)];
|
53
62
|
}
|
54
63
|
|
55
|
-
var PDFDocumentProperties =
|
64
|
+
var PDFDocumentProperties =
|
65
|
+
/*#__PURE__*/
|
66
|
+
function () {
|
56
67
|
function PDFDocumentProperties(_ref, overlayManager, eventBus) {
|
68
|
+
var _this = this;
|
69
|
+
|
57
70
|
var overlayName = _ref.overlayName,
|
58
71
|
fields = _ref.fields,
|
59
72
|
container = _ref.container,
|
60
73
|
closeButton = _ref.closeButton;
|
61
|
-
|
62
|
-
var _this = this;
|
63
|
-
|
64
74
|
var l10n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _ui_utils.NullL10n;
|
65
75
|
|
66
76
|
_classCallCheck(this, PDFDocumentProperties);
|
@@ -70,11 +80,15 @@ var PDFDocumentProperties = function () {
|
|
70
80
|
this.container = container;
|
71
81
|
this.overlayManager = overlayManager;
|
72
82
|
this.l10n = l10n;
|
83
|
+
|
73
84
|
this._reset();
|
85
|
+
|
74
86
|
if (closeButton) {
|
75
87
|
closeButton.addEventListener('click', this.close.bind(this));
|
76
88
|
}
|
89
|
+
|
77
90
|
this.overlayManager.register(this.overlayName, this.container, this.close.bind(this));
|
91
|
+
|
78
92
|
if (eventBus) {
|
79
93
|
eventBus.on('pagechanging', function (evt) {
|
80
94
|
_this._currentPageNumber = evt.pageNumber;
|
@@ -83,6 +97,7 @@ var PDFDocumentProperties = function () {
|
|
83
97
|
_this._pagesRotation = evt.pagesRotation;
|
84
98
|
});
|
85
99
|
}
|
100
|
+
|
86
101
|
this._isNonMetricLocale = true;
|
87
102
|
l10n.getLanguage().then(function (locale) {
|
88
103
|
_this._isNonMetricLocale = NON_METRIC_LOCALES.includes(locale);
|
@@ -90,7 +105,7 @@ var PDFDocumentProperties = function () {
|
|
90
105
|
}
|
91
106
|
|
92
107
|
_createClass(PDFDocumentProperties, [{
|
93
|
-
key:
|
108
|
+
key: "open",
|
94
109
|
value: function open() {
|
95
110
|
var _this2 = this;
|
96
111
|
|
@@ -102,30 +117,34 @@ var PDFDocumentProperties = function () {
|
|
102
117
|
configurable: true
|
103
118
|
});
|
104
119
|
};
|
120
|
+
|
105
121
|
Promise.all([this.overlayManager.open(this.overlayName), this._dataAvailableCapability.promise]).then(function () {
|
106
122
|
var currentPageNumber = _this2._currentPageNumber;
|
107
123
|
var pagesRotation = _this2._pagesRotation;
|
124
|
+
|
108
125
|
if (_this2.fieldData && currentPageNumber === _this2.fieldData['_currentPageNumber'] && pagesRotation === _this2.fieldData['_pagesRotation']) {
|
109
126
|
_this2._updateUI();
|
127
|
+
|
110
128
|
return;
|
111
129
|
}
|
130
|
+
|
112
131
|
_this2.pdfDocument.getMetadata().then(function (_ref2) {
|
113
132
|
var info = _ref2.info,
|
114
133
|
metadata = _ref2.metadata,
|
115
134
|
contentDispositionFilename = _ref2.contentDispositionFilename;
|
116
|
-
|
117
|
-
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) {
|
135
|
+
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) {
|
118
136
|
return _this2._parsePageSize((0, _ui_utils.getPageSizeInches)(pdfPage), pagesRotation);
|
119
|
-
})]);
|
137
|
+
}), _this2._parseLinearization(info.IsLinearized)]);
|
120
138
|
}).then(function (_ref3) {
|
121
|
-
var _ref4 = _slicedToArray(_ref3,
|
139
|
+
var _ref4 = _slicedToArray(_ref3, 8),
|
122
140
|
info = _ref4[0],
|
123
141
|
metadata = _ref4[1],
|
124
142
|
fileName = _ref4[2],
|
125
143
|
fileSize = _ref4[3],
|
126
144
|
creationDate = _ref4[4],
|
127
145
|
modDate = _ref4[5],
|
128
|
-
pageSize = _ref4[6]
|
146
|
+
pageSize = _ref4[6],
|
147
|
+
isLinearized = _ref4[7];
|
129
148
|
|
130
149
|
freezeFieldData({
|
131
150
|
'fileName': fileName,
|
@@ -141,55 +160,65 @@ var PDFDocumentProperties = function () {
|
|
141
160
|
'version': info.PDFFormatVersion,
|
142
161
|
'pageCount': _this2.pdfDocument.numPages,
|
143
162
|
'pageSize': pageSize,
|
163
|
+
'linearized': isLinearized,
|
144
164
|
'_currentPageNumber': currentPageNumber,
|
145
165
|
'_pagesRotation': pagesRotation
|
146
166
|
});
|
167
|
+
|
147
168
|
_this2._updateUI();
|
169
|
+
|
148
170
|
return _this2.pdfDocument.getDownloadInfo();
|
149
171
|
}).then(function (_ref5) {
|
150
172
|
var length = _ref5.length;
|
151
|
-
|
152
173
|
_this2.maybeFileSize = length;
|
153
174
|
return _this2._parseFileSize(length);
|
154
175
|
}).then(function (fileSize) {
|
155
176
|
if (fileSize === _this2.fieldData['fileSize']) {
|
156
177
|
return;
|
157
178
|
}
|
158
|
-
|
179
|
+
|
180
|
+
var data = Object.assign(Object.create(null), _this2.fieldData);
|
159
181
|
data['fileSize'] = fileSize;
|
160
182
|
freezeFieldData(data);
|
183
|
+
|
161
184
|
_this2._updateUI();
|
162
185
|
});
|
163
186
|
});
|
164
187
|
}
|
165
188
|
}, {
|
166
|
-
key:
|
189
|
+
key: "close",
|
167
190
|
value: function close() {
|
168
191
|
this.overlayManager.close(this.overlayName);
|
169
192
|
}
|
170
193
|
}, {
|
171
|
-
key:
|
172
|
-
value: function setDocument(pdfDocument
|
194
|
+
key: "setDocument",
|
195
|
+
value: function setDocument(pdfDocument) {
|
196
|
+
var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
197
|
+
|
173
198
|
if (this.pdfDocument) {
|
174
199
|
this._reset();
|
200
|
+
|
175
201
|
this._updateUI(true);
|
176
202
|
}
|
203
|
+
|
177
204
|
if (!pdfDocument) {
|
178
205
|
return;
|
179
206
|
}
|
207
|
+
|
180
208
|
this.pdfDocument = pdfDocument;
|
181
209
|
this.url = url;
|
210
|
+
|
182
211
|
this._dataAvailableCapability.resolve();
|
183
212
|
}
|
184
213
|
}, {
|
185
|
-
key:
|
214
|
+
key: "setFileSize",
|
186
215
|
value: function setFileSize(fileSize) {
|
187
216
|
if (Number.isInteger(fileSize) && fileSize > 0) {
|
188
217
|
this.maybeFileSize = fileSize;
|
189
218
|
}
|
190
219
|
}
|
191
220
|
}, {
|
192
|
-
key:
|
221
|
+
key: "_reset",
|
193
222
|
value: function _reset() {
|
194
223
|
this.pdfDocument = null;
|
195
224
|
this.url = null;
|
@@ -200,7 +229,7 @@ var PDFDocumentProperties = function () {
|
|
200
229
|
this._pagesRotation = 0;
|
201
230
|
}
|
202
231
|
}, {
|
203
|
-
key:
|
232
|
+
key: "_updateUI",
|
204
233
|
value: function _updateUI() {
|
205
234
|
var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
206
235
|
|
@@ -208,22 +237,25 @@ var PDFDocumentProperties = function () {
|
|
208
237
|
for (var id in this.fields) {
|
209
238
|
this.fields[id].textContent = DEFAULT_FIELD_CONTENT;
|
210
239
|
}
|
240
|
+
|
211
241
|
return;
|
212
242
|
}
|
243
|
+
|
213
244
|
if (this.overlayManager.active !== this.overlayName) {
|
214
245
|
return;
|
215
246
|
}
|
247
|
+
|
216
248
|
for (var _id in this.fields) {
|
217
249
|
var content = this.fieldData[_id];
|
218
250
|
this.fields[_id].textContent = content || content === 0 ? content : DEFAULT_FIELD_CONTENT;
|
219
251
|
}
|
220
252
|
}
|
221
253
|
}, {
|
222
|
-
key:
|
254
|
+
key: "_parseFileSize",
|
223
255
|
value: function _parseFileSize() {
|
224
256
|
var fileSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
225
|
-
|
226
257
|
var kb = fileSize / 1024;
|
258
|
+
|
227
259
|
if (!kb) {
|
228
260
|
return Promise.resolve(undefined);
|
229
261
|
} else if (kb < 1024) {
|
@@ -232,25 +264,28 @@ var PDFDocumentProperties = function () {
|
|
232
264
|
size_b: fileSize.toLocaleString()
|
233
265
|
}, '{{size_kb}} KB ({{size_b}} bytes)');
|
234
266
|
}
|
267
|
+
|
235
268
|
return this.l10n.get('document_properties_mb', {
|
236
269
|
size_mb: (+(kb / 1024).toPrecision(3)).toLocaleString(),
|
237
270
|
size_b: fileSize.toLocaleString()
|
238
271
|
}, '{{size_mb}} MB ({{size_b}} bytes)');
|
239
272
|
}
|
240
273
|
}, {
|
241
|
-
key:
|
274
|
+
key: "_parsePageSize",
|
242
275
|
value: function _parsePageSize(pageSizeInches, pagesRotation) {
|
243
276
|
var _this3 = this;
|
244
277
|
|
245
278
|
if (!pageSizeInches) {
|
246
279
|
return Promise.resolve(undefined);
|
247
280
|
}
|
281
|
+
|
248
282
|
if (pagesRotation % 180 !== 0) {
|
249
283
|
pageSizeInches = {
|
250
284
|
width: pageSizeInches.height,
|
251
285
|
height: pageSizeInches.width
|
252
286
|
};
|
253
287
|
}
|
288
|
+
|
254
289
|
var isPortrait = (0, _ui_utils.isPortraitOrientation)(pageSizeInches);
|
255
290
|
var sizeInches = {
|
256
291
|
width: Math.round(pageSizeInches.width * 100) / 100,
|
@@ -262,6 +297,7 @@ var PDFDocumentProperties = function () {
|
|
262
297
|
};
|
263
298
|
var pageName = null;
|
264
299
|
var name = getPageName(sizeInches, isPortrait, US_PAGE_NAMES) || getPageName(sizeMillimeters, isPortrait, METRIC_PAGE_NAMES);
|
300
|
+
|
265
301
|
if (!name && !(Number.isInteger(sizeMillimeters.width) && Number.isInteger(sizeMillimeters.height))) {
|
266
302
|
var exactMillimeters = {
|
267
303
|
width: pageSizeInches.width * 25.4,
|
@@ -271,8 +307,10 @@ var PDFDocumentProperties = function () {
|
|
271
307
|
width: Math.round(sizeMillimeters.width),
|
272
308
|
height: Math.round(sizeMillimeters.height)
|
273
309
|
};
|
310
|
+
|
274
311
|
if (Math.abs(exactMillimeters.width - intMillimeters.width) < 0.1 && Math.abs(exactMillimeters.height - intMillimeters.height) < 0.1) {
|
275
312
|
name = getPageName(intMillimeters, isPortrait, METRIC_PAGE_NAMES);
|
313
|
+
|
276
314
|
if (name) {
|
277
315
|
sizeInches = {
|
278
316
|
width: Math.round(intMillimeters.width / 25.4 * 100) / 100,
|
@@ -282,9 +320,11 @@ var PDFDocumentProperties = function () {
|
|
282
320
|
}
|
283
321
|
}
|
284
322
|
}
|
323
|
+
|
285
324
|
if (name) {
|
286
325
|
pageName = this.l10n.get('document_properties_page_size_name_' + name.toLowerCase(), null, name);
|
287
326
|
}
|
327
|
+
|
288
328
|
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) {
|
289
329
|
var _ref7 = _slicedToArray(_ref6, 4),
|
290
330
|
_ref7$ = _ref7[0],
|
@@ -304,15 +344,18 @@ var PDFDocumentProperties = function () {
|
|
304
344
|
});
|
305
345
|
}
|
306
346
|
}, {
|
307
|
-
key:
|
347
|
+
key: "_parseDate",
|
308
348
|
value: function _parseDate(inputDate) {
|
309
349
|
if (!inputDate) {
|
310
350
|
return;
|
311
351
|
}
|
352
|
+
|
312
353
|
var dateToParse = inputDate;
|
354
|
+
|
313
355
|
if (dateToParse.substring(0, 2) === 'D:') {
|
314
356
|
dateToParse = dateToParse.substring(2);
|
315
357
|
}
|
358
|
+
|
316
359
|
var year = parseInt(dateToParse.substring(0, 4), 10);
|
317
360
|
var month = parseInt(dateToParse.substring(4, 6), 10) - 1;
|
318
361
|
var day = parseInt(dateToParse.substring(6, 8), 10);
|
@@ -322,6 +365,7 @@ var PDFDocumentProperties = function () {
|
|
322
365
|
var utRel = dateToParse.substring(14, 15);
|
323
366
|
var offsetHours = parseInt(dateToParse.substring(15, 17), 10);
|
324
367
|
var offsetMinutes = parseInt(dateToParse.substring(18, 20), 10);
|
368
|
+
|
325
369
|
if (utRel === '-') {
|
326
370
|
hours += offsetHours;
|
327
371
|
minutes += offsetMinutes;
|
@@ -329,6 +373,7 @@ var PDFDocumentProperties = function () {
|
|
329
373
|
hours -= offsetHours;
|
330
374
|
minutes -= offsetMinutes;
|
331
375
|
}
|
376
|
+
|
332
377
|
var date = new Date(Date.UTC(year, month, day, hours, minutes, seconds));
|
333
378
|
var dateString = date.toLocaleDateString();
|
334
379
|
var timeString = date.toLocaleTimeString();
|
@@ -337,6 +382,11 @@ var PDFDocumentProperties = function () {
|
|
337
382
|
time: timeString
|
338
383
|
}, '{{date}}, {{time}}');
|
339
384
|
}
|
385
|
+
}, {
|
386
|
+
key: "_parseLinearization",
|
387
|
+
value: function _parseLinearization(isLinearized) {
|
388
|
+
return this.l10n.get('document_properties_linearized_' + (isLinearized ? 'yes' : 'no'), null, isLinearized ? 'Yes' : 'No');
|
389
|
+
}
|
340
390
|
}]);
|
341
391
|
|
342
392
|
return PDFDocumentProperties;
|