pdfjs-dist 2.0.489 → 2.2.228
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pdfjs-dist might be problematic. Click here for more details.
- package/CODE_OF_CONDUCT.md +15 -0
- package/bower.json +1 -1
- package/build/pdf.js +18515 -11402
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +1 -1
- package/build/pdf.worker.js +48266 -37137
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +1 -1
- package/external/url/url-lib.js +627 -0
- package/image_decoders/pdf.image_decoders.js +11350 -0
- package/image_decoders/pdf.image_decoders.js.map +1 -0
- package/image_decoders/pdf.image_decoders.min.js +1 -0
- package/lib/core/annotation.js +587 -242
- package/lib/core/arithmetic_decoder.js +275 -245
- package/lib/core/bidi.js +65 -6
- package/lib/core/ccitt.js +173 -18
- package/lib/core/ccitt_stream.js +15 -6
- package/lib/core/cff_parser.js +433 -61
- package/lib/core/charsets.js +5 -4
- package/lib/core/chunked_stream.js +400 -152
- package/lib/core/cmap.js +326 -87
- package/lib/core/colorspace.js +874 -594
- package/lib/core/core_utils.js +147 -0
- package/lib/core/crypto.js +290 -45
- package/lib/core/document.js +560 -268
- package/lib/core/encodings.js +19 -10
- package/lib/core/evaluator.js +1005 -360
- package/lib/core/font_renderer.js +331 -97
- package/lib/core/fonts.js +812 -195
- package/lib/core/function.js +284 -71
- package/lib/core/glyphlist.js +4 -3
- package/lib/core/image.js +169 -62
- package/lib/core/image_utils.js +111 -0
- package/lib/core/jbig2.js +479 -66
- package/lib/core/jbig2_stream.js +19 -8
- package/lib/core/jpeg_stream.js +38 -13
- package/lib/core/jpg.js +253 -29
- package/lib/core/jpx.js +396 -6
- package/lib/core/jpx_stream.js +18 -6
- package/lib/core/metrics.js +15 -15
- package/lib/core/murmurhash3.js +56 -34
- package/lib/core/obj.js +1354 -488
- package/lib/core/operator_list.js +144 -31
- package/lib/core/parser.js +539 -191
- package/lib/core/pattern.js +148 -14
- package/lib/core/pdf_manager.js +323 -133
- package/lib/core/primitives.js +111 -24
- package/lib/core/ps_parser.js +134 -45
- package/lib/core/standard_fonts.js +17 -17
- package/lib/core/stream.js +313 -34
- package/lib/core/type1_parser.js +143 -13
- package/lib/core/unicode.js +32 -5
- package/lib/core/worker.js +217 -190
- package/lib/core/worker_stream.js +277 -0
- package/lib/display/annotation_layer.js +450 -133
- package/lib/display/api.js +1597 -784
- package/lib/display/api_compatibility.js +11 -13
- package/lib/display/canvas.js +360 -44
- package/lib/display/content_disposition.js +83 -32
- package/lib/display/display_utils.js +747 -0
- package/lib/display/fetch_stream.js +221 -90
- package/lib/display/font_loader.js +468 -236
- package/lib/display/metadata.js +38 -16
- package/lib/display/network.js +635 -428
- package/lib/display/network_utils.js +32 -19
- package/lib/display/node_stream.js +367 -175
- package/lib/display/pattern_helper.js +81 -31
- package/lib/display/svg.js +1235 -519
- package/lib/display/text_layer.js +153 -29
- package/lib/display/transport_stream.js +345 -94
- package/lib/display/webgl.js +64 -18
- package/lib/display/worker_options.js +5 -4
- package/lib/display/xml_parser.js +166 -53
- package/lib/examples/node/domstubs.js +60 -4
- package/lib/pdf.js +36 -14
- package/lib/pdf.worker.js +5 -3
- package/lib/shared/compatibility.js +158 -564
- package/lib/shared/global_scope.js +2 -2
- package/lib/shared/is_node.js +4 -4
- package/lib/shared/message_handler.js +521 -0
- package/lib/shared/streams_polyfill.js +21 -17
- package/lib/shared/url_polyfill.js +56 -0
- package/lib/shared/util.js +243 -710
- package/lib/test/unit/annotation_spec.js +870 -401
- package/lib/test/unit/api_spec.js +657 -345
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +54 -11
- package/lib/test/unit/clitests_helper.js +10 -8
- package/lib/test/unit/cmap_spec.js +95 -41
- package/lib/test/unit/colorspace_spec.js +115 -63
- package/lib/test/unit/core_utils_spec.js +191 -0
- package/lib/test/unit/crypto_spec.js +17 -5
- package/lib/test/unit/custom_spec.js +43 -55
- package/lib/test/unit/display_svg_spec.js +34 -18
- package/lib/test/unit/display_utils_spec.js +273 -0
- package/lib/test/unit/document_spec.js +8 -13
- package/lib/test/unit/encodings_spec.js +25 -45
- package/lib/test/unit/evaluator_spec.js +38 -15
- package/lib/test/unit/fetch_stream_spec.js +109 -0
- package/lib/test/unit/function_spec.js +17 -5
- package/lib/test/unit/jasmine-boot.js +33 -20
- package/lib/test/unit/{util_stream_spec.js → message_handler_spec.js} +41 -69
- package/lib/test/unit/metadata_spec.js +71 -11
- package/lib/test/unit/murmurhash3_spec.js +3 -3
- package/lib/test/unit/network_spec.js +19 -54
- package/lib/test/unit/network_utils_spec.js +91 -14
- package/lib/test/unit/node_stream_spec.js +56 -32
- package/lib/test/unit/parser_spec.js +162 -71
- package/lib/test/unit/pdf_find_controller_spec.js +230 -0
- package/lib/test/unit/pdf_find_utils_spec.js +63 -0
- package/lib/test/unit/pdf_history_spec.js +21 -9
- package/lib/test/unit/primitives_spec.js +53 -20
- package/lib/test/unit/stream_spec.js +12 -4
- package/lib/test/unit/test_utils.js +273 -56
- package/lib/test/unit/testreporter.js +21 -3
- package/lib/test/unit/type1_parser_spec.js +8 -6
- package/lib/test/unit/ui_utils_spec.js +454 -16
- package/lib/test/unit/unicode_spec.js +18 -15
- package/lib/test/unit/util_spec.js +87 -128
- package/lib/web/annotation_layer_builder.js +39 -22
- package/lib/web/app.js +1290 -588
- package/lib/web/app_options.js +100 -62
- package/lib/web/base_viewer.js +511 -182
- package/lib/web/chromecom.js +261 -117
- package/lib/web/debugger.js +166 -22
- package/lib/web/download_manager.js +32 -13
- package/lib/web/firefox_print_service.js +20 -10
- package/lib/web/firefoxcom.js +315 -80
- package/lib/web/genericcom.js +89 -30
- package/lib/web/genericl10n.js +142 -30
- package/lib/web/grab_to_pan.js +28 -4
- package/lib/web/interfaces.js +170 -47
- package/lib/web/overlay_manager.js +235 -85
- package/lib/web/password_prompt.js +22 -14
- package/lib/web/pdf_attachment_viewer.js +38 -18
- package/lib/web/pdf_cursor_tools.js +39 -16
- package/lib/web/pdf_document_properties.js +255 -136
- package/lib/web/pdf_find_bar.js +84 -40
- package/lib/web/pdf_find_controller.js +495 -184
- package/lib/web/pdf_find_utils.js +111 -0
- package/lib/web/pdf_history.js +190 -53
- package/lib/web/pdf_link_service.js +138 -77
- package/lib/web/pdf_outline_viewer.js +122 -46
- package/lib/web/pdf_page_view.js +191 -67
- package/lib/web/pdf_presentation_mode.js +99 -34
- package/lib/web/pdf_print_service.js +61 -13
- package/lib/web/pdf_rendering_queue.js +28 -9
- package/lib/web/pdf_sidebar.js +141 -81
- package/lib/web/pdf_sidebar_resizer.js +42 -16
- package/lib/web/pdf_single_page_viewer.js +74 -66
- package/lib/web/pdf_thumbnail_view.js +104 -33
- package/lib/web/pdf_thumbnail_viewer.js +66 -26
- package/lib/web/pdf_viewer.component.js +112 -32
- package/lib/web/pdf_viewer.js +91 -52
- package/lib/web/preferences.js +284 -89
- package/lib/web/secondary_toolbar.js +165 -40
- package/lib/web/text_layer_builder.js +134 -59
- package/lib/web/toolbar.js +78 -43
- package/lib/web/ui_utils.js +462 -136
- package/lib/web/view_history.js +215 -67
- package/lib/web/viewer_compatibility.js +4 -13
- package/package.json +5 -4
- package/web/pdf_viewer.css +79 -11
- package/web/pdf_viewer.js +6107 -3748
- package/web/pdf_viewer.js.map +1 -1
- package/lib/display/dom_utils.js +0 -309
- package/lib/test/unit/dom_utils_spec.js +0 -89
- package/lib/test/unit/fonts_spec.js +0 -81
- package/lib/web/dom_events.js +0 -137
@@ -2,7 +2,7 @@
|
|
2
2
|
* @licstart The following is the entire license notice for the
|
3
3
|
* Javascript code in this page
|
4
4
|
*
|
5
|
-
* Copyright
|
5
|
+
* Copyright 2019 Mozilla Foundation
|
6
6
|
*
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
* you may not use this file except in compliance with the License.
|
@@ -19,22 +19,26 @@
|
|
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.PDFOutlineViewer =
|
27
|
+
exports.PDFOutlineViewer = void 0;
|
28
28
|
|
29
|
-
var
|
30
|
-
|
31
|
-
var _pdf = require('../pdf');
|
29
|
+
var _pdf = require("../pdf");
|
32
30
|
|
33
31
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
34
32
|
|
35
|
-
var
|
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
|
+
|
37
|
+
var DEFAULT_TITLE = "\u2013";
|
36
38
|
|
37
|
-
var PDFOutlineViewer =
|
39
|
+
var PDFOutlineViewer =
|
40
|
+
/*#__PURE__*/
|
41
|
+
function () {
|
38
42
|
function PDFOutlineViewer(_ref) {
|
39
43
|
var container = _ref.container,
|
40
44
|
linkService = _ref.linkService,
|
@@ -46,10 +50,11 @@ var PDFOutlineViewer = function () {
|
|
46
50
|
this.linkService = linkService;
|
47
51
|
this.eventBus = eventBus;
|
48
52
|
this.reset();
|
53
|
+
eventBus.on('toggleoutlinetree', this.toggleOutlineTree.bind(this));
|
49
54
|
}
|
50
55
|
|
51
56
|
_createClass(PDFOutlineViewer, [{
|
52
|
-
key:
|
57
|
+
key: "reset",
|
53
58
|
value: function reset() {
|
54
59
|
this.outline = null;
|
55
60
|
this.lastToggleIsShow = true;
|
@@ -57,7 +62,7 @@ var PDFOutlineViewer = function () {
|
|
57
62
|
this.container.classList.remove('outlineWithDeepNesting');
|
58
63
|
}
|
59
64
|
}, {
|
60
|
-
key:
|
65
|
+
key: "_dispatchEvent",
|
61
66
|
value: function _dispatchEvent(outlineCount) {
|
62
67
|
this.eventBus.dispatch('outlineloaded', {
|
63
68
|
source: this,
|
@@ -65,7 +70,7 @@ var PDFOutlineViewer = function () {
|
|
65
70
|
});
|
66
71
|
}
|
67
72
|
}, {
|
68
|
-
key:
|
73
|
+
key: "_bindLink",
|
69
74
|
value: function _bindLink(element, _ref2) {
|
70
75
|
var url = _ref2.url,
|
71
76
|
newWindow = _ref2.newWindow,
|
@@ -80,115 +85,186 @@ var PDFOutlineViewer = function () {
|
|
80
85
|
});
|
81
86
|
return;
|
82
87
|
}
|
88
|
+
|
83
89
|
element.href = linkService.getDestinationHash(dest);
|
90
|
+
|
84
91
|
element.onclick = function () {
|
85
92
|
if (dest) {
|
86
93
|
linkService.navigateTo(dest);
|
87
94
|
}
|
95
|
+
|
88
96
|
return false;
|
89
97
|
};
|
90
98
|
}
|
91
99
|
}, {
|
92
|
-
key:
|
100
|
+
key: "_setStyles",
|
93
101
|
value: function _setStyles(element, _ref3) {
|
94
102
|
var bold = _ref3.bold,
|
95
103
|
italic = _ref3.italic;
|
96
|
-
|
97
104
|
var styleStr = '';
|
105
|
+
|
98
106
|
if (bold) {
|
99
107
|
styleStr += 'font-weight: bold;';
|
100
108
|
}
|
109
|
+
|
101
110
|
if (italic) {
|
102
111
|
styleStr += 'font-style: italic;';
|
103
112
|
}
|
113
|
+
|
104
114
|
if (styleStr) {
|
105
115
|
element.setAttribute('style', styleStr);
|
106
116
|
}
|
107
117
|
}
|
108
118
|
}, {
|
109
|
-
key:
|
110
|
-
value: function _addToggleButton(div) {
|
119
|
+
key: "_addToggleButton",
|
120
|
+
value: function _addToggleButton(div, _ref4) {
|
111
121
|
var _this = this;
|
112
122
|
|
123
|
+
var count = _ref4.count,
|
124
|
+
items = _ref4.items;
|
113
125
|
var toggler = document.createElement('div');
|
114
126
|
toggler.className = 'outlineItemToggler';
|
127
|
+
|
128
|
+
if (count < 0 && Math.abs(count) === items.length) {
|
129
|
+
toggler.classList.add('outlineItemsHidden');
|
130
|
+
}
|
131
|
+
|
115
132
|
toggler.onclick = function (evt) {
|
116
133
|
evt.stopPropagation();
|
117
134
|
toggler.classList.toggle('outlineItemsHidden');
|
135
|
+
|
118
136
|
if (evt.shiftKey) {
|
119
137
|
var shouldShowAll = !toggler.classList.contains('outlineItemsHidden');
|
138
|
+
|
120
139
|
_this._toggleOutlineItem(div, shouldShowAll);
|
121
140
|
}
|
122
141
|
};
|
142
|
+
|
123
143
|
div.insertBefore(toggler, div.firstChild);
|
124
144
|
}
|
125
145
|
}, {
|
126
|
-
key:
|
127
|
-
value: function _toggleOutlineItem(root
|
146
|
+
key: "_toggleOutlineItem",
|
147
|
+
value: function _toggleOutlineItem(root) {
|
148
|
+
var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
128
149
|
this.lastToggleIsShow = show;
|
129
|
-
var
|
130
|
-
|
131
|
-
|
150
|
+
var _iteratorNormalCompletion = true;
|
151
|
+
var _didIteratorError = false;
|
152
|
+
var _iteratorError = undefined;
|
153
|
+
|
154
|
+
try {
|
155
|
+
for (var _iterator = root.querySelectorAll('.outlineItemToggler')[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
156
|
+
var toggler = _step.value;
|
157
|
+
toggler.classList.toggle('outlineItemsHidden', !show);
|
158
|
+
}
|
159
|
+
} catch (err) {
|
160
|
+
_didIteratorError = true;
|
161
|
+
_iteratorError = err;
|
162
|
+
} finally {
|
163
|
+
try {
|
164
|
+
if (!_iteratorNormalCompletion && _iterator["return"] != null) {
|
165
|
+
_iterator["return"]();
|
166
|
+
}
|
167
|
+
} finally {
|
168
|
+
if (_didIteratorError) {
|
169
|
+
throw _iteratorError;
|
170
|
+
}
|
171
|
+
}
|
132
172
|
}
|
133
173
|
}
|
134
174
|
}, {
|
135
|
-
key:
|
175
|
+
key: "toggleOutlineTree",
|
136
176
|
value: function toggleOutlineTree() {
|
137
177
|
if (!this.outline) {
|
138
178
|
return;
|
139
179
|
}
|
180
|
+
|
140
181
|
this._toggleOutlineItem(this.container, !this.lastToggleIsShow);
|
141
182
|
}
|
142
183
|
}, {
|
143
|
-
key:
|
144
|
-
value: function render(
|
145
|
-
var outline =
|
146
|
-
|
184
|
+
key: "render",
|
185
|
+
value: function render(_ref5) {
|
186
|
+
var outline = _ref5.outline;
|
147
187
|
var outlineCount = 0;
|
188
|
+
|
148
189
|
if (this.outline) {
|
149
190
|
this.reset();
|
150
191
|
}
|
192
|
+
|
151
193
|
this.outline = outline || null;
|
194
|
+
|
152
195
|
if (!outline) {
|
153
196
|
this._dispatchEvent(outlineCount);
|
197
|
+
|
154
198
|
return;
|
155
199
|
}
|
200
|
+
|
156
201
|
var fragment = document.createDocumentFragment();
|
157
202
|
var queue = [{
|
158
203
|
parent: fragment,
|
159
204
|
items: this.outline
|
160
205
|
}];
|
161
206
|
var hasAnyNesting = false;
|
207
|
+
|
162
208
|
while (queue.length > 0) {
|
163
209
|
var levelData = queue.shift();
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
this.
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
210
|
+
var _iteratorNormalCompletion2 = true;
|
211
|
+
var _didIteratorError2 = false;
|
212
|
+
var _iteratorError2 = undefined;
|
213
|
+
|
214
|
+
try {
|
215
|
+
for (var _iterator2 = levelData.items[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
216
|
+
var item = _step2.value;
|
217
|
+
var div = document.createElement('div');
|
218
|
+
div.className = 'outlineItem';
|
219
|
+
var element = document.createElement('a');
|
220
|
+
|
221
|
+
this._bindLink(element, item);
|
222
|
+
|
223
|
+
this._setStyles(element, item);
|
224
|
+
|
225
|
+
element.textContent = (0, _pdf.removeNullCharacters)(item.title) || DEFAULT_TITLE;
|
226
|
+
div.appendChild(element);
|
227
|
+
|
228
|
+
if (item.items.length > 0) {
|
229
|
+
hasAnyNesting = true;
|
230
|
+
|
231
|
+
this._addToggleButton(div, item);
|
232
|
+
|
233
|
+
var itemsDiv = document.createElement('div');
|
234
|
+
itemsDiv.className = 'outlineItems';
|
235
|
+
div.appendChild(itemsDiv);
|
236
|
+
queue.push({
|
237
|
+
parent: itemsDiv,
|
238
|
+
items: item.items
|
239
|
+
});
|
240
|
+
}
|
241
|
+
|
242
|
+
levelData.parent.appendChild(div);
|
243
|
+
outlineCount++;
|
244
|
+
}
|
245
|
+
} catch (err) {
|
246
|
+
_didIteratorError2 = true;
|
247
|
+
_iteratorError2 = err;
|
248
|
+
} finally {
|
249
|
+
try {
|
250
|
+
if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
|
251
|
+
_iterator2["return"]();
|
252
|
+
}
|
253
|
+
} finally {
|
254
|
+
if (_didIteratorError2) {
|
255
|
+
throw _iteratorError2;
|
256
|
+
}
|
183
257
|
}
|
184
|
-
levelData.parent.appendChild(div);
|
185
|
-
outlineCount++;
|
186
258
|
}
|
187
259
|
}
|
260
|
+
|
188
261
|
if (hasAnyNesting) {
|
189
262
|
this.container.classList.add('outlineWithDeepNesting');
|
263
|
+
this.lastToggleIsShow = fragment.querySelectorAll('.outlineItemsHidden').length === 0;
|
190
264
|
}
|
265
|
+
|
191
266
|
this.container.appendChild(fragment);
|
267
|
+
|
192
268
|
this._dispatchEvent(outlineCount);
|
193
269
|
}
|
194
270
|
}]);
|