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.
- package/README.md +4 -0
- package/bower.json +1 -1
- package/build/pdf.js +6499 -17971
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +22 -1
- package/build/pdf.worker.entry.js +5 -3
- package/build/pdf.worker.js +19303 -29896
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +22 -1
- package/es5/build/pdf.js +25473 -0
- package/es5/build/pdf.js.map +1 -0
- package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
- package/es5/build/pdf.worker.js +57878 -0
- package/es5/build/pdf.worker.js.map +1 -0
- package/es5/web/images/annotation-check.svg +11 -0
- package/es5/web/images/annotation-comment.svg +16 -0
- package/es5/web/images/annotation-help.svg +26 -0
- package/es5/web/images/annotation-insert.svg +10 -0
- package/es5/web/images/annotation-key.svg +11 -0
- package/es5/web/images/annotation-newparagraph.svg +11 -0
- package/es5/web/images/annotation-noicon.svg +7 -0
- package/es5/web/images/annotation-note.svg +42 -0
- package/es5/web/images/annotation-paragraph.svg +16 -0
- package/es5/web/images/loading-icon.gif +0 -0
- package/es5/web/images/shadow.png +0 -0
- package/es5/web/images/texture.png +0 -0
- package/es5/web/pdf_viewer.css +407 -0
- package/es5/web/pdf_viewer.js +7757 -0
- package/es5/web/pdf_viewer.js.map +1 -0
- package/image_decoders/pdf.image_decoders.js +1333 -4839
- package/image_decoders/pdf.image_decoders.js.map +1 -1
- package/image_decoders/pdf.image_decoders.min.js +22 -1
- package/lib/README.md +7 -0
- package/lib/core/annotation.js +683 -1066
- package/lib/core/arithmetic_decoder.js +81 -97
- package/lib/core/bidi.js +54 -46
- package/lib/core/ccitt.js +88 -81
- package/lib/core/ccitt_stream.js +15 -14
- package/lib/core/cff_parser.js +196 -193
- package/lib/core/charsets.js +4 -4
- package/lib/core/chunked_stream.js +441 -569
- package/lib/core/cmap.js +220 -279
- package/lib/core/colorspace.js +699 -863
- package/lib/core/core_utils.js +59 -80
- package/lib/core/crypto.js +379 -437
- package/lib/core/document.js +564 -673
- package/lib/core/encodings.js +15 -15
- package/lib/core/evaluator.js +983 -889
- package/lib/core/font_renderer.js +128 -171
- package/lib/core/fonts.js +451 -400
- package/lib/core/function.js +289 -285
- package/lib/core/glyphlist.js +4527 -4527
- package/lib/core/image.js +138 -117
- package/lib/core/image_utils.js +46 -63
- package/lib/core/jbig2.js +324 -332
- package/lib/core/jbig2_stream.js +18 -17
- package/lib/core/jpeg_stream.js +133 -24
- package/lib/core/jpg.js +238 -210
- package/lib/core/jpx.js +158 -157
- package/lib/core/jpx_stream.js +28 -28
- package/lib/core/metrics.js +2928 -2928
- package/lib/core/murmurhash3.js +87 -102
- package/lib/core/obj.js +1111 -1302
- package/lib/core/operator_list.js +55 -42
- package/lib/core/parser.js +956 -987
- package/lib/core/pattern.js +69 -69
- package/lib/core/pdf_manager.js +149 -316
- package/lib/core/primitives.js +45 -77
- package/lib/core/ps_parser.js +175 -214
- package/lib/core/standard_fonts.js +237 -236
- package/lib/core/stream.js +83 -77
- package/lib/core/type1_parser.js +78 -68
- package/lib/core/unicode.js +1654 -1654
- package/lib/core/worker.js +148 -196
- package/lib/core/worker_stream.js +101 -210
- package/lib/display/annotation_layer.js +733 -1155
- package/lib/display/api.js +1539 -1928
- package/lib/display/api_compatibility.js +10 -8
- package/lib/display/canvas.js +159 -158
- package/lib/display/content_disposition.js +36 -55
- package/lib/display/display_utils.js +298 -551
- package/lib/display/fetch_stream.js +181 -305
- package/lib/display/font_loader.js +273 -416
- package/lib/display/metadata.js +86 -98
- package/lib/display/network.js +376 -511
- package/lib/display/network_utils.js +20 -19
- package/lib/display/node_stream.js +276 -460
- package/lib/display/pattern_helper.js +76 -44
- package/lib/display/svg.js +1137 -1405
- package/lib/display/text_layer.js +75 -82
- package/lib/display/transport_stream.js +236 -374
- package/lib/display/webgl.js +70 -83
- package/lib/display/worker_options.js +3 -3
- package/lib/display/xml_parser.js +303 -392
- package/lib/examples/node/domstubs.js +37 -37
- package/lib/pdf.js +22 -21
- package/lib/pdf.worker.js +5 -5
- package/lib/shared/compatibility.js +2 -251
- package/lib/shared/is_node.js +7 -6
- package/lib/shared/message_handler.js +222 -194
- package/lib/shared/util.js +269 -405
- package/lib/test/unit/annotation_spec.js +1089 -1014
- package/lib/test/unit/api_spec.js +617 -544
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +63 -62
- package/lib/test/unit/clitests_helper.js +7 -9
- package/lib/test/unit/cmap_spec.js +84 -86
- package/lib/test/unit/colorspace_spec.js +154 -154
- package/lib/test/unit/core_utils_spec.js +125 -105
- package/lib/test/unit/crypto_spec.js +181 -181
- package/lib/test/unit/custom_spec.js +22 -24
- package/lib/test/unit/display_svg_spec.js +35 -36
- package/lib/test/unit/display_utils_spec.js +139 -149
- package/lib/test/unit/document_spec.js +16 -16
- package/lib/test/unit/encodings_spec.js +12 -34
- package/lib/test/unit/evaluator_spec.js +81 -95
- package/lib/test/unit/fetch_stream_spec.js +30 -30
- package/lib/test/unit/function_spec.js +206 -204
- package/lib/test/unit/jasmine-boot.js +48 -32
- package/lib/test/unit/message_handler_spec.js +172 -162
- package/lib/test/unit/metadata_spec.js +69 -69
- package/lib/test/unit/murmurhash3_spec.js +12 -12
- package/lib/test/unit/network_spec.js +12 -12
- package/lib/test/unit/network_utils_spec.js +152 -152
- package/lib/test/unit/node_stream_spec.js +74 -90
- package/lib/test/unit/parser_spec.js +107 -113
- package/lib/test/unit/pdf_find_controller_spec.js +55 -86
- package/lib/test/unit/pdf_find_utils_spec.js +32 -32
- package/lib/test/unit/pdf_history_spec.js +32 -32
- package/lib/test/unit/primitives_spec.js +117 -115
- package/lib/test/unit/stream_spec.js +16 -14
- package/lib/test/unit/test_utils.js +119 -285
- package/lib/test/unit/testreporter.js +19 -19
- package/lib/test/unit/type1_parser_spec.js +41 -41
- package/lib/test/unit/ui_utils_spec.js +318 -426
- package/lib/test/unit/unicode_spec.js +42 -42
- package/lib/test/unit/util_spec.js +122 -143
- package/lib/web/annotation_layer_builder.js +66 -103
- package/lib/web/app.js +1166 -1196
- package/lib/web/app_options.js +61 -77
- package/lib/web/base_viewer.js +804 -850
- package/lib/web/chromecom.js +164 -249
- package/lib/web/debugger.js +149 -205
- package/lib/web/download_manager.js +38 -57
- package/lib/web/firefox_print_service.js +35 -30
- package/lib/web/firefoxcom.js +175 -374
- package/lib/web/genericcom.js +26 -108
- package/lib/web/genericl10n.js +24 -153
- package/lib/web/grab_to_pan.js +30 -30
- package/lib/web/interfaces.js +80 -258
- package/lib/web/overlay_manager.js +70 -246
- package/lib/web/password_prompt.js +38 -64
- package/lib/web/pdf_attachment_viewer.js +105 -130
- package/lib/web/pdf_cursor_tools.js +75 -102
- package/lib/web/pdf_document_properties.js +227 -376
- package/lib/web/pdf_find_bar.js +137 -171
- package/lib/web/pdf_find_controller.js +492 -549
- package/lib/web/pdf_find_utils.js +13 -13
- package/lib/web/pdf_history.js +395 -406
- package/lib/web/pdf_link_service.js +302 -349
- package/lib/web/pdf_outline_viewer.js +148 -209
- package/lib/web/pdf_page_view.js +449 -507
- package/lib/web/pdf_presentation_mode.js +304 -357
- package/lib/web/pdf_print_service.js +90 -104
- package/lib/web/pdf_rendering_queue.js +87 -108
- package/lib/web/pdf_sidebar.js +264 -304
- package/lib/web/pdf_sidebar_resizer.js +92 -119
- package/lib/web/pdf_single_page_viewer.js +77 -126
- package/lib/web/pdf_thumbnail_view.js +276 -297
- package/lib/web/pdf_thumbnail_viewer.js +186 -206
- package/lib/web/pdf_viewer.component.js +20 -21
- package/lib/web/pdf_viewer.js +55 -115
- package/lib/web/preferences.js +66 -273
- package/lib/web/secondary_toolbar.js +164 -196
- package/lib/web/text_layer_builder.js +284 -317
- package/lib/web/toolbar.js +216 -211
- package/lib/web/ui_utils.js +303 -404
- package/lib/web/view_history.js +49 -222
- package/lib/web/viewer_compatibility.js +7 -5
- package/package.json +2 -9
- package/web/pdf_viewer.css +25 -18
- package/web/pdf_viewer.js +3481 -4764
- package/web/pdf_viewer.js.map +1 -1
- package/webpack.js +14 -5
- 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
|
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.
|
@@ -21,113 +21,97 @@
|
|
21
21
|
*/
|
22
22
|
"use strict";
|
23
23
|
|
24
|
-
var _util = require("../../shared/util");
|
24
|
+
var _util = require("../../shared/util.js");
|
25
25
|
|
26
|
-
var _is_node =
|
26
|
+
var _is_node = require("../../shared/is_node.js");
|
27
27
|
|
28
|
-
var _node_stream = require("../../display/node_stream");
|
28
|
+
var _node_stream = require("../../display/node_stream.js");
|
29
29
|
|
30
|
-
|
30
|
+
(0, _util.assert)(_is_node.isNodeJS);
|
31
31
|
|
32
|
-
|
32
|
+
const path = require("path");
|
33
33
|
|
34
|
-
|
34
|
+
const url = require("url");
|
35
35
|
|
36
|
-
|
36
|
+
const http = require("http");
|
37
37
|
|
38
|
-
|
38
|
+
const fs = require("fs");
|
39
39
|
|
40
|
-
(
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
describe('node_stream', function () {
|
51
|
-
var server = null;
|
52
|
-
var port = null;
|
53
|
-
var pdf = url.parse(encodeURI('file://' + path.join(process.cwd(), './test/pdfs/tracemonkey.pdf'))).href;
|
54
|
-
var pdfLength = 1016315;
|
55
|
-
beforeAll(function (done) {
|
56
|
-
server = http.createServer(function (request, response) {
|
57
|
-
var filePath = process.cwd() + '/test/pdfs' + request.url;
|
58
|
-
fs.lstat(filePath, function (error, stat) {
|
40
|
+
describe("node_stream", function () {
|
41
|
+
let server = null;
|
42
|
+
let port = null;
|
43
|
+
const pdf = url.parse(encodeURI("file://" + path.join(process.cwd(), "./test/pdfs/tracemonkey.pdf"))).href;
|
44
|
+
const pdfLength = 1016315;
|
45
|
+
beforeAll(done => {
|
46
|
+
server = http.createServer((request, response) => {
|
47
|
+
const filePath = process.cwd() + "/test/pdfs" + request.url;
|
48
|
+
fs.lstat(filePath, (error, stat) => {
|
59
49
|
if (error) {
|
60
50
|
response.writeHead(404);
|
61
|
-
response.end(
|
51
|
+
response.end(`File ${request.url} not found!`);
|
62
52
|
return;
|
63
53
|
}
|
64
54
|
|
65
|
-
if (!request.headers[
|
66
|
-
|
67
|
-
|
55
|
+
if (!request.headers["range"]) {
|
56
|
+
const contentLength = stat.size;
|
57
|
+
const stream = fs.createReadStream(filePath);
|
68
58
|
response.writeHead(200, {
|
69
|
-
|
70
|
-
|
71
|
-
|
59
|
+
"Content-Type": "application/pdf",
|
60
|
+
"Content-Length": contentLength,
|
61
|
+
"Accept-Ranges": "bytes"
|
72
62
|
});
|
73
63
|
stream.pipe(response);
|
74
64
|
} else {
|
75
|
-
|
65
|
+
const [start, end] = request.headers["range"].split("=")[1].split("-").map(x => {
|
76
66
|
return Number(x);
|
77
|
-
}),
|
78
|
-
_request$headers$rang2 = _slicedToArray(_request$headers$rang, 2),
|
79
|
-
start = _request$headers$rang2[0],
|
80
|
-
end = _request$headers$rang2[1];
|
81
|
-
|
82
|
-
var _stream = fs.createReadStream(filePath, {
|
83
|
-
start: start,
|
84
|
-
end: end
|
85
67
|
});
|
86
|
-
|
68
|
+
const stream = fs.createReadStream(filePath, {
|
69
|
+
start,
|
70
|
+
end
|
71
|
+
});
|
87
72
|
response.writeHead(206, {
|
88
|
-
|
73
|
+
"Content-Type": "application/pdf"
|
89
74
|
});
|
90
|
-
|
91
|
-
_stream.pipe(response);
|
75
|
+
stream.pipe(response);
|
92
76
|
}
|
93
77
|
});
|
94
78
|
}).listen(0);
|
95
79
|
port = server.address().port;
|
96
80
|
done();
|
97
81
|
});
|
98
|
-
afterAll(
|
82
|
+
afterAll(done => {
|
99
83
|
server.close();
|
100
84
|
done();
|
101
85
|
});
|
102
|
-
it(
|
103
|
-
|
104
|
-
url:
|
86
|
+
it("read both http(s) and filesystem pdf files", function (done) {
|
87
|
+
const stream1 = new _node_stream.PDFNodeStream({
|
88
|
+
url: `http://127.0.0.1:${port}/tracemonkey.pdf`,
|
105
89
|
rangeChunkSize: 65536,
|
106
90
|
disableStream: true,
|
107
91
|
disableRange: true
|
108
92
|
});
|
109
|
-
|
93
|
+
const stream2 = new _node_stream.PDFNodeStream({
|
110
94
|
url: pdf,
|
111
95
|
rangeChunkSize: 65536,
|
112
96
|
disableStream: true,
|
113
97
|
disableRange: true
|
114
98
|
});
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
99
|
+
const fullReader1 = stream1.getFullReader();
|
100
|
+
const fullReader2 = stream2.getFullReader();
|
101
|
+
let isStreamingSupported1, isRangeSupported1;
|
102
|
+
const promise1 = fullReader1.headersReady.then(() => {
|
119
103
|
isStreamingSupported1 = fullReader1.isStreamingSupported;
|
120
104
|
isRangeSupported1 = fullReader1.isRangeSupported;
|
121
105
|
});
|
122
|
-
|
123
|
-
|
106
|
+
let isStreamingSupported2, isRangeSupported2;
|
107
|
+
const promise2 = fullReader2.headersReady.then(() => {
|
124
108
|
isStreamingSupported2 = fullReader2.isStreamingSupported;
|
125
109
|
isRangeSupported2 = fullReader2.isRangeSupported;
|
126
110
|
});
|
127
|
-
|
111
|
+
let len1 = 0,
|
128
112
|
len2 = 0;
|
129
113
|
|
130
|
-
|
114
|
+
const read1 = function () {
|
131
115
|
return fullReader1.read().then(function (result) {
|
132
116
|
if (result.done) {
|
133
117
|
return undefined;
|
@@ -138,7 +122,7 @@ describe('node_stream', function () {
|
|
138
122
|
});
|
139
123
|
};
|
140
124
|
|
141
|
-
|
125
|
+
const read2 = function () {
|
142
126
|
return fullReader2.read().then(function (result) {
|
143
127
|
if (result.done) {
|
144
128
|
return undefined;
|
@@ -149,8 +133,8 @@ describe('node_stream', function () {
|
|
149
133
|
});
|
150
134
|
};
|
151
135
|
|
152
|
-
|
153
|
-
readPromise.then(
|
136
|
+
const readPromise = Promise.all([read1(), read2(), promise1, promise2]);
|
137
|
+
readPromise.then(result => {
|
154
138
|
expect(isStreamingSupported1).toEqual(false);
|
155
139
|
expect(isRangeSupported1).toEqual(false);
|
156
140
|
expect(isStreamingSupported2).toEqual(false);
|
@@ -158,61 +142,61 @@ describe('node_stream', function () {
|
|
158
142
|
expect(len1).toEqual(pdfLength);
|
159
143
|
expect(len1).toEqual(len2);
|
160
144
|
done();
|
161
|
-
})
|
145
|
+
}).catch(reason => {
|
162
146
|
done.fail(reason);
|
163
147
|
});
|
164
148
|
});
|
165
|
-
it(
|
166
|
-
|
167
|
-
|
168
|
-
url:
|
149
|
+
it("read custom ranges for both http(s) and filesystem urls", function (done) {
|
150
|
+
const rangeSize = 32768;
|
151
|
+
const stream1 = new _node_stream.PDFNodeStream({
|
152
|
+
url: `http://127.0.0.1:${port}/tracemonkey.pdf`,
|
169
153
|
length: pdfLength,
|
170
154
|
rangeChunkSize: rangeSize,
|
171
155
|
disableStream: true,
|
172
156
|
disableRange: false
|
173
157
|
});
|
174
|
-
|
158
|
+
const stream2 = new _node_stream.PDFNodeStream({
|
175
159
|
url: pdf,
|
176
160
|
length: pdfLength,
|
177
161
|
rangeChunkSize: rangeSize,
|
178
162
|
disableStream: true,
|
179
163
|
disableRange: false
|
180
164
|
});
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
165
|
+
const fullReader1 = stream1.getFullReader();
|
166
|
+
const fullReader2 = stream2.getFullReader();
|
167
|
+
let isStreamingSupported1, isRangeSupported1, fullReaderCancelled1;
|
168
|
+
let isStreamingSupported2, isRangeSupported2, fullReaderCancelled2;
|
169
|
+
const promise1 = fullReader1.headersReady.then(function () {
|
186
170
|
isStreamingSupported1 = fullReader1.isStreamingSupported;
|
187
171
|
isRangeSupported1 = fullReader1.isRangeSupported;
|
188
|
-
fullReader1.cancel(new _util.AbortException(
|
172
|
+
fullReader1.cancel(new _util.AbortException("Don't need fullReader1."));
|
189
173
|
fullReaderCancelled1 = true;
|
190
174
|
});
|
191
|
-
|
175
|
+
const promise2 = fullReader2.headersReady.then(function () {
|
192
176
|
isStreamingSupported2 = fullReader2.isStreamingSupported;
|
193
177
|
isRangeSupported2 = fullReader2.isRangeSupported;
|
194
|
-
fullReader2.cancel(new _util.AbortException(
|
178
|
+
fullReader2.cancel(new _util.AbortException("Don't need fullReader2."));
|
195
179
|
fullReaderCancelled2 = true;
|
196
180
|
});
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
181
|
+
const tailSize = pdfLength % rangeSize || rangeSize;
|
182
|
+
const range11Reader = stream1.getRangeReader(pdfLength - tailSize - rangeSize, pdfLength - tailSize);
|
183
|
+
const range12Reader = stream1.getRangeReader(pdfLength - tailSize, pdfLength);
|
184
|
+
const range21Reader = stream2.getRangeReader(pdfLength - tailSize - rangeSize, pdfLength - tailSize);
|
185
|
+
const range22Reader = stream2.getRangeReader(pdfLength - tailSize, pdfLength);
|
186
|
+
const result11 = {
|
203
187
|
value: 0
|
204
188
|
},
|
205
|
-
|
189
|
+
result12 = {
|
206
190
|
value: 0
|
207
191
|
};
|
208
|
-
|
192
|
+
const result21 = {
|
209
193
|
value: 0
|
210
194
|
},
|
211
|
-
|
195
|
+
result22 = {
|
212
196
|
value: 0
|
213
197
|
};
|
214
198
|
|
215
|
-
|
199
|
+
const read = function (reader, lenResult) {
|
216
200
|
return reader.read().then(function (result) {
|
217
201
|
if (result.done) {
|
218
202
|
return undefined;
|
@@ -223,7 +207,7 @@ describe('node_stream', function () {
|
|
223
207
|
});
|
224
208
|
};
|
225
209
|
|
226
|
-
|
210
|
+
const readPromises = Promise.all([read(range11Reader, result11), read(range12Reader, result12), read(range21Reader, result21), read(range22Reader, result22), promise1, promise2]);
|
227
211
|
readPromises.then(function () {
|
228
212
|
expect(result11.value).toEqual(rangeSize);
|
229
213
|
expect(result12.value).toEqual(tailSize);
|
@@ -236,7 +220,7 @@ describe('node_stream', function () {
|
|
236
220
|
expect(isRangeSupported2).toEqual(true);
|
237
221
|
expect(fullReaderCancelled2).toEqual(true);
|
238
222
|
done();
|
239
|
-
})
|
223
|
+
}).catch(function (reason) {
|
240
224
|
done.fail(reason);
|
241
225
|
});
|
242
226
|
});
|