pdfjs-dist 2.0.550 → 2.3.200
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 +21618 -14369
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +1 -1
- package/build/pdf.worker.js +22758 -11399
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +1 -1
- package/image_decoders/pdf.image_decoders.js +11500 -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 +767 -258
- 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 +428 -157
- package/lib/core/cmap.js +326 -87
- package/lib/core/colorspace.js +874 -594
- package/lib/core/core_utils.js +173 -0
- package/lib/core/crypto.js +290 -45
- package/lib/core/document.js +575 -272
- package/lib/core/encodings.js +19 -10
- package/lib/core/evaluator.js +1032 -351
- package/lib/core/font_renderer.js +331 -97
- package/lib/core/fonts.js +813 -196
- package/lib/core/function.js +253 -27
- package/lib/core/glyphlist.js +5 -3
- package/lib/core/image.js +169 -62
- package/lib/core/image_utils.js +111 -0
- package/lib/core/jbig2.js +502 -72
- package/lib/core/jbig2_stream.js +19 -8
- package/lib/core/jpeg_stream.js +38 -13
- package/lib/core/jpg.js +293 -52
- package/lib/core/jpx.js +419 -12
- 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 +1368 -500
- package/lib/core/operator_list.js +159 -43
- package/lib/core/parser.js +544 -199
- package/lib/core/pattern.js +170 -21
- package/lib/core/pdf_manager.js +324 -134
- package/lib/core/primitives.js +169 -61
- package/lib/core/ps_parser.js +134 -45
- package/lib/core/standard_fonts.js +17 -17
- package/lib/core/stream.js +327 -34
- package/lib/core/type1_parser.js +148 -8
- package/lib/core/unicode.js +32 -5
- package/lib/core/worker.js +215 -229
- package/lib/core/worker_stream.js +277 -0
- package/lib/display/annotation_layer.js +618 -192
- package/lib/display/api.js +1798 -882
- package/lib/display/api_compatibility.js +5 -10
- package/lib/display/canvas.js +366 -45
- package/lib/display/content_disposition.js +71 -24
- package/lib/display/display_utils.js +777 -0
- package/lib/display/fetch_stream.js +205 -87
- 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 +38 -19
- package/lib/display/node_stream.js +367 -175
- package/lib/display/pattern_helper.js +103 -36
- package/lib/display/svg.js +1232 -519
- package/lib/display/text_layer.js +208 -75
- 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 +35 -14
- package/lib/pdf.worker.js +5 -3
- package/lib/shared/compatibility.js +170 -572
- package/lib/shared/global_scope.js +2 -2
- package/lib/shared/is_node.js +4 -4
- package/lib/shared/message_handler.js +216 -163
- package/lib/shared/streams_polyfill.js +21 -17
- package/lib/shared/util.js +495 -385
- package/lib/test/unit/annotation_spec.js +1464 -401
- package/lib/test/unit/api_spec.js +718 -361
- 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 +9 -10
- 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 +59 -20
- package/lib/test/unit/fetch_stream_spec.js +111 -0
- package/lib/test/unit/function_spec.js +17 -5
- package/lib/test/unit/jasmine-boot.js +33 -20
- package/lib/test/unit/message_handler_spec.js +30 -13
- 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 +22 -55
- package/lib/test/unit/network_utils_spec.js +105 -14
- package/lib/test/unit/node_stream_spec.js +58 -34
- 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 +55 -22
- 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 +9 -7
- package/lib/test/unit/ui_utils_spec.js +236 -36
- 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 +1252 -609
- package/lib/web/app_options.js +103 -65
- package/lib/web/base_viewer.js +522 -242
- package/lib/web/chromecom.js +259 -117
- package/lib/web/debugger.js +166 -22
- package/lib/web/download_manager.js +31 -12
- package/lib/web/firefox_print_service.js +27 -14
- package/lib/web/firefoxcom.js +318 -78
- 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 +174 -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 +144 -79
- package/lib/web/pdf_outline_viewer.js +124 -47
- package/lib/web/pdf_page_view.js +194 -74
- package/lib/web/pdf_presentation_mode.js +99 -34
- package/lib/web/pdf_print_service.js +59 -13
- package/lib/web/pdf_rendering_queue.js +28 -9
- package/lib/web/pdf_sidebar.js +144 -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 +82 -87
- package/lib/web/preferences.js +284 -91
- package/lib/web/secondary_toolbar.js +132 -59
- package/lib/web/text_layer_builder.js +134 -59
- package/lib/web/toolbar.js +80 -43
- package/lib/web/ui_utils.js +400 -134
- package/lib/web/view_history.js +215 -67
- package/lib/web/viewer_compatibility.js +3 -8
- package/package.json +3 -2
- package/web/pdf_viewer.css +23 -15
- package/web/pdf_viewer.js +3429 -1245
- package/web/pdf_viewer.js.map +1 -1
- package/external/streams/streams-lib.js +0 -3962
- package/lib/display/dom_utils.js +0 -429
- 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,
|
@@ -76,119 +81,191 @@ var PDFOutlineViewer = function () {
|
|
76
81
|
(0, _pdf.addLinkAttributes)(element, {
|
77
82
|
url: url,
|
78
83
|
target: newWindow ? _pdf.LinkTarget.BLANK : linkService.externalLinkTarget,
|
79
|
-
rel: linkService.externalLinkRel
|
84
|
+
rel: linkService.externalLinkRel,
|
85
|
+
enabled: linkService.externalLinkEnabled
|
80
86
|
});
|
81
87
|
return;
|
82
88
|
}
|
89
|
+
|
83
90
|
element.href = linkService.getDestinationHash(dest);
|
91
|
+
|
84
92
|
element.onclick = function () {
|
85
93
|
if (dest) {
|
86
94
|
linkService.navigateTo(dest);
|
87
95
|
}
|
96
|
+
|
88
97
|
return false;
|
89
98
|
};
|
90
99
|
}
|
91
100
|
}, {
|
92
|
-
key:
|
101
|
+
key: "_setStyles",
|
93
102
|
value: function _setStyles(element, _ref3) {
|
94
103
|
var bold = _ref3.bold,
|
95
104
|
italic = _ref3.italic;
|
96
|
-
|
97
105
|
var styleStr = '';
|
106
|
+
|
98
107
|
if (bold) {
|
99
108
|
styleStr += 'font-weight: bold;';
|
100
109
|
}
|
110
|
+
|
101
111
|
if (italic) {
|
102
112
|
styleStr += 'font-style: italic;';
|
103
113
|
}
|
114
|
+
|
104
115
|
if (styleStr) {
|
105
116
|
element.setAttribute('style', styleStr);
|
106
117
|
}
|
107
118
|
}
|
108
119
|
}, {
|
109
|
-
key:
|
110
|
-
value: function _addToggleButton(div) {
|
120
|
+
key: "_addToggleButton",
|
121
|
+
value: function _addToggleButton(div, _ref4) {
|
111
122
|
var _this = this;
|
112
123
|
|
124
|
+
var count = _ref4.count,
|
125
|
+
items = _ref4.items;
|
113
126
|
var toggler = document.createElement('div');
|
114
127
|
toggler.className = 'outlineItemToggler';
|
128
|
+
|
129
|
+
if (count < 0 && Math.abs(count) === items.length) {
|
130
|
+
toggler.classList.add('outlineItemsHidden');
|
131
|
+
}
|
132
|
+
|
115
133
|
toggler.onclick = function (evt) {
|
116
134
|
evt.stopPropagation();
|
117
135
|
toggler.classList.toggle('outlineItemsHidden');
|
136
|
+
|
118
137
|
if (evt.shiftKey) {
|
119
138
|
var shouldShowAll = !toggler.classList.contains('outlineItemsHidden');
|
139
|
+
|
120
140
|
_this._toggleOutlineItem(div, shouldShowAll);
|
121
141
|
}
|
122
142
|
};
|
143
|
+
|
123
144
|
div.insertBefore(toggler, div.firstChild);
|
124
145
|
}
|
125
146
|
}, {
|
126
|
-
key:
|
127
|
-
value: function _toggleOutlineItem(root
|
147
|
+
key: "_toggleOutlineItem",
|
148
|
+
value: function _toggleOutlineItem(root) {
|
149
|
+
var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
128
150
|
this.lastToggleIsShow = show;
|
129
|
-
var
|
130
|
-
|
131
|
-
|
151
|
+
var _iteratorNormalCompletion = true;
|
152
|
+
var _didIteratorError = false;
|
153
|
+
var _iteratorError = undefined;
|
154
|
+
|
155
|
+
try {
|
156
|
+
for (var _iterator = root.querySelectorAll('.outlineItemToggler')[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
157
|
+
var toggler = _step.value;
|
158
|
+
toggler.classList.toggle('outlineItemsHidden', !show);
|
159
|
+
}
|
160
|
+
} catch (err) {
|
161
|
+
_didIteratorError = true;
|
162
|
+
_iteratorError = err;
|
163
|
+
} finally {
|
164
|
+
try {
|
165
|
+
if (!_iteratorNormalCompletion && _iterator["return"] != null) {
|
166
|
+
_iterator["return"]();
|
167
|
+
}
|
168
|
+
} finally {
|
169
|
+
if (_didIteratorError) {
|
170
|
+
throw _iteratorError;
|
171
|
+
}
|
172
|
+
}
|
132
173
|
}
|
133
174
|
}
|
134
175
|
}, {
|
135
|
-
key:
|
176
|
+
key: "toggleOutlineTree",
|
136
177
|
value: function toggleOutlineTree() {
|
137
178
|
if (!this.outline) {
|
138
179
|
return;
|
139
180
|
}
|
181
|
+
|
140
182
|
this._toggleOutlineItem(this.container, !this.lastToggleIsShow);
|
141
183
|
}
|
142
184
|
}, {
|
143
|
-
key:
|
144
|
-
value: function render(
|
145
|
-
var outline =
|
146
|
-
|
185
|
+
key: "render",
|
186
|
+
value: function render(_ref5) {
|
187
|
+
var outline = _ref5.outline;
|
147
188
|
var outlineCount = 0;
|
189
|
+
|
148
190
|
if (this.outline) {
|
149
191
|
this.reset();
|
150
192
|
}
|
193
|
+
|
151
194
|
this.outline = outline || null;
|
195
|
+
|
152
196
|
if (!outline) {
|
153
197
|
this._dispatchEvent(outlineCount);
|
198
|
+
|
154
199
|
return;
|
155
200
|
}
|
201
|
+
|
156
202
|
var fragment = document.createDocumentFragment();
|
157
203
|
var queue = [{
|
158
204
|
parent: fragment,
|
159
205
|
items: this.outline
|
160
206
|
}];
|
161
207
|
var hasAnyNesting = false;
|
208
|
+
|
162
209
|
while (queue.length > 0) {
|
163
210
|
var levelData = queue.shift();
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
this.
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
211
|
+
var _iteratorNormalCompletion2 = true;
|
212
|
+
var _didIteratorError2 = false;
|
213
|
+
var _iteratorError2 = undefined;
|
214
|
+
|
215
|
+
try {
|
216
|
+
for (var _iterator2 = levelData.items[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
217
|
+
var item = _step2.value;
|
218
|
+
var div = document.createElement('div');
|
219
|
+
div.className = 'outlineItem';
|
220
|
+
var element = document.createElement('a');
|
221
|
+
|
222
|
+
this._bindLink(element, item);
|
223
|
+
|
224
|
+
this._setStyles(element, item);
|
225
|
+
|
226
|
+
element.textContent = (0, _pdf.removeNullCharacters)(item.title) || DEFAULT_TITLE;
|
227
|
+
div.appendChild(element);
|
228
|
+
|
229
|
+
if (item.items.length > 0) {
|
230
|
+
hasAnyNesting = true;
|
231
|
+
|
232
|
+
this._addToggleButton(div, item);
|
233
|
+
|
234
|
+
var itemsDiv = document.createElement('div');
|
235
|
+
itemsDiv.className = 'outlineItems';
|
236
|
+
div.appendChild(itemsDiv);
|
237
|
+
queue.push({
|
238
|
+
parent: itemsDiv,
|
239
|
+
items: item.items
|
240
|
+
});
|
241
|
+
}
|
242
|
+
|
243
|
+
levelData.parent.appendChild(div);
|
244
|
+
outlineCount++;
|
245
|
+
}
|
246
|
+
} catch (err) {
|
247
|
+
_didIteratorError2 = true;
|
248
|
+
_iteratorError2 = err;
|
249
|
+
} finally {
|
250
|
+
try {
|
251
|
+
if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
|
252
|
+
_iterator2["return"]();
|
253
|
+
}
|
254
|
+
} finally {
|
255
|
+
if (_didIteratorError2) {
|
256
|
+
throw _iteratorError2;
|
257
|
+
}
|
183
258
|
}
|
184
|
-
levelData.parent.appendChild(div);
|
185
|
-
outlineCount++;
|
186
259
|
}
|
187
260
|
}
|
261
|
+
|
188
262
|
if (hasAnyNesting) {
|
189
263
|
this.container.classList.add('outlineWithDeepNesting');
|
264
|
+
this.lastToggleIsShow = fragment.querySelectorAll('.outlineItemsHidden').length === 0;
|
190
265
|
}
|
266
|
+
|
191
267
|
this.container.appendChild(fragment);
|
268
|
+
|
192
269
|
this._dispatchEvent(outlineCount);
|
193
270
|
}
|
194
271
|
}]);
|