pdfjs-dist 2.5.207 → 2.6.347
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 +867 -216
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +1 -1
- package/build/pdf.worker.js +10214 -8547
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +1 -1
- package/es5/build/pdf.js +2023 -1046
- package/es5/build/pdf.js.map +1 -1
- package/es5/build/pdf.min.js +22 -0
- package/es5/build/pdf.worker.js +11136 -8144
- package/es5/build/pdf.worker.js.map +1 -1
- package/es5/build/pdf.worker.min.js +22 -0
- package/es5/image_decoders/pdf.image_decoders.js +12529 -0
- package/es5/image_decoders/pdf.image_decoders.js.map +1 -0
- package/es5/image_decoders/pdf.image_decoders.min.js +22 -0
- package/es5/web/images/shadow.png +0 -0
- package/es5/web/pdf_viewer.css +8 -5
- package/es5/web/pdf_viewer.js +195 -51
- package/es5/web/pdf_viewer.js.map +1 -1
- package/image_decoders/pdf.image_decoders.js +24 -16
- package/image_decoders/pdf.image_decoders.js.map +1 -1
- package/image_decoders/pdf.image_decoders.min.js +1 -1
- package/lib/core/annotation.js +479 -43
- package/lib/core/cff_parser.js +643 -615
- package/lib/core/chunked_stream.js +64 -50
- package/lib/core/colorspace.js +126 -104
- package/lib/core/crypto.js +37 -0
- package/lib/core/document.js +128 -75
- package/lib/core/evaluator.js +3015 -2754
- package/lib/core/fonts.js +47 -46
- package/lib/core/function.js +79 -6
- package/lib/core/image.js +364 -357
- package/lib/core/image_utils.js +109 -8
- package/lib/core/jpg.js +8 -3
- package/lib/core/obj.js +255 -34
- package/lib/core/operator_list.js +17 -15
- package/lib/core/parser.js +40 -3
- package/lib/core/pattern.js +24 -11
- package/lib/core/primitives.js +112 -53
- package/lib/core/type1_parser.js +2 -0
- package/lib/core/worker.js +102 -37
- package/lib/core/writer.js +242 -0
- package/lib/display/annotation_layer.js +51 -10
- package/lib/display/annotation_storage.js +89 -0
- package/lib/display/api.js +140 -54
- package/lib/display/canvas.js +215 -46
- package/lib/display/display_utils.js +55 -18
- package/lib/display/fetch_stream.js +6 -0
- package/lib/display/font_loader.js +26 -15
- package/lib/display/metadata.js +1 -7
- package/lib/display/network.js +0 -14
- package/lib/display/node_utils.js +87 -0
- package/lib/display/optional_content_config.js +184 -0
- package/lib/display/svg.js +1 -1
- package/lib/display/text_layer.js +4 -1
- package/lib/pdf.js +2 -2
- package/lib/pdf.worker.js +2 -2
- package/lib/shared/is_node.js +1 -1
- package/lib/shared/util.js +13 -10
- package/lib/test/unit/annotation_spec.js +520 -50
- package/lib/test/unit/annotation_storage_spec.js +83 -0
- package/lib/test/unit/api_spec.js +16 -6
- package/lib/test/unit/cmap_spec.js +4 -4
- package/lib/test/unit/colorspace_spec.js +216 -24
- package/lib/test/unit/crypto_spec.js +51 -4
- package/lib/test/unit/custom_spec.js +129 -1
- package/lib/test/unit/document_spec.js +112 -1
- package/lib/test/unit/evaluator_spec.js +29 -10
- package/lib/test/unit/jasmine-boot.js +1 -1
- package/lib/test/unit/metadata_spec.js +3 -3
- package/lib/test/unit/primitives_spec.js +242 -63
- package/lib/test/unit/test_utils.js +42 -89
- package/lib/test/unit/testreporter.js +17 -6
- package/lib/test/unit/util_spec.js +13 -12
- package/lib/test/unit/writer_spec.js +84 -0
- package/lib/web/annotation_layer_builder.js +13 -9
- package/lib/web/app.js +231 -26
- package/lib/web/app_options.js +1 -6
- package/lib/web/base_tree_viewer.js +100 -0
- package/lib/web/base_viewer.js +53 -4
- package/lib/web/download_manager.js +3 -10
- package/lib/web/firefox_print_service.js +32 -12
- package/lib/web/firefoxcom.js +20 -6
- package/lib/web/interfaces.js +1 -1
- package/lib/web/pdf_attachment_viewer.js +80 -38
- package/lib/web/pdf_find_controller.js +2 -1
- package/lib/web/pdf_layer_viewer.js +208 -0
- package/lib/web/pdf_outline_viewer.js +24 -57
- package/lib/web/pdf_page_view.js +29 -6
- package/lib/web/pdf_print_service.js +13 -11
- package/lib/web/pdf_sidebar.js +46 -25
- package/lib/web/pdf_thumbnail_view.js +16 -3
- package/lib/web/pdf_thumbnail_viewer.js +17 -1
- package/lib/web/pdf_viewer.component.js +2 -2
- package/lib/web/preferences.js +1 -1
- package/lib/web/toolbar.js +1 -1
- package/lib/web/ui_utils.js +7 -1
- package/package.json +3 -1
- package/types/display/annotation_layer.d.ts +61 -0
- package/types/display/annotation_storage.d.ts +36 -0
- package/types/display/api.d.ts +1107 -0
- package/types/display/api_compatibility.d.ts +1 -0
- package/types/display/canvas.d.ts +4 -0
- package/types/display/content_disposition.d.ts +7 -0
- package/types/display/display_utils.d.ts +243 -0
- package/types/display/fetch_stream.d.ts +67 -0
- package/types/display/font_loader.d.ts +19 -0
- package/types/display/metadata.d.ts +9 -0
- package/types/display/network.d.ts +80 -0
- package/types/display/network_utils.d.ts +14 -0
- package/types/display/node_stream.d.ts +72 -0
- package/types/display/node_utils.d.ts +6 -0
- package/types/display/optional_content_config.d.ts +12 -0
- package/types/display/pattern_helper.d.ts +5 -0
- package/types/display/svg.d.ts +2 -0
- package/types/display/text_layer.d.ts +83 -0
- package/types/display/transport_stream.d.ts +57 -0
- package/types/display/webgl.d.ts +20 -0
- package/types/display/worker_options.d.ts +27 -0
- package/types/display/xml_parser.d.ts +35 -0
- package/types/pdf.d.ts +33 -0
- package/types/shared/compatibility.d.ts +1 -0
- package/types/shared/is_node.d.ts +1 -0
- package/types/shared/message_handler.d.ts +62 -0
- package/types/shared/util.d.ts +421 -0
- package/web/images/shadow.png +0 -0
- package/web/pdf_viewer.css +8 -5
- package/web/pdf_viewer.js +109 -33
- package/web/pdf_viewer.js.map +1 -1
- package/webpack.js +1 -9
- package/es5/web/images/texture.png +0 -0
- package/web/images/texture.png +0 -0
@@ -79,8 +79,10 @@ class PDFThumbnailView {
|
|
79
79
|
container,
|
80
80
|
id,
|
81
81
|
defaultViewport,
|
82
|
+
optionalContentConfigPromise,
|
82
83
|
linkService,
|
83
84
|
renderingQueue,
|
85
|
+
checkSetImageDisabled,
|
84
86
|
disableCanvasToImageConversion = false,
|
85
87
|
l10n = _ui_utils.NullL10n
|
86
88
|
}) {
|
@@ -91,11 +93,17 @@ class PDFThumbnailView {
|
|
91
93
|
this.rotation = 0;
|
92
94
|
this.viewport = defaultViewport;
|
93
95
|
this.pdfPageRotate = defaultViewport.rotation;
|
96
|
+
this._optionalContentConfigPromise = optionalContentConfigPromise || null;
|
94
97
|
this.linkService = linkService;
|
95
98
|
this.renderingQueue = renderingQueue;
|
96
99
|
this.renderTask = null;
|
97
100
|
this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;
|
98
101
|
this.resume = null;
|
102
|
+
|
103
|
+
this._checkSetImageDisabled = checkSetImageDisabled || function () {
|
104
|
+
return false;
|
105
|
+
};
|
106
|
+
|
99
107
|
this.disableCanvasToImageConversion = disableCanvasToImageConversion;
|
100
108
|
this.pageWidth = this.viewport.width;
|
101
109
|
this.pageHeight = this.viewport.height;
|
@@ -320,7 +328,8 @@ class PDFThumbnailView {
|
|
320
328
|
|
321
329
|
const renderContext = {
|
322
330
|
canvasContext: ctx,
|
323
|
-
viewport: drawViewport
|
331
|
+
viewport: drawViewport,
|
332
|
+
optionalContentConfigPromise: this._optionalContentConfigPromise
|
324
333
|
};
|
325
334
|
const renderTask = this.renderTask = pdfPage.render(renderContext);
|
326
335
|
renderTask.onContinue = renderContinueCallback;
|
@@ -333,6 +342,10 @@ class PDFThumbnailView {
|
|
333
342
|
}
|
334
343
|
|
335
344
|
setImage(pageView) {
|
345
|
+
if (this._checkSetImageDisabled()) {
|
346
|
+
return;
|
347
|
+
}
|
348
|
+
|
336
349
|
if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {
|
337
350
|
return;
|
338
351
|
}
|
@@ -386,13 +399,13 @@ class PDFThumbnailView {
|
|
386
399
|
|
387
400
|
get _thumbPageTitle() {
|
388
401
|
return this.l10n.get("thumb_page_title", {
|
389
|
-
page: this.pageLabel
|
402
|
+
page: this.pageLabel ?? this.id
|
390
403
|
}, "Page {{page}}");
|
391
404
|
}
|
392
405
|
|
393
406
|
get _thumbPageCanvas() {
|
394
407
|
return this.l10n.get("thumb_page_canvas", {
|
395
|
-
page: this.pageLabel
|
408
|
+
page: this.pageLabel ?? this.id
|
396
409
|
}, "Thumbnail of Page {{page}}");
|
397
410
|
}
|
398
411
|
|
@@ -36,6 +36,7 @@ const THUMBNAIL_SELECTED_CLASS = "selected";
|
|
36
36
|
class PDFThumbnailViewer {
|
37
37
|
constructor({
|
38
38
|
container,
|
39
|
+
eventBus,
|
39
40
|
linkService,
|
40
41
|
renderingQueue,
|
41
42
|
l10n = _ui_utils.NullL10n
|
@@ -47,6 +48,10 @@ class PDFThumbnailViewer {
|
|
47
48
|
this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdated.bind(this));
|
48
49
|
|
49
50
|
this._resetView();
|
51
|
+
|
52
|
+
eventBus._on("optionalcontentconfigchanged", () => {
|
53
|
+
this._setImageDisabled = true;
|
54
|
+
});
|
50
55
|
}
|
51
56
|
|
52
57
|
_scrollUpdated() {
|
@@ -144,7 +149,9 @@ class PDFThumbnailViewer {
|
|
144
149
|
this._currentPageNumber = 1;
|
145
150
|
this._pageLabels = null;
|
146
151
|
this._pagesRotation = 0;
|
152
|
+
this._optionalContentConfigPromise = null;
|
147
153
|
this._pagesRequests = new WeakMap();
|
154
|
+
this._setImageDisabled = false;
|
148
155
|
this.container.textContent = "";
|
149
156
|
}
|
150
157
|
|
@@ -161,19 +168,28 @@ class PDFThumbnailViewer {
|
|
161
168
|
return;
|
162
169
|
}
|
163
170
|
|
164
|
-
pdfDocument.getPage(1)
|
171
|
+
const firstPagePromise = pdfDocument.getPage(1);
|
172
|
+
const optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();
|
173
|
+
firstPagePromise.then(firstPdfPage => {
|
174
|
+
this._optionalContentConfigPromise = optionalContentConfigPromise;
|
165
175
|
const pagesCount = pdfDocument.numPages;
|
166
176
|
const viewport = firstPdfPage.getViewport({
|
167
177
|
scale: 1
|
168
178
|
});
|
169
179
|
|
180
|
+
const checkSetImageDisabled = () => {
|
181
|
+
return this._setImageDisabled;
|
182
|
+
};
|
183
|
+
|
170
184
|
for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {
|
171
185
|
const thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({
|
172
186
|
container: this.container,
|
173
187
|
id: pageNum,
|
174
188
|
defaultViewport: viewport.clone(),
|
189
|
+
optionalContentConfigPromise,
|
175
190
|
linkService: this.linkService,
|
176
191
|
renderingQueue: this.renderingQueue,
|
192
|
+
checkSetImageDisabled,
|
177
193
|
disableCanvasToImageConversion: false,
|
178
194
|
l10n: this.l10n
|
179
195
|
});
|
@@ -143,5 +143,5 @@ var _pdf_single_page_viewer = require("./pdf_single_page_viewer.js");
|
|
143
143
|
|
144
144
|
var _pdf_viewer = require("./pdf_viewer.js");
|
145
145
|
|
146
|
-
const pdfjsVersion = '2.
|
147
|
-
const pdfjsBuild = '
|
146
|
+
const pdfjsVersion = '2.6.347';
|
147
|
+
const pdfjsBuild = '3be9c65f';
|
package/lib/web/preferences.js
CHANGED
@@ -44,7 +44,7 @@ function getDefaultPreferences() {
|
|
44
44
|
"ignoreDestinationZoom": false,
|
45
45
|
"pdfBugEnabled": false,
|
46
46
|
"renderer": "canvas",
|
47
|
-
"renderInteractiveForms":
|
47
|
+
"renderInteractiveForms": true,
|
48
48
|
"sidebarViewOnLoad": -1,
|
49
49
|
"scrollModeOnLoad": -1,
|
50
50
|
"spreadModeOnLoad": -1,
|
package/lib/web/toolbar.js
CHANGED
@@ -268,7 +268,7 @@ class Toolbar {
|
|
268
268
|
}
|
269
269
|
|
270
270
|
const overflow = SCALE_SELECT_WIDTH - SCALE_SELECT_CONTAINER_WIDTH;
|
271
|
-
maxWidth +=
|
271
|
+
maxWidth += 2 * overflow;
|
272
272
|
|
273
273
|
if (maxWidth > SCALE_SELECT_CONTAINER_WIDTH) {
|
274
274
|
items.scaleSelect.style.width = `${maxWidth + overflow}px`;
|
package/lib/web/ui_utils.js
CHANGED
@@ -41,6 +41,7 @@ exports.getOutputScale = getOutputScale;
|
|
41
41
|
exports.scrollIntoView = scrollIntoView;
|
42
42
|
exports.watchScroll = watchScroll;
|
43
43
|
exports.binarySearchFirstItem = binarySearchFirstItem;
|
44
|
+
exports.normalizeWheelEventDirection = normalizeWheelEventDirection;
|
44
45
|
exports.normalizeWheelEventDelta = normalizeWheelEventDelta;
|
45
46
|
exports.waitOnEventOrTimeout = waitOnEventOrTimeout;
|
46
47
|
exports.moveToEndOfArray = moveToEndOfArray;
|
@@ -478,7 +479,7 @@ function getPDFFileNameFromURL(url, defaultFilename = "document.pdf") {
|
|
478
479
|
return suggestedFilename || defaultFilename;
|
479
480
|
}
|
480
481
|
|
481
|
-
function
|
482
|
+
function normalizeWheelEventDirection(evt) {
|
482
483
|
let delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);
|
483
484
|
const angle = Math.atan2(evt.deltaY, evt.deltaX);
|
484
485
|
|
@@ -486,6 +487,11 @@ function normalizeWheelEventDelta(evt) {
|
|
486
487
|
delta = -delta;
|
487
488
|
}
|
488
489
|
|
490
|
+
return delta;
|
491
|
+
}
|
492
|
+
|
493
|
+
function normalizeWheelEventDelta(evt) {
|
494
|
+
let delta = normalizeWheelEventDirection(evt);
|
489
495
|
const MOUSE_DOM_DELTA_PIXEL_MODE = 0;
|
490
496
|
const MOUSE_DOM_DELTA_LINE_MODE = 1;
|
491
497
|
const MOUSE_PIXELS_PER_LINE = 30;
|
package/package.json
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
{
|
2
2
|
"name": "pdfjs-dist",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.6.347",
|
4
4
|
"main": "build/pdf.js",
|
5
|
+
"types": "types/pdf.d.ts",
|
5
6
|
"description": "Generic build of Mozilla's PDF.js library.",
|
6
7
|
"keywords": [
|
7
8
|
"Mozilla",
|
@@ -12,6 +13,7 @@
|
|
12
13
|
"bugs": "https://github.com/mozilla/pdf.js/issues",
|
13
14
|
"license": "Apache-2.0",
|
14
15
|
"browser": {
|
16
|
+
"canvas": false,
|
15
17
|
"fs": false,
|
16
18
|
"http": false,
|
17
19
|
"https": false,
|
@@ -0,0 +1,61 @@
|
|
1
|
+
export type AnnotationElementParameters = {
|
2
|
+
data: Object;
|
3
|
+
layer: HTMLDivElement;
|
4
|
+
page: any;
|
5
|
+
viewport: any;
|
6
|
+
linkService: any;
|
7
|
+
downloadManager: any;
|
8
|
+
annotationStorage?: AnnotationStorage;
|
9
|
+
/**
|
10
|
+
* - Path for image resources, mainly
|
11
|
+
* for annotation icons. Include trailing slash.
|
12
|
+
*/
|
13
|
+
imageResourcesPath?: string;
|
14
|
+
renderInteractiveForms: boolean;
|
15
|
+
svgFactory: Object;
|
16
|
+
};
|
17
|
+
export type AnnotationLayerParameters = {
|
18
|
+
viewport: any;
|
19
|
+
div: HTMLDivElement;
|
20
|
+
annotations: any[];
|
21
|
+
page: any;
|
22
|
+
linkService: any;
|
23
|
+
downloadManager: any;
|
24
|
+
/**
|
25
|
+
* - Path for image resources, mainly
|
26
|
+
* for annotation icons. Include trailing slash.
|
27
|
+
*/
|
28
|
+
imageResourcesPath?: string;
|
29
|
+
renderInteractiveForms: boolean;
|
30
|
+
};
|
31
|
+
/**
|
32
|
+
* @typedef {Object} AnnotationLayerParameters
|
33
|
+
* @property {PageViewport} viewport
|
34
|
+
* @property {HTMLDivElement} div
|
35
|
+
* @property {Array} annotations
|
36
|
+
* @property {PDFPage} page
|
37
|
+
* @property {IPDFLinkService} linkService
|
38
|
+
* @property {DownloadManager} downloadManager
|
39
|
+
* @property {string} [imageResourcesPath] - Path for image resources, mainly
|
40
|
+
* for annotation icons. Include trailing slash.
|
41
|
+
* @property {boolean} renderInteractiveForms
|
42
|
+
*/
|
43
|
+
export class AnnotationLayer {
|
44
|
+
/**
|
45
|
+
* Render a new annotation layer with all annotation elements.
|
46
|
+
*
|
47
|
+
* @public
|
48
|
+
* @param {AnnotationLayerParameters} parameters
|
49
|
+
* @memberof AnnotationLayer
|
50
|
+
*/
|
51
|
+
public static render(parameters: AnnotationLayerParameters): void;
|
52
|
+
/**
|
53
|
+
* Update the annotation elements on existing annotation layer.
|
54
|
+
*
|
55
|
+
* @public
|
56
|
+
* @param {AnnotationLayerParameters} parameters
|
57
|
+
* @memberof AnnotationLayer
|
58
|
+
*/
|
59
|
+
public static update(parameters: AnnotationLayerParameters): void;
|
60
|
+
}
|
61
|
+
import { AnnotationStorage } from "./annotation_storage.js";
|
@@ -0,0 +1,36 @@
|
|
1
|
+
/**
|
2
|
+
* Key/value storage for annotation data in forms.
|
3
|
+
*/
|
4
|
+
export class AnnotationStorage {
|
5
|
+
_storage: Map<any, any>;
|
6
|
+
_modified: boolean;
|
7
|
+
onSetModified: any;
|
8
|
+
onResetModified: any;
|
9
|
+
/**
|
10
|
+
* Get the value for a given key if it exists
|
11
|
+
* or store and return the default value
|
12
|
+
*
|
13
|
+
* @public
|
14
|
+
* @memberof AnnotationStorage
|
15
|
+
* @param {string} key
|
16
|
+
* @param {Object} defaultValue
|
17
|
+
* @returns {Object}
|
18
|
+
*/
|
19
|
+
public getOrCreateValue(key: string, defaultValue: Object): Object;
|
20
|
+
/**
|
21
|
+
* Set the value for a given key
|
22
|
+
*
|
23
|
+
* @public
|
24
|
+
* @memberof AnnotationStorage
|
25
|
+
* @param {string} key
|
26
|
+
* @param {Object} value
|
27
|
+
*/
|
28
|
+
public setValue(key: string, value: Object): void;
|
29
|
+
getAll(): any;
|
30
|
+
get size(): number;
|
31
|
+
/**
|
32
|
+
* @private
|
33
|
+
*/
|
34
|
+
private _setModified;
|
35
|
+
resetModified(): void;
|
36
|
+
}
|