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
package/lib/web/pdf_find_bar.js
CHANGED
@@ -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,26 +19,33 @@
|
|
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.PDFFindBar =
|
27
|
+
exports.PDFFindBar = void 0;
|
28
28
|
|
29
|
-
var
|
29
|
+
var _ui_utils = require("./ui_utils");
|
30
30
|
|
31
|
-
var _pdf_find_controller = require(
|
32
|
-
|
33
|
-
var _ui_utils = require('./ui_utils');
|
31
|
+
var _pdf_find_controller = require("./pdf_find_controller");
|
34
32
|
|
35
33
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
36
34
|
|
37
|
-
var
|
35
|
+
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); } }
|
36
|
+
|
37
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
38
|
+
|
39
|
+
var MATCHES_COUNT_LIMIT = 1000;
|
40
|
+
|
41
|
+
var PDFFindBar =
|
42
|
+
/*#__PURE__*/
|
43
|
+
function () {
|
38
44
|
function PDFFindBar(options) {
|
39
45
|
var _this = this;
|
40
46
|
|
41
|
-
var
|
47
|
+
var eventBus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (0, _ui_utils.getGlobalEventBus)();
|
48
|
+
var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n;
|
42
49
|
|
43
50
|
_classCallCheck(this, PDFFindBar);
|
44
51
|
|
@@ -48,17 +55,13 @@ var PDFFindBar = function () {
|
|
48
55
|
this.findField = options.findField || null;
|
49
56
|
this.highlightAll = options.highlightAllCheckbox || null;
|
50
57
|
this.caseSensitive = options.caseSensitiveCheckbox || null;
|
58
|
+
this.entireWord = options.entireWordCheckbox || null;
|
51
59
|
this.findMsg = options.findMsg || null;
|
52
60
|
this.findResultsCount = options.findResultsCount || null;
|
53
|
-
this.findStatusIcon = options.findStatusIcon || null;
|
54
61
|
this.findPreviousButton = options.findPreviousButton || null;
|
55
62
|
this.findNextButton = options.findNextButton || null;
|
56
|
-
this.
|
57
|
-
this.eventBus = options.eventBus;
|
63
|
+
this.eventBus = eventBus;
|
58
64
|
this.l10n = l10n;
|
59
|
-
if (this.findController === null) {
|
60
|
-
throw new Error('PDFFindBar cannot be used without a ' + 'PDFFindController instance.');
|
61
|
-
}
|
62
65
|
this.toggleButton.addEventListener('click', function () {
|
63
66
|
_this.toggle();
|
64
67
|
});
|
@@ -71,9 +74,12 @@ var PDFFindBar = function () {
|
|
71
74
|
if (e.target === _this.findField) {
|
72
75
|
_this.dispatchEvent('again', e.shiftKey);
|
73
76
|
}
|
77
|
+
|
74
78
|
break;
|
79
|
+
|
75
80
|
case 27:
|
76
81
|
_this.close();
|
82
|
+
|
77
83
|
break;
|
78
84
|
}
|
79
85
|
});
|
@@ -89,105 +95,141 @@ var PDFFindBar = function () {
|
|
89
95
|
this.caseSensitive.addEventListener('click', function () {
|
90
96
|
_this.dispatchEvent('casesensitivitychange');
|
91
97
|
});
|
98
|
+
this.entireWord.addEventListener('click', function () {
|
99
|
+
_this.dispatchEvent('entirewordchange');
|
100
|
+
});
|
92
101
|
this.eventBus.on('resize', this._adjustWidth.bind(this));
|
93
102
|
}
|
94
103
|
|
95
104
|
_createClass(PDFFindBar, [{
|
96
|
-
key:
|
105
|
+
key: "reset",
|
97
106
|
value: function reset() {
|
98
107
|
this.updateUIState();
|
99
108
|
}
|
100
109
|
}, {
|
101
|
-
key:
|
110
|
+
key: "dispatchEvent",
|
102
111
|
value: function dispatchEvent(type, findPrev) {
|
103
112
|
this.eventBus.dispatch('find', {
|
104
113
|
source: this,
|
105
114
|
type: type,
|
106
115
|
query: this.findField.value,
|
107
|
-
caseSensitive: this.caseSensitive.checked,
|
108
116
|
phraseSearch: true,
|
117
|
+
caseSensitive: this.caseSensitive.checked,
|
118
|
+
entireWord: this.entireWord.checked,
|
109
119
|
highlightAll: this.highlightAll.checked,
|
110
120
|
findPrevious: findPrev
|
111
121
|
});
|
112
122
|
}
|
113
123
|
}, {
|
114
|
-
key:
|
115
|
-
value: function updateUIState(state, previous,
|
124
|
+
key: "updateUIState",
|
125
|
+
value: function updateUIState(state, previous, matchesCount) {
|
116
126
|
var _this2 = this;
|
117
127
|
|
118
128
|
var notFound = false;
|
119
129
|
var findMsg = '';
|
120
130
|
var status = '';
|
131
|
+
|
121
132
|
switch (state) {
|
122
133
|
case _pdf_find_controller.FindState.FOUND:
|
123
134
|
break;
|
135
|
+
|
124
136
|
case _pdf_find_controller.FindState.PENDING:
|
125
137
|
status = 'pending';
|
126
138
|
break;
|
139
|
+
|
127
140
|
case _pdf_find_controller.FindState.NOT_FOUND:
|
128
141
|
findMsg = this.l10n.get('find_not_found', null, 'Phrase not found');
|
129
142
|
notFound = true;
|
130
143
|
break;
|
144
|
+
|
131
145
|
case _pdf_find_controller.FindState.WRAPPED:
|
132
146
|
if (previous) {
|
133
147
|
findMsg = this.l10n.get('find_reached_top', null, 'Reached top of document, continued from bottom');
|
134
148
|
} else {
|
135
149
|
findMsg = this.l10n.get('find_reached_bottom', null, 'Reached end of document, continued from top');
|
136
150
|
}
|
151
|
+
|
137
152
|
break;
|
138
153
|
}
|
139
|
-
|
140
|
-
|
141
|
-
} else {
|
142
|
-
this.findField.classList.remove('notFound');
|
143
|
-
}
|
154
|
+
|
155
|
+
this.findField.classList.toggle('notFound', notFound);
|
144
156
|
this.findField.setAttribute('data-status', status);
|
145
157
|
Promise.resolve(findMsg).then(function (msg) {
|
146
158
|
_this2.findMsg.textContent = msg;
|
159
|
+
|
147
160
|
_this2._adjustWidth();
|
148
161
|
});
|
149
|
-
this.updateResultsCount(
|
162
|
+
this.updateResultsCount(matchesCount);
|
150
163
|
}
|
151
164
|
}, {
|
152
|
-
key:
|
153
|
-
value: function updateResultsCount(
|
165
|
+
key: "updateResultsCount",
|
166
|
+
value: function updateResultsCount() {
|
167
|
+
var _this3 = this;
|
168
|
+
|
169
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
170
|
+
_ref$current = _ref.current,
|
171
|
+
current = _ref$current === void 0 ? 0 : _ref$current,
|
172
|
+
_ref$total = _ref.total,
|
173
|
+
total = _ref$total === void 0 ? 0 : _ref$total;
|
174
|
+
|
154
175
|
if (!this.findResultsCount) {
|
155
176
|
return;
|
156
177
|
}
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
178
|
+
|
179
|
+
var matchesCountMsg = '',
|
180
|
+
limit = MATCHES_COUNT_LIMIT;
|
181
|
+
|
182
|
+
if (total > 0) {
|
183
|
+
if (total > limit) {
|
184
|
+
matchesCountMsg = this.l10n.get('find_match_count_limit', {
|
185
|
+
limit: limit
|
186
|
+
}, 'More than {{limit}} match' + (limit !== 1 ? 'es' : ''));
|
187
|
+
} else {
|
188
|
+
matchesCountMsg = this.l10n.get('find_match_count', {
|
189
|
+
current: current,
|
190
|
+
total: total
|
191
|
+
}, '{{current}} of {{total}} match' + (total !== 1 ? 'es' : ''));
|
192
|
+
}
|
163
193
|
}
|
164
|
-
|
194
|
+
|
195
|
+
Promise.resolve(matchesCountMsg).then(function (msg) {
|
196
|
+
_this3.findResultsCount.textContent = msg;
|
197
|
+
|
198
|
+
_this3.findResultsCount.classList.toggle('hidden', !total);
|
199
|
+
|
200
|
+
_this3._adjustWidth();
|
201
|
+
});
|
165
202
|
}
|
166
203
|
}, {
|
167
|
-
key:
|
204
|
+
key: "open",
|
168
205
|
value: function open() {
|
169
206
|
if (!this.opened) {
|
170
207
|
this.opened = true;
|
171
208
|
this.toggleButton.classList.add('toggled');
|
172
209
|
this.bar.classList.remove('hidden');
|
173
210
|
}
|
211
|
+
|
174
212
|
this.findField.select();
|
175
213
|
this.findField.focus();
|
214
|
+
|
176
215
|
this._adjustWidth();
|
177
216
|
}
|
178
217
|
}, {
|
179
|
-
key:
|
218
|
+
key: "close",
|
180
219
|
value: function close() {
|
181
220
|
if (!this.opened) {
|
182
221
|
return;
|
183
222
|
}
|
223
|
+
|
184
224
|
this.opened = false;
|
185
225
|
this.toggleButton.classList.remove('toggled');
|
186
226
|
this.bar.classList.add('hidden');
|
187
|
-
this.
|
227
|
+
this.eventBus.dispatch('findbarclose', {
|
228
|
+
source: this
|
229
|
+
});
|
188
230
|
}
|
189
231
|
}, {
|
190
|
-
key:
|
232
|
+
key: "toggle",
|
191
233
|
value: function toggle() {
|
192
234
|
if (this.opened) {
|
193
235
|
this.close();
|
@@ -196,14 +238,16 @@ var PDFFindBar = function () {
|
|
196
238
|
}
|
197
239
|
}
|
198
240
|
}, {
|
199
|
-
key:
|
241
|
+
key: "_adjustWidth",
|
200
242
|
value: function _adjustWidth() {
|
201
243
|
if (!this.opened) {
|
202
244
|
return;
|
203
245
|
}
|
246
|
+
|
204
247
|
this.bar.classList.remove('wrapContainers');
|
205
248
|
var findbarHeight = this.bar.clientHeight;
|
206
249
|
var inputContainerHeight = this.bar.firstElementChild.clientHeight;
|
250
|
+
|
207
251
|
if (findbarHeight > inputContainerHeight) {
|
208
252
|
this.bar.classList.add('wrapContainers');
|
209
253
|
}
|