@chialab/pdfjs-lib 1.0.0-alpha.11 → 1.0.0-alpha.13
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.
- package/dist/browser/{chunk-AK2AE3GS.js → chunk-TKDBOXH4.js} +31 -39
- package/dist/browser/index.js +620 -491
- package/dist/browser/openjpeg-K2XBCFFN.js +9 -0
- package/dist/browser/qcms_bg-Q7BRLLZG.js +9 -0
- package/dist/browser/worker.js +1260 -1121
- package/dist/lib/utils.d.ts +8 -0
- package/dist/node/{chunk-WL32POZ2.js → chunk-MAMMG4XK.js} +31 -39
- package/dist/node/index.js +1034 -608
- package/dist/node/openjpeg-B2WN24QZ.js +9 -0
- package/dist/node/qcms_bg-T4RSHPOQ.js +9 -0
- package/dist/node/worker.js +1260 -1121
- package/dist/pdf.js/src/display/annotation_storage.d.ts +1 -8
- package/dist/pdf.js/src/display/api.d.ts +10 -69
- package/dist/pdf.js/src/display/api_utils.d.ts +13 -0
- package/dist/pdf.js/src/display/canvas.d.ts +2 -2
- package/dist/pdf.js/src/display/display_utils.d.ts +2 -1
- package/dist/pdf.js/src/display/editor/annotation_editor_layer.d.ts +4 -4
- package/dist/pdf.js/src/display/editor/editor.d.ts +17 -3
- package/dist/pdf.js/src/display/editor/freetext.d.ts +2 -5
- package/dist/pdf.js/src/display/editor/tools.d.ts +2 -1
- package/dist/pdf.js/src/display/metadata.d.ts +1 -2
- package/dist/pdf.js/src/display/optional_content_config.d.ts +1 -1
- package/dist/pdf.js/src/display/pdf_objects.d.ts +40 -0
- package/dist/pdf.js/src/display/text_layer.d.ts +9 -9
- package/dist/pdf.js/src/display/worker_options.d.ts +2 -2
- package/dist/pdf.js/src/pdf.d.ts +3 -2
- package/dist/pdf.js/src/shared/util.d.ts +12 -5
- package/package.json +1 -1
- package/dist/browser/openjpeg-NLAGCGEG.js +0 -9
- package/dist/browser/qcms_bg-EPYCMBVV.js +0 -9
- package/dist/node/openjpeg-O3KQE6R6.js +0 -9
- package/dist/node/qcms_bg-5Z325MLG.js +0 -9
package/dist/browser/index.js
CHANGED
|
@@ -36,16 +36,16 @@ import {
|
|
|
36
36
|
info,
|
|
37
37
|
isNodeJS,
|
|
38
38
|
normalizeUnicode,
|
|
39
|
-
objectFromMap,
|
|
40
39
|
setVerbosityLevel,
|
|
41
40
|
shadow,
|
|
42
41
|
string32,
|
|
43
42
|
stringToBytes,
|
|
44
43
|
toBase64Util,
|
|
45
44
|
unreachable,
|
|
45
|
+
updateUrlHash,
|
|
46
46
|
warn,
|
|
47
47
|
wrapReason
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-TKDBOXH4.js";
|
|
49
49
|
import {
|
|
50
50
|
__privateAdd,
|
|
51
51
|
__privateGet,
|
|
@@ -367,6 +367,9 @@ function stopEvent(e) {
|
|
|
367
367
|
e.preventDefault();
|
|
368
368
|
e.stopPropagation();
|
|
369
369
|
}
|
|
370
|
+
function deprecated(details) {
|
|
371
|
+
console.log("Deprecated API usage: " + details);
|
|
372
|
+
}
|
|
370
373
|
var _regex;
|
|
371
374
|
var PDFDateString = class {
|
|
372
375
|
/**
|
|
@@ -464,6 +467,7 @@ function getRGB(color) {
|
|
|
464
467
|
function getColorValues(colors) {
|
|
465
468
|
const span = document.createElement("span");
|
|
466
469
|
span.style.visibility = "hidden";
|
|
470
|
+
span.style.colorScheme = "only light";
|
|
467
471
|
document.body.append(span);
|
|
468
472
|
for (const name of colors.keys()) {
|
|
469
473
|
span.style.color = name;
|
|
@@ -522,8 +526,9 @@ var OutputScale = class _OutputScale {
|
|
|
522
526
|
* @returns {boolean} Returns `true` if scaling was limited,
|
|
523
527
|
* `false` otherwise.
|
|
524
528
|
*/
|
|
525
|
-
limitCanvas(width, height, maxPixels, maxDim) {
|
|
529
|
+
limitCanvas(width, height, maxPixels, maxDim, capAreaFactor = -1) {
|
|
526
530
|
let maxAreaScale = Infinity, maxWidthScale = Infinity, maxHeightScale = Infinity;
|
|
531
|
+
maxPixels = _OutputScale.capPixels(maxPixels, capAreaFactor);
|
|
527
532
|
if (maxPixels > 0) {
|
|
528
533
|
maxAreaScale = Math.sqrt(maxPixels / (width * height));
|
|
529
534
|
}
|
|
@@ -542,6 +547,15 @@ var OutputScale = class _OutputScale {
|
|
|
542
547
|
static get pixelRatio() {
|
|
543
548
|
return globalThis.devicePixelRatio || 1;
|
|
544
549
|
}
|
|
550
|
+
static capPixels(maxPixels, capAreaFactor) {
|
|
551
|
+
if (capAreaFactor >= 0) {
|
|
552
|
+
const winPixels = Math.ceil(
|
|
553
|
+
(false ? window.innerWidth * window.innerHeight : window.screen.availWidth * window.screen.availHeight) * this.pixelRatio ** 2 * (1 + capAreaFactor / 100)
|
|
554
|
+
);
|
|
555
|
+
return maxPixels > 0 ? Math.min(maxPixels, winPixels) : winPixels;
|
|
556
|
+
}
|
|
557
|
+
return maxPixels;
|
|
558
|
+
}
|
|
545
559
|
};
|
|
546
560
|
var SupportedImageMimeTypes = [
|
|
547
561
|
"image/apng",
|
|
@@ -1950,6 +1964,7 @@ var _AnnotationEditorUIManager = class _AnnotationEditorUIManager {
|
|
|
1950
1964
|
}
|
|
1951
1965
|
}
|
|
1952
1966
|
__privateSet(this, _updateModeCapability, Promise.withResolvers());
|
|
1967
|
+
__privateGet(this, _currentDrawingSession)?.commitOrRemove();
|
|
1953
1968
|
__privateSet(this, _mode, mode);
|
|
1954
1969
|
if (mode === AnnotationEditorType.NONE) {
|
|
1955
1970
|
this.setEditingState(false);
|
|
@@ -1975,7 +1990,7 @@ var _AnnotationEditorUIManager = class _AnnotationEditorUIManager {
|
|
|
1975
1990
|
return;
|
|
1976
1991
|
}
|
|
1977
1992
|
for (const editor of __privateGet(this, _allEditors).values()) {
|
|
1978
|
-
if (editor.annotationElementId === editId) {
|
|
1993
|
+
if (editor.annotationElementId === editId || editor.id === editId) {
|
|
1979
1994
|
this.setSelected(editor);
|
|
1980
1995
|
editor.enterInEditMode();
|
|
1981
1996
|
} else {
|
|
@@ -1991,16 +2006,17 @@ var _AnnotationEditorUIManager = class _AnnotationEditorUIManager {
|
|
|
1991
2006
|
}
|
|
1992
2007
|
/**
|
|
1993
2008
|
* Update the toolbar if it's required to reflect the tool currently used.
|
|
2009
|
+
* @param {Object} options
|
|
1994
2010
|
* @param {number} mode
|
|
1995
2011
|
* @returns {undefined}
|
|
1996
2012
|
*/
|
|
1997
|
-
updateToolbar(
|
|
1998
|
-
if (mode === __privateGet(this, _mode)) {
|
|
2013
|
+
updateToolbar(options) {
|
|
2014
|
+
if (options.mode === __privateGet(this, _mode)) {
|
|
1999
2015
|
return;
|
|
2000
2016
|
}
|
|
2001
2017
|
this._eventBus.dispatch("switchannotationeditormode", {
|
|
2002
2018
|
source: this,
|
|
2003
|
-
|
|
2019
|
+
...options
|
|
2004
2020
|
});
|
|
2005
2021
|
}
|
|
2006
2022
|
/**
|
|
@@ -3390,9 +3406,11 @@ onTouchEnd_fn = function(evt) {
|
|
|
3390
3406
|
if (evt.touches.length >= 2) {
|
|
3391
3407
|
return;
|
|
3392
3408
|
}
|
|
3393
|
-
__privateGet(this, _touchMoveAC)
|
|
3394
|
-
|
|
3395
|
-
|
|
3409
|
+
if (__privateGet(this, _touchMoveAC)) {
|
|
3410
|
+
__privateGet(this, _touchMoveAC).abort();
|
|
3411
|
+
__privateSet(this, _touchMoveAC, null);
|
|
3412
|
+
(_a2 = __privateGet(this, _onPinchEnd)) == null ? void 0 : _a2.call(this);
|
|
3413
|
+
}
|
|
3396
3414
|
if (!__privateGet(this, _touchInfo)) {
|
|
3397
3415
|
return;
|
|
3398
3416
|
}
|
|
@@ -3432,6 +3450,7 @@ var _AnnotationEditor = class _AnnotationEditor {
|
|
|
3432
3450
|
__privateAdd(this, _prevDragY, 0);
|
|
3433
3451
|
__privateAdd(this, _telemetryTimeouts, null);
|
|
3434
3452
|
__privateAdd(this, _touchManager, null);
|
|
3453
|
+
__publicField(this, "isSelected", false);
|
|
3435
3454
|
__publicField(this, "_isCopy", false);
|
|
3436
3455
|
__publicField(this, "_editToolbar", null);
|
|
3437
3456
|
__publicField(this, "_initialOptions", /* @__PURE__ */ Object.create(null));
|
|
@@ -4052,7 +4071,7 @@ var _AnnotationEditor = class _AnnotationEditor {
|
|
|
4052
4071
|
}
|
|
4053
4072
|
const [tx, ty] = this.getInitialTranslation();
|
|
4054
4073
|
this.translate(tx, ty);
|
|
4055
|
-
bindEvents(this, div, ["keydown", "pointerdown"]);
|
|
4074
|
+
bindEvents(this, div, ["keydown", "pointerdown", "dblclick"]);
|
|
4056
4075
|
if (this.isResizable && this._uiManager._supportsPinchToZoom) {
|
|
4057
4076
|
__privateGet(this, _touchManager) || __privateSet(this, _touchManager, new TouchManager({
|
|
4058
4077
|
container: div,
|
|
@@ -4083,9 +4102,6 @@ var _AnnotationEditor = class _AnnotationEditor {
|
|
|
4083
4102
|
}
|
|
4084
4103
|
__privateMethod(this, _AnnotationEditor_instances, selectOnPointerEvent_fn).call(this, event);
|
|
4085
4104
|
}
|
|
4086
|
-
get isSelected() {
|
|
4087
|
-
return this._uiManager.isSelected(this);
|
|
4088
|
-
}
|
|
4089
4105
|
_onStartDragging() {
|
|
4090
4106
|
}
|
|
4091
4107
|
_onStopDragging() {
|
|
@@ -4192,15 +4208,27 @@ var _AnnotationEditor = class _AnnotationEditor {
|
|
|
4192
4208
|
}
|
|
4193
4209
|
/**
|
|
4194
4210
|
* Enable edit mode.
|
|
4211
|
+
* @returns {boolean} - true if the edit mode has been enabled.
|
|
4195
4212
|
*/
|
|
4196
4213
|
enableEditMode() {
|
|
4214
|
+
if (this.isInEditMode()) {
|
|
4215
|
+
return false;
|
|
4216
|
+
}
|
|
4217
|
+
this.parent.setEditingState(false);
|
|
4197
4218
|
__privateSet(this, _isInEditMode, true);
|
|
4219
|
+
return true;
|
|
4198
4220
|
}
|
|
4199
4221
|
/**
|
|
4200
4222
|
* Disable edit mode.
|
|
4223
|
+
* @returns {boolean} - true if the edit mode has been disabled.
|
|
4201
4224
|
*/
|
|
4202
4225
|
disableEditMode() {
|
|
4226
|
+
if (!this.isInEditMode()) {
|
|
4227
|
+
return false;
|
|
4228
|
+
}
|
|
4229
|
+
this.parent.setEditingState(true);
|
|
4203
4230
|
__privateSet(this, _isInEditMode, false);
|
|
4231
|
+
return true;
|
|
4204
4232
|
}
|
|
4205
4233
|
/**
|
|
4206
4234
|
* Check if the editor is edited.
|
|
@@ -4441,6 +4469,10 @@ var _AnnotationEditor = class _AnnotationEditor {
|
|
|
4441
4469
|
* Select this editor.
|
|
4442
4470
|
*/
|
|
4443
4471
|
select() {
|
|
4472
|
+
if (this.isSelected && this._editToolbar) {
|
|
4473
|
+
return;
|
|
4474
|
+
}
|
|
4475
|
+
this.isSelected = true;
|
|
4444
4476
|
this.makeResizable();
|
|
4445
4477
|
this.div?.classList.add("selectedEditor");
|
|
4446
4478
|
if (!this._editToolbar) {
|
|
@@ -4458,6 +4490,10 @@ var _AnnotationEditor = class _AnnotationEditor {
|
|
|
4458
4490
|
* Unselect this editor.
|
|
4459
4491
|
*/
|
|
4460
4492
|
unselect() {
|
|
4493
|
+
if (!this.isSelected) {
|
|
4494
|
+
return;
|
|
4495
|
+
}
|
|
4496
|
+
this.isSelected = false;
|
|
4461
4497
|
__privateGet(this, _resizersDiv)?.classList.add("hidden");
|
|
4462
4498
|
this.div?.classList.remove("selectedEditor");
|
|
4463
4499
|
if (this.div?.contains(document.activeElement)) {
|
|
@@ -4487,10 +4523,35 @@ var _AnnotationEditor = class _AnnotationEditor {
|
|
|
4487
4523
|
*/
|
|
4488
4524
|
enableEditing() {
|
|
4489
4525
|
}
|
|
4526
|
+
/**
|
|
4527
|
+
* Check if the content of this editor can be changed.
|
|
4528
|
+
* For example, a FreeText editor can be changed (the user can change the
|
|
4529
|
+
* text), but a Stamp editor cannot.
|
|
4530
|
+
* @returns {boolean}
|
|
4531
|
+
*/
|
|
4532
|
+
get canChangeContent() {
|
|
4533
|
+
return false;
|
|
4534
|
+
}
|
|
4490
4535
|
/**
|
|
4491
4536
|
* The editor is about to be edited.
|
|
4492
4537
|
*/
|
|
4493
4538
|
enterInEditMode() {
|
|
4539
|
+
if (!this.canChangeContent) {
|
|
4540
|
+
return;
|
|
4541
|
+
}
|
|
4542
|
+
this.enableEditMode();
|
|
4543
|
+
this.div.focus();
|
|
4544
|
+
}
|
|
4545
|
+
/**
|
|
4546
|
+
* ondblclick callback.
|
|
4547
|
+
* @param {MouseEvent} event
|
|
4548
|
+
*/
|
|
4549
|
+
dblclick(event) {
|
|
4550
|
+
this.enterInEditMode();
|
|
4551
|
+
this.parent.updateToolbar({
|
|
4552
|
+
mode: this.constructor._editorType,
|
|
4553
|
+
editId: this.id
|
|
4554
|
+
});
|
|
4494
4555
|
}
|
|
4495
4556
|
/**
|
|
4496
4557
|
* @returns {HTMLElement | null} the element requiring an alt text.
|
|
@@ -5131,6 +5192,15 @@ var AnnotationStorage = class {
|
|
|
5131
5192
|
this.onSetModified = null;
|
|
5132
5193
|
this.onResetModified = null;
|
|
5133
5194
|
this.onAnnotationEditor = null;
|
|
5195
|
+
if (false) {
|
|
5196
|
+
Object.defineProperty(this, "_setValues", {
|
|
5197
|
+
value: (obj) => {
|
|
5198
|
+
for (const [key, val] of Object.entries(obj)) {
|
|
5199
|
+
this.setValue(key, val);
|
|
5200
|
+
}
|
|
5201
|
+
}
|
|
5202
|
+
});
|
|
5203
|
+
}
|
|
5134
5204
|
}
|
|
5135
5205
|
/**
|
|
5136
5206
|
* Get the value for a given key if it exists, or return the default value.
|
|
@@ -5205,20 +5275,6 @@ var AnnotationStorage = class {
|
|
|
5205
5275
|
has(key) {
|
|
5206
5276
|
return __privateGet(this, _storage).has(key);
|
|
5207
5277
|
}
|
|
5208
|
-
/**
|
|
5209
|
-
* @returns {Object | null}
|
|
5210
|
-
*/
|
|
5211
|
-
getAll() {
|
|
5212
|
-
return __privateGet(this, _storage).size > 0 ? objectFromMap(__privateGet(this, _storage)) : null;
|
|
5213
|
-
}
|
|
5214
|
-
/**
|
|
5215
|
-
* @param {Object} obj
|
|
5216
|
-
*/
|
|
5217
|
-
setAll(obj) {
|
|
5218
|
-
for (const [key, val] of Object.entries(obj)) {
|
|
5219
|
-
this.setValue(key, val);
|
|
5220
|
-
}
|
|
5221
|
-
}
|
|
5222
5278
|
get size() {
|
|
5223
5279
|
return __privateGet(this, _storage).size;
|
|
5224
5280
|
}
|
|
@@ -5325,6 +5381,9 @@ var AnnotationStorage = class {
|
|
|
5325
5381
|
hash: ids.join(",")
|
|
5326
5382
|
});
|
|
5327
5383
|
}
|
|
5384
|
+
[Symbol.iterator]() {
|
|
5385
|
+
return __privateGet(this, _storage).entries();
|
|
5386
|
+
}
|
|
5328
5387
|
};
|
|
5329
5388
|
_modified = new WeakMap();
|
|
5330
5389
|
_modifiedIds = new WeakMap();
|
|
@@ -6042,6 +6101,110 @@ var FontFaceObject = class {
|
|
|
6042
6101
|
}
|
|
6043
6102
|
};
|
|
6044
6103
|
|
|
6104
|
+
// src/pdf.js/src/display/api_utils.js
|
|
6105
|
+
function getUrlProp(val) {
|
|
6106
|
+
if (false) {
|
|
6107
|
+
return null;
|
|
6108
|
+
}
|
|
6109
|
+
if (val instanceof URL) {
|
|
6110
|
+
return val.href;
|
|
6111
|
+
}
|
|
6112
|
+
if (typeof val === "string") {
|
|
6113
|
+
if (isNodeJS) {
|
|
6114
|
+
return val;
|
|
6115
|
+
}
|
|
6116
|
+
const url = URL.parse(val, window.location);
|
|
6117
|
+
if (url) {
|
|
6118
|
+
return url.href;
|
|
6119
|
+
}
|
|
6120
|
+
}
|
|
6121
|
+
throw new Error(
|
|
6122
|
+
"Invalid PDF url data: either string or URL-object is expected in the url property."
|
|
6123
|
+
);
|
|
6124
|
+
}
|
|
6125
|
+
function getDataProp(val) {
|
|
6126
|
+
if (isNodeJS && typeof Buffer !== "undefined" && // eslint-disable-line no-undef
|
|
6127
|
+
val instanceof Buffer) {
|
|
6128
|
+
throw new Error(
|
|
6129
|
+
"Please provide binary data as `Uint8Array`, rather than `Buffer`."
|
|
6130
|
+
);
|
|
6131
|
+
}
|
|
6132
|
+
if (val instanceof Uint8Array && val.byteLength === val.buffer.byteLength) {
|
|
6133
|
+
return val;
|
|
6134
|
+
}
|
|
6135
|
+
if (typeof val === "string") {
|
|
6136
|
+
return stringToBytes(val);
|
|
6137
|
+
}
|
|
6138
|
+
if (val instanceof ArrayBuffer || ArrayBuffer.isView(val) || typeof val === "object" && !isNaN(val?.length)) {
|
|
6139
|
+
return new Uint8Array(val);
|
|
6140
|
+
}
|
|
6141
|
+
throw new Error(
|
|
6142
|
+
"Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property."
|
|
6143
|
+
);
|
|
6144
|
+
}
|
|
6145
|
+
function getFactoryUrlProp(val) {
|
|
6146
|
+
if (typeof val !== "string") {
|
|
6147
|
+
return null;
|
|
6148
|
+
}
|
|
6149
|
+
if (val.endsWith("/")) {
|
|
6150
|
+
return val;
|
|
6151
|
+
}
|
|
6152
|
+
throw new Error(`Invalid factory url: "${val}" must include trailing slash.`);
|
|
6153
|
+
}
|
|
6154
|
+
var isRefProxy = (v) => typeof v === "object" && Number.isInteger(v?.num) && v.num >= 0 && Number.isInteger(v?.gen) && v.gen >= 0;
|
|
6155
|
+
var isNameProxy = (v) => typeof v === "object" && typeof v?.name === "string";
|
|
6156
|
+
var isValidExplicitDest = _isValidExplicitDest.bind(
|
|
6157
|
+
null,
|
|
6158
|
+
/* validRef = */
|
|
6159
|
+
isRefProxy,
|
|
6160
|
+
/* validName = */
|
|
6161
|
+
isNameProxy
|
|
6162
|
+
);
|
|
6163
|
+
var _listeners, _deferred;
|
|
6164
|
+
var LoopbackPort = class {
|
|
6165
|
+
constructor() {
|
|
6166
|
+
__privateAdd(this, _listeners, /* @__PURE__ */ new Map());
|
|
6167
|
+
__privateAdd(this, _deferred, Promise.resolve());
|
|
6168
|
+
}
|
|
6169
|
+
postMessage(obj, transfer) {
|
|
6170
|
+
const event = {
|
|
6171
|
+
data: structuredClone(obj, transfer ? { transfer } : null)
|
|
6172
|
+
};
|
|
6173
|
+
__privateGet(this, _deferred).then(() => {
|
|
6174
|
+
for (const [listener] of __privateGet(this, _listeners)) {
|
|
6175
|
+
listener.call(this, event);
|
|
6176
|
+
}
|
|
6177
|
+
});
|
|
6178
|
+
}
|
|
6179
|
+
addEventListener(name, listener, options = null) {
|
|
6180
|
+
let rmAbort = null;
|
|
6181
|
+
if (options?.signal instanceof AbortSignal) {
|
|
6182
|
+
const { signal } = options;
|
|
6183
|
+
if (signal.aborted) {
|
|
6184
|
+
warn("LoopbackPort - cannot use an `aborted` signal.");
|
|
6185
|
+
return;
|
|
6186
|
+
}
|
|
6187
|
+
const onAbort = () => this.removeEventListener(name, listener);
|
|
6188
|
+
rmAbort = () => signal.removeEventListener("abort", onAbort);
|
|
6189
|
+
signal.addEventListener("abort", onAbort);
|
|
6190
|
+
}
|
|
6191
|
+
__privateGet(this, _listeners).set(listener, rmAbort);
|
|
6192
|
+
}
|
|
6193
|
+
removeEventListener(name, listener) {
|
|
6194
|
+
const rmAbort = __privateGet(this, _listeners).get(listener);
|
|
6195
|
+
rmAbort?.();
|
|
6196
|
+
__privateGet(this, _listeners).delete(listener);
|
|
6197
|
+
}
|
|
6198
|
+
terminate() {
|
|
6199
|
+
for (const [, rmAbort] of __privateGet(this, _listeners)) {
|
|
6200
|
+
rmAbort?.();
|
|
6201
|
+
}
|
|
6202
|
+
__privateGet(this, _listeners).clear();
|
|
6203
|
+
}
|
|
6204
|
+
};
|
|
6205
|
+
_listeners = new WeakMap();
|
|
6206
|
+
_deferred = new WeakMap();
|
|
6207
|
+
|
|
6045
6208
|
// src/lib/NodeUtilsStabs.ts
|
|
6046
6209
|
var NodeCanvasFactory = class {
|
|
6047
6210
|
};
|
|
@@ -6596,18 +6759,13 @@ var _TilingPattern = class _TilingPattern {
|
|
|
6596
6759
|
const context = graphics.ctx, current = graphics.current;
|
|
6597
6760
|
switch (paintType) {
|
|
6598
6761
|
case PaintType.COLORED:
|
|
6599
|
-
const
|
|
6600
|
-
context.fillStyle =
|
|
6601
|
-
context.strokeStyle =
|
|
6602
|
-
current.fillColor = ctx.fillStyle;
|
|
6603
|
-
current.strokeColor = ctx.strokeStyle;
|
|
6762
|
+
const { fillStyle, strokeStyle } = this.ctx;
|
|
6763
|
+
context.fillStyle = current.fillColor = fillStyle;
|
|
6764
|
+
context.strokeStyle = current.strokeColor = strokeStyle;
|
|
6604
6765
|
break;
|
|
6605
6766
|
case PaintType.UNCOLORED:
|
|
6606
|
-
|
|
6607
|
-
|
|
6608
|
-
context.strokeStyle = cssColor;
|
|
6609
|
-
current.fillColor = cssColor;
|
|
6610
|
-
current.strokeColor = cssColor;
|
|
6767
|
+
context.fillStyle = context.strokeStyle = color;
|
|
6768
|
+
current.fillColor = current.strokeColor = color;
|
|
6611
6769
|
break;
|
|
6612
6770
|
default:
|
|
6613
6771
|
throw new FormatError(`Unsupported paint type: ${paintType}`);
|
|
@@ -7544,7 +7702,6 @@ var _CanvasGraphics = class _CanvasGraphics {
|
|
|
7544
7702
|
let maskX = layerOffsetX - maskOffsetX;
|
|
7545
7703
|
let maskY = layerOffsetY - maskOffsetY;
|
|
7546
7704
|
if (backdrop) {
|
|
7547
|
-
const backdropRGB = Util.makeHexColor(...backdrop);
|
|
7548
7705
|
if (maskX < 0 || maskY < 0 || maskX + width > maskCanvas.width || maskY + height > maskCanvas.height) {
|
|
7549
7706
|
const canvas = this.cachedCanvases.getCanvas(
|
|
7550
7707
|
"maskExtension",
|
|
@@ -7554,7 +7711,7 @@ var _CanvasGraphics = class _CanvasGraphics {
|
|
|
7554
7711
|
const ctx = canvas.context;
|
|
7555
7712
|
ctx.drawImage(maskCanvas, -maskX, -maskY);
|
|
7556
7713
|
ctx.globalCompositeOperation = "destination-atop";
|
|
7557
|
-
ctx.fillStyle =
|
|
7714
|
+
ctx.fillStyle = backdrop;
|
|
7558
7715
|
ctx.fillRect(0, 0, width, height);
|
|
7559
7716
|
ctx.globalCompositeOperation = "source-over";
|
|
7560
7717
|
maskCanvas = canvas.canvas;
|
|
@@ -7567,7 +7724,7 @@ var _CanvasGraphics = class _CanvasGraphics {
|
|
|
7567
7724
|
clip2.rect(maskX, maskY, width, height);
|
|
7568
7725
|
maskCtx.clip(clip2);
|
|
7569
7726
|
maskCtx.globalCompositeOperation = "destination-atop";
|
|
7570
|
-
maskCtx.fillStyle =
|
|
7727
|
+
maskCtx.fillStyle = backdrop;
|
|
7571
7728
|
maskCtx.fillRect(maskX, maskY, width, height);
|
|
7572
7729
|
maskCtx.restore();
|
|
7573
7730
|
}
|
|
@@ -8246,20 +8403,16 @@ var _CanvasGraphics = class _CanvasGraphics {
|
|
|
8246
8403
|
this.current.fillColor = this.getColorN_Pattern(arguments);
|
|
8247
8404
|
this.current.patternFill = true;
|
|
8248
8405
|
}
|
|
8249
|
-
setStrokeRGBColor(
|
|
8250
|
-
this.ctx.strokeStyle = this.current.strokeColor =
|
|
8251
|
-
r,
|
|
8252
|
-
g,
|
|
8253
|
-
b
|
|
8254
|
-
);
|
|
8406
|
+
setStrokeRGBColor(color) {
|
|
8407
|
+
this.ctx.strokeStyle = this.current.strokeColor = color;
|
|
8255
8408
|
this.current.patternStroke = false;
|
|
8256
8409
|
}
|
|
8257
8410
|
setStrokeTransparent() {
|
|
8258
8411
|
this.ctx.strokeStyle = this.current.strokeColor = "transparent";
|
|
8259
8412
|
this.current.patternStroke = false;
|
|
8260
8413
|
}
|
|
8261
|
-
setFillRGBColor(
|
|
8262
|
-
this.ctx.fillStyle = this.current.fillColor =
|
|
8414
|
+
setFillRGBColor(color) {
|
|
8415
|
+
this.ctx.fillStyle = this.current.fillColor = color;
|
|
8263
8416
|
this.current.patternFill = false;
|
|
8264
8417
|
}
|
|
8265
8418
|
setFillTransparent() {
|
|
@@ -9384,7 +9537,7 @@ createUrl_fn = function(id) {
|
|
|
9384
9537
|
if (isDataScheme(url)) {
|
|
9385
9538
|
warn('#createUrl: ignore "data:"-URL for performance reasons.');
|
|
9386
9539
|
} else {
|
|
9387
|
-
__privateSet(this, _baseUrl, url
|
|
9540
|
+
__privateSet(this, _baseUrl, updateUrlHash(url, ""));
|
|
9388
9541
|
}
|
|
9389
9542
|
}
|
|
9390
9543
|
}
|
|
@@ -9581,28 +9734,25 @@ __privateAdd(GlobalWorkerOptions, _port, null);
|
|
|
9581
9734
|
__privateAdd(GlobalWorkerOptions, _src, "");
|
|
9582
9735
|
|
|
9583
9736
|
// src/pdf.js/src/display/metadata.js
|
|
9584
|
-
var
|
|
9737
|
+
var _map, _data;
|
|
9585
9738
|
var Metadata = class {
|
|
9586
9739
|
constructor({ parsedData, rawData }) {
|
|
9587
|
-
__privateAdd(this,
|
|
9740
|
+
__privateAdd(this, _map);
|
|
9588
9741
|
__privateAdd(this, _data);
|
|
9589
|
-
__privateSet(this,
|
|
9742
|
+
__privateSet(this, _map, parsedData);
|
|
9590
9743
|
__privateSet(this, _data, rawData);
|
|
9591
9744
|
}
|
|
9592
9745
|
getRaw() {
|
|
9593
9746
|
return __privateGet(this, _data);
|
|
9594
9747
|
}
|
|
9595
9748
|
get(name) {
|
|
9596
|
-
return __privateGet(this,
|
|
9597
|
-
}
|
|
9598
|
-
getAll() {
|
|
9599
|
-
return objectFromMap(__privateGet(this, _metadataMap));
|
|
9749
|
+
return __privateGet(this, _map).get(name) ?? null;
|
|
9600
9750
|
}
|
|
9601
|
-
|
|
9602
|
-
return __privateGet(this,
|
|
9751
|
+
[Symbol.iterator]() {
|
|
9752
|
+
return __privateGet(this, _map).entries();
|
|
9603
9753
|
}
|
|
9604
9754
|
};
|
|
9605
|
-
|
|
9755
|
+
_map = new WeakMap();
|
|
9606
9756
|
_data = new WeakMap();
|
|
9607
9757
|
|
|
9608
9758
|
// src/pdf.js/src/display/optional_content_config.js
|
|
@@ -9822,9 +9972,6 @@ var OptionalContentConfig = class {
|
|
|
9822
9972
|
}
|
|
9823
9973
|
return [...__privateGet(this, _groups).keys()];
|
|
9824
9974
|
}
|
|
9825
|
-
getGroups() {
|
|
9826
|
-
return __privateGet(this, _groups).size > 0 ? objectFromMap(__privateGet(this, _groups)) : null;
|
|
9827
|
-
}
|
|
9828
9975
|
getGroup(id) {
|
|
9829
9976
|
return __privateGet(this, _groups).get(id) || null;
|
|
9830
9977
|
}
|
|
@@ -9838,6 +9985,9 @@ var OptionalContentConfig = class {
|
|
|
9838
9985
|
}
|
|
9839
9986
|
return __privateSet(this, _cachedGetHash, hash.hexdigest());
|
|
9840
9987
|
}
|
|
9988
|
+
[Symbol.iterator]() {
|
|
9989
|
+
return __privateGet(this, _groups).entries();
|
|
9990
|
+
}
|
|
9841
9991
|
};
|
|
9842
9992
|
_cachedGetHash = new WeakMap();
|
|
9843
9993
|
_groups = new WeakMap();
|
|
@@ -10914,6 +11064,102 @@ var PDFNetworkStreamRangeRequestReader = class {
|
|
|
10914
11064
|
var PDFNodeStream = class {
|
|
10915
11065
|
};
|
|
10916
11066
|
|
|
11067
|
+
// src/pdf.js/src/display/pdf_objects.js
|
|
11068
|
+
var INITIAL_DATA = Symbol("INITIAL_DATA");
|
|
11069
|
+
var _objs, _PDFObjects_instances, ensureObj_fn;
|
|
11070
|
+
var PDFObjects = class {
|
|
11071
|
+
constructor() {
|
|
11072
|
+
__privateAdd(this, _PDFObjects_instances);
|
|
11073
|
+
__privateAdd(this, _objs, /* @__PURE__ */ Object.create(null));
|
|
11074
|
+
}
|
|
11075
|
+
/**
|
|
11076
|
+
* If called *without* callback, this returns the data of `objId` but the
|
|
11077
|
+
* object needs to be resolved. If it isn't, this method throws.
|
|
11078
|
+
*
|
|
11079
|
+
* If called *with* a callback, the callback is called with the data of the
|
|
11080
|
+
* object once the object is resolved. That means, if you call this method
|
|
11081
|
+
* and the object is already resolved, the callback gets called right away.
|
|
11082
|
+
*
|
|
11083
|
+
* @param {string} objId
|
|
11084
|
+
* @param {function} [callback]
|
|
11085
|
+
* @returns {any}
|
|
11086
|
+
*/
|
|
11087
|
+
get(objId, callback = null) {
|
|
11088
|
+
if (callback) {
|
|
11089
|
+
const obj2 = __privateMethod(this, _PDFObjects_instances, ensureObj_fn).call(this, objId);
|
|
11090
|
+
obj2.promise.then(() => callback(obj2.data));
|
|
11091
|
+
return null;
|
|
11092
|
+
}
|
|
11093
|
+
const obj = __privateGet(this, _objs)[objId];
|
|
11094
|
+
if (!obj || obj.data === INITIAL_DATA) {
|
|
11095
|
+
throw new Error(`Requesting object that isn't resolved yet ${objId}.`);
|
|
11096
|
+
}
|
|
11097
|
+
return obj.data;
|
|
11098
|
+
}
|
|
11099
|
+
/**
|
|
11100
|
+
* @param {string} objId
|
|
11101
|
+
* @returns {boolean}
|
|
11102
|
+
*/
|
|
11103
|
+
has(objId) {
|
|
11104
|
+
const obj = __privateGet(this, _objs)[objId];
|
|
11105
|
+
return !!obj && obj.data !== INITIAL_DATA;
|
|
11106
|
+
}
|
|
11107
|
+
/**
|
|
11108
|
+
* @param {string} objId
|
|
11109
|
+
* @returns {boolean}
|
|
11110
|
+
*/
|
|
11111
|
+
delete(objId) {
|
|
11112
|
+
const obj = __privateGet(this, _objs)[objId];
|
|
11113
|
+
if (!obj || obj.data === INITIAL_DATA) {
|
|
11114
|
+
return false;
|
|
11115
|
+
}
|
|
11116
|
+
delete __privateGet(this, _objs)[objId];
|
|
11117
|
+
return true;
|
|
11118
|
+
}
|
|
11119
|
+
/**
|
|
11120
|
+
* Resolves the object `objId` with optional `data`.
|
|
11121
|
+
*
|
|
11122
|
+
* @param {string} objId
|
|
11123
|
+
* @param {any} [data]
|
|
11124
|
+
*/
|
|
11125
|
+
resolve(objId, data = null) {
|
|
11126
|
+
const obj = __privateMethod(this, _PDFObjects_instances, ensureObj_fn).call(this, objId);
|
|
11127
|
+
obj.data = data;
|
|
11128
|
+
obj.resolve();
|
|
11129
|
+
}
|
|
11130
|
+
clear() {
|
|
11131
|
+
for (const objId in __privateGet(this, _objs)) {
|
|
11132
|
+
const { data } = __privateGet(this, _objs)[objId];
|
|
11133
|
+
data?.bitmap?.close();
|
|
11134
|
+
}
|
|
11135
|
+
__privateSet(this, _objs, /* @__PURE__ */ Object.create(null));
|
|
11136
|
+
}
|
|
11137
|
+
*[Symbol.iterator]() {
|
|
11138
|
+
for (const objId in __privateGet(this, _objs)) {
|
|
11139
|
+
const { data } = __privateGet(this, _objs)[objId];
|
|
11140
|
+
if (data === INITIAL_DATA) {
|
|
11141
|
+
continue;
|
|
11142
|
+
}
|
|
11143
|
+
yield [objId, data];
|
|
11144
|
+
}
|
|
11145
|
+
}
|
|
11146
|
+
};
|
|
11147
|
+
_objs = new WeakMap();
|
|
11148
|
+
_PDFObjects_instances = new WeakSet();
|
|
11149
|
+
/**
|
|
11150
|
+
* Ensures there is an object defined for `objId`.
|
|
11151
|
+
*
|
|
11152
|
+
* @param {string} objId
|
|
11153
|
+
* @returns {Object}
|
|
11154
|
+
*/
|
|
11155
|
+
ensureObj_fn = function(objId) {
|
|
11156
|
+
var _a2;
|
|
11157
|
+
return (_a2 = __privateGet(this, _objs))[objId] || (_a2[objId] = {
|
|
11158
|
+
...Promise.withResolvers(),
|
|
11159
|
+
data: INITIAL_DATA
|
|
11160
|
+
});
|
|
11161
|
+
};
|
|
11162
|
+
|
|
10917
11163
|
// src/pdf.js/src/display/text_layer.js
|
|
10918
11164
|
var MAX_TEXT_DIVS_TO_RENDER = 1e5;
|
|
10919
11165
|
var DEFAULT_FONT_SIZE = 30;
|
|
@@ -11389,7 +11635,6 @@ var XfaText = class _XfaText {
|
|
|
11389
11635
|
};
|
|
11390
11636
|
|
|
11391
11637
|
// src/pdf.js/src/display/api.js
|
|
11392
|
-
var DEFAULT_RANGE_CHUNK_SIZE = 65536;
|
|
11393
11638
|
var RENDERING_CANCELLED_TIMEOUT = 100;
|
|
11394
11639
|
function getDocument(src = {}) {
|
|
11395
11640
|
if (true) {
|
|
@@ -11407,7 +11652,7 @@ function getDocument(src = {}) {
|
|
|
11407
11652
|
const withCredentials = src.withCredentials === true;
|
|
11408
11653
|
const password = src.password ?? null;
|
|
11409
11654
|
const rangeTransport = src.range instanceof PDFDataRangeTransport ? src.range : null;
|
|
11410
|
-
const rangeChunkSize = Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0 ? src.rangeChunkSize :
|
|
11655
|
+
const rangeChunkSize = Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0 ? src.rangeChunkSize : 2 ** 16;
|
|
11411
11656
|
let worker = src.worker instanceof PDFWorker ? src.worker : null;
|
|
11412
11657
|
const verbosity = src.verbosity;
|
|
11413
11658
|
const docBaseUrl = typeof src.docBaseUrl === "string" && !isDataScheme(src.docBaseUrl) ? src.docBaseUrl : null;
|
|
@@ -11456,11 +11701,10 @@ function getDocument(src = {}) {
|
|
|
11456
11701
|
wasmFactory: useWorkerFetch ? null : new WasmFactory2({ baseUrl: wasmUrl })
|
|
11457
11702
|
};
|
|
11458
11703
|
if (!worker) {
|
|
11459
|
-
|
|
11704
|
+
worker = PDFWorker.create({
|
|
11460
11705
|
verbosity,
|
|
11461
11706
|
port: GlobalWorkerOptions.workerPort
|
|
11462
|
-
};
|
|
11463
|
-
worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);
|
|
11707
|
+
});
|
|
11464
11708
|
task._worker = worker;
|
|
11465
11709
|
}
|
|
11466
11710
|
const docParams = {
|
|
@@ -11525,21 +11769,7 @@ function getDocument(src = {}) {
|
|
|
11525
11769
|
if (!url) {
|
|
11526
11770
|
throw new Error("getDocument - no `url` parameter provided.");
|
|
11527
11771
|
}
|
|
11528
|
-
|
|
11529
|
-
if (isNodeJS) {
|
|
11530
|
-
if (isValidFetchUrl(url)) {
|
|
11531
|
-
if (typeof fetch === "undefined" || typeof Response === "undefined" || !("body" in Response.prototype)) {
|
|
11532
|
-
throw new Error(
|
|
11533
|
-
"getDocument - the Fetch API was disabled in Node.js, see `--no-experimental-fetch`."
|
|
11534
|
-
);
|
|
11535
|
-
}
|
|
11536
|
-
NetworkStream = PDFFetchStream;
|
|
11537
|
-
} else {
|
|
11538
|
-
NetworkStream = PDFNodeStream;
|
|
11539
|
-
}
|
|
11540
|
-
} else {
|
|
11541
|
-
NetworkStream = isValidFetchUrl(url) ? PDFFetchStream : PDFNetworkStream;
|
|
11542
|
-
}
|
|
11772
|
+
const NetworkStream = isValidFetchUrl(url) ? PDFFetchStream : isNodeJS ? PDFNodeStream : PDFNetworkStream;
|
|
11543
11773
|
networkStream = new NetworkStream({
|
|
11544
11774
|
url,
|
|
11545
11775
|
length,
|
|
@@ -11571,64 +11801,6 @@ function getDocument(src = {}) {
|
|
|
11571
11801
|
}).catch(task._capability.reject);
|
|
11572
11802
|
return task;
|
|
11573
11803
|
}
|
|
11574
|
-
function getUrlProp(val) {
|
|
11575
|
-
if (false) {
|
|
11576
|
-
return null;
|
|
11577
|
-
}
|
|
11578
|
-
if (val instanceof URL) {
|
|
11579
|
-
return val.href;
|
|
11580
|
-
}
|
|
11581
|
-
if (typeof val === "string") {
|
|
11582
|
-
if (isNodeJS) {
|
|
11583
|
-
return val;
|
|
11584
|
-
}
|
|
11585
|
-
const url = URL.parse(val, window.location);
|
|
11586
|
-
if (url) {
|
|
11587
|
-
return url.href;
|
|
11588
|
-
}
|
|
11589
|
-
}
|
|
11590
|
-
throw new Error(
|
|
11591
|
-
"Invalid PDF url data: either string or URL-object is expected in the url property."
|
|
11592
|
-
);
|
|
11593
|
-
}
|
|
11594
|
-
function getDataProp(val) {
|
|
11595
|
-
if (isNodeJS && typeof Buffer !== "undefined" && // eslint-disable-line no-undef
|
|
11596
|
-
val instanceof Buffer) {
|
|
11597
|
-
throw new Error(
|
|
11598
|
-
"Please provide binary data as `Uint8Array`, rather than `Buffer`."
|
|
11599
|
-
);
|
|
11600
|
-
}
|
|
11601
|
-
if (val instanceof Uint8Array && val.byteLength === val.buffer.byteLength) {
|
|
11602
|
-
return val;
|
|
11603
|
-
}
|
|
11604
|
-
if (typeof val === "string") {
|
|
11605
|
-
return stringToBytes(val);
|
|
11606
|
-
}
|
|
11607
|
-
if (val instanceof ArrayBuffer || ArrayBuffer.isView(val) || typeof val === "object" && !isNaN(val?.length)) {
|
|
11608
|
-
return new Uint8Array(val);
|
|
11609
|
-
}
|
|
11610
|
-
throw new Error(
|
|
11611
|
-
"Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property."
|
|
11612
|
-
);
|
|
11613
|
-
}
|
|
11614
|
-
function getFactoryUrlProp(val) {
|
|
11615
|
-
if (typeof val !== "string") {
|
|
11616
|
-
return null;
|
|
11617
|
-
}
|
|
11618
|
-
if (val.endsWith("/")) {
|
|
11619
|
-
return val;
|
|
11620
|
-
}
|
|
11621
|
-
throw new Error(`Invalid factory url: "${val}" must include trailing slash.`);
|
|
11622
|
-
}
|
|
11623
|
-
var isRefProxy = (v) => typeof v === "object" && Number.isInteger(v?.num) && v.num >= 0 && Number.isInteger(v?.gen) && v.gen >= 0;
|
|
11624
|
-
var isNameProxy = (v) => typeof v === "object" && typeof v?.name === "string";
|
|
11625
|
-
var isValidExplicitDest = _isValidExplicitDest.bind(
|
|
11626
|
-
null,
|
|
11627
|
-
/* validRef = */
|
|
11628
|
-
isRefProxy,
|
|
11629
|
-
/* validName = */
|
|
11630
|
-
isNameProxy
|
|
11631
|
-
);
|
|
11632
11804
|
var _docId2;
|
|
11633
11805
|
var _PDFDocumentLoadingTask = class _PDFDocumentLoadingTask {
|
|
11634
11806
|
constructor() {
|
|
@@ -11683,20 +11855,16 @@ var _PDFDocumentLoadingTask = class _PDFDocumentLoadingTask {
|
|
|
11683
11855
|
*/
|
|
11684
11856
|
async destroy() {
|
|
11685
11857
|
this.destroyed = true;
|
|
11686
|
-
|
|
11858
|
+
try {
|
|
11859
|
+
if (this._worker?.port) {
|
|
11860
|
+
this._worker._pendingDestroy = true;
|
|
11861
|
+
}
|
|
11687
11862
|
await this._transport?.destroy();
|
|
11688
|
-
}
|
|
11689
|
-
|
|
11690
|
-
|
|
11691
|
-
this._worker._pendingDestroy = true;
|
|
11692
|
-
}
|
|
11693
|
-
await this._transport?.destroy();
|
|
11694
|
-
} catch (ex) {
|
|
11695
|
-
if (this._worker?.port) {
|
|
11696
|
-
delete this._worker._pendingDestroy;
|
|
11697
|
-
}
|
|
11698
|
-
throw ex;
|
|
11863
|
+
} catch (ex) {
|
|
11864
|
+
if (this._worker?.port) {
|
|
11865
|
+
delete this._worker._pendingDestroy;
|
|
11699
11866
|
}
|
|
11867
|
+
throw ex;
|
|
11700
11868
|
}
|
|
11701
11869
|
this._transport = null;
|
|
11702
11870
|
this._worker?.destroy();
|
|
@@ -11715,6 +11883,7 @@ var _PDFDocumentLoadingTask = class _PDFDocumentLoadingTask {
|
|
|
11715
11883
|
_docId2 = new WeakMap();
|
|
11716
11884
|
__privateAdd(_PDFDocumentLoadingTask, _docId2, 0);
|
|
11717
11885
|
var PDFDocumentLoadingTask = _PDFDocumentLoadingTask;
|
|
11886
|
+
var _capability2, _progressiveDoneListeners, _progressiveReadListeners, _progressListeners, _rangeListeners;
|
|
11718
11887
|
var PDFDataRangeTransport = class {
|
|
11719
11888
|
/**
|
|
11720
11889
|
* @param {number} length
|
|
@@ -11723,46 +11892,46 @@ var PDFDataRangeTransport = class {
|
|
|
11723
11892
|
* @param {string} [contentDispositionFilename]
|
|
11724
11893
|
*/
|
|
11725
11894
|
constructor(length, initialData, progressiveDone = false, contentDispositionFilename = null) {
|
|
11895
|
+
__privateAdd(this, _capability2, Promise.withResolvers());
|
|
11896
|
+
__privateAdd(this, _progressiveDoneListeners, []);
|
|
11897
|
+
__privateAdd(this, _progressiveReadListeners, []);
|
|
11898
|
+
__privateAdd(this, _progressListeners, []);
|
|
11899
|
+
__privateAdd(this, _rangeListeners, []);
|
|
11726
11900
|
this.length = length;
|
|
11727
11901
|
this.initialData = initialData;
|
|
11728
11902
|
this.progressiveDone = progressiveDone;
|
|
11729
11903
|
this.contentDispositionFilename = contentDispositionFilename;
|
|
11730
|
-
this._rangeListeners = [];
|
|
11731
|
-
this._progressListeners = [];
|
|
11732
|
-
this._progressiveReadListeners = [];
|
|
11733
|
-
this._progressiveDoneListeners = [];
|
|
11734
|
-
this._readyCapability = Promise.withResolvers();
|
|
11735
11904
|
}
|
|
11736
11905
|
/**
|
|
11737
11906
|
* @param {function} listener
|
|
11738
11907
|
*/
|
|
11739
11908
|
addRangeListener(listener) {
|
|
11740
|
-
this
|
|
11909
|
+
__privateGet(this, _rangeListeners).push(listener);
|
|
11741
11910
|
}
|
|
11742
11911
|
/**
|
|
11743
11912
|
* @param {function} listener
|
|
11744
11913
|
*/
|
|
11745
11914
|
addProgressListener(listener) {
|
|
11746
|
-
this
|
|
11915
|
+
__privateGet(this, _progressListeners).push(listener);
|
|
11747
11916
|
}
|
|
11748
11917
|
/**
|
|
11749
11918
|
* @param {function} listener
|
|
11750
11919
|
*/
|
|
11751
11920
|
addProgressiveReadListener(listener) {
|
|
11752
|
-
this
|
|
11921
|
+
__privateGet(this, _progressiveReadListeners).push(listener);
|
|
11753
11922
|
}
|
|
11754
11923
|
/**
|
|
11755
11924
|
* @param {function} listener
|
|
11756
11925
|
*/
|
|
11757
11926
|
addProgressiveDoneListener(listener) {
|
|
11758
|
-
this
|
|
11927
|
+
__privateGet(this, _progressiveDoneListeners).push(listener);
|
|
11759
11928
|
}
|
|
11760
11929
|
/**
|
|
11761
11930
|
* @param {number} begin
|
|
11762
11931
|
* @param {Uint8Array|null} chunk
|
|
11763
11932
|
*/
|
|
11764
11933
|
onDataRange(begin, chunk) {
|
|
11765
|
-
for (const listener of this
|
|
11934
|
+
for (const listener of __privateGet(this, _rangeListeners)) {
|
|
11766
11935
|
listener(begin, chunk);
|
|
11767
11936
|
}
|
|
11768
11937
|
}
|
|
@@ -11771,8 +11940,8 @@ var PDFDataRangeTransport = class {
|
|
|
11771
11940
|
* @param {number|undefined} total
|
|
11772
11941
|
*/
|
|
11773
11942
|
onDataProgress(loaded, total) {
|
|
11774
|
-
this.
|
|
11775
|
-
for (const listener of this
|
|
11943
|
+
__privateGet(this, _capability2).promise.then(() => {
|
|
11944
|
+
for (const listener of __privateGet(this, _progressListeners)) {
|
|
11776
11945
|
listener(loaded, total);
|
|
11777
11946
|
}
|
|
11778
11947
|
});
|
|
@@ -11781,21 +11950,21 @@ var PDFDataRangeTransport = class {
|
|
|
11781
11950
|
* @param {Uint8Array|null} chunk
|
|
11782
11951
|
*/
|
|
11783
11952
|
onDataProgressiveRead(chunk) {
|
|
11784
|
-
this.
|
|
11785
|
-
for (const listener of this
|
|
11953
|
+
__privateGet(this, _capability2).promise.then(() => {
|
|
11954
|
+
for (const listener of __privateGet(this, _progressiveReadListeners)) {
|
|
11786
11955
|
listener(chunk);
|
|
11787
11956
|
}
|
|
11788
11957
|
});
|
|
11789
11958
|
}
|
|
11790
11959
|
onDataProgressiveDone() {
|
|
11791
|
-
this.
|
|
11792
|
-
for (const listener of this
|
|
11960
|
+
__privateGet(this, _capability2).promise.then(() => {
|
|
11961
|
+
for (const listener of __privateGet(this, _progressiveDoneListeners)) {
|
|
11793
11962
|
listener();
|
|
11794
11963
|
}
|
|
11795
11964
|
});
|
|
11796
11965
|
}
|
|
11797
11966
|
transportReady() {
|
|
11798
|
-
this.
|
|
11967
|
+
__privateGet(this, _capability2).resolve();
|
|
11799
11968
|
}
|
|
11800
11969
|
/**
|
|
11801
11970
|
* @param {number} begin
|
|
@@ -11807,6 +11976,11 @@ var PDFDataRangeTransport = class {
|
|
|
11807
11976
|
abort() {
|
|
11808
11977
|
}
|
|
11809
11978
|
};
|
|
11979
|
+
_capability2 = new WeakMap();
|
|
11980
|
+
_progressiveDoneListeners = new WeakMap();
|
|
11981
|
+
_progressiveReadListeners = new WeakMap();
|
|
11982
|
+
_progressListeners = new WeakMap();
|
|
11983
|
+
_rangeListeners = new WeakMap();
|
|
11810
11984
|
var PDFDocumentProxy = class {
|
|
11811
11985
|
constructor(pdfInfo, transport) {
|
|
11812
11986
|
this._pdfInfo = pdfInfo;
|
|
@@ -12682,51 +12856,7 @@ tryCleanup_fn = function() {
|
|
|
12682
12856
|
__privateSet(this, _pendingCleanup, false);
|
|
12683
12857
|
return true;
|
|
12684
12858
|
};
|
|
12685
|
-
var
|
|
12686
|
-
var LoopbackPort = class {
|
|
12687
|
-
constructor() {
|
|
12688
|
-
__privateAdd(this, _listeners, /* @__PURE__ */ new Map());
|
|
12689
|
-
__privateAdd(this, _deferred, Promise.resolve());
|
|
12690
|
-
}
|
|
12691
|
-
postMessage(obj, transfer) {
|
|
12692
|
-
const event = {
|
|
12693
|
-
data: structuredClone(obj, transfer ? { transfer } : null)
|
|
12694
|
-
};
|
|
12695
|
-
__privateGet(this, _deferred).then(() => {
|
|
12696
|
-
for (const [listener] of __privateGet(this, _listeners)) {
|
|
12697
|
-
listener.call(this, event);
|
|
12698
|
-
}
|
|
12699
|
-
});
|
|
12700
|
-
}
|
|
12701
|
-
addEventListener(name, listener, options = null) {
|
|
12702
|
-
let rmAbort = null;
|
|
12703
|
-
if (options?.signal instanceof AbortSignal) {
|
|
12704
|
-
const { signal } = options;
|
|
12705
|
-
if (signal.aborted) {
|
|
12706
|
-
warn("LoopbackPort - cannot use an `aborted` signal.");
|
|
12707
|
-
return;
|
|
12708
|
-
}
|
|
12709
|
-
const onAbort = () => this.removeEventListener(name, listener);
|
|
12710
|
-
rmAbort = () => signal.removeEventListener("abort", onAbort);
|
|
12711
|
-
signal.addEventListener("abort", onAbort);
|
|
12712
|
-
}
|
|
12713
|
-
__privateGet(this, _listeners).set(listener, rmAbort);
|
|
12714
|
-
}
|
|
12715
|
-
removeEventListener(name, listener) {
|
|
12716
|
-
const rmAbort = __privateGet(this, _listeners).get(listener);
|
|
12717
|
-
rmAbort?.();
|
|
12718
|
-
__privateGet(this, _listeners).delete(listener);
|
|
12719
|
-
}
|
|
12720
|
-
terminate() {
|
|
12721
|
-
for (const [, rmAbort] of __privateGet(this, _listeners)) {
|
|
12722
|
-
rmAbort?.();
|
|
12723
|
-
}
|
|
12724
|
-
__privateGet(this, _listeners).clear();
|
|
12725
|
-
}
|
|
12726
|
-
};
|
|
12727
|
-
_listeners = new WeakMap();
|
|
12728
|
-
_deferred = new WeakMap();
|
|
12729
|
-
var _a, _fakeWorkerId, _isWorkerDisabled, _workerPorts, _PDFWorker_instances, resolve_fn, _PDFWorker_static, mainThreadWorkerMessageHandler_get;
|
|
12859
|
+
var _a, _capability3, _messageHandler, _port2, _webWorker, _fakeWorkerId, _isWorkerDisabled, _workerPorts, _PDFWorker_instances, resolve_fn, initializeFromPort_fn, initialize_fn, setupFakeWorker_fn, _PDFWorker_static, mainThreadWorkerMessageHandler_get;
|
|
12730
12860
|
var _PDFWorker = class _PDFWorker {
|
|
12731
12861
|
constructor({
|
|
12732
12862
|
name = null,
|
|
@@ -12734,173 +12864,73 @@ var _PDFWorker = class _PDFWorker {
|
|
|
12734
12864
|
verbosity = getVerbosityLevel()
|
|
12735
12865
|
} = {}) {
|
|
12736
12866
|
__privateAdd(this, _PDFWorker_instances);
|
|
12867
|
+
__privateAdd(this, _capability3, Promise.withResolvers());
|
|
12868
|
+
__privateAdd(this, _messageHandler, null);
|
|
12869
|
+
__privateAdd(this, _port2, null);
|
|
12870
|
+
__privateAdd(this, _webWorker, null);
|
|
12737
12871
|
this.name = name;
|
|
12738
12872
|
this.destroyed = false;
|
|
12739
12873
|
this.verbosity = verbosity;
|
|
12740
|
-
this._readyCapability = Promise.withResolvers();
|
|
12741
|
-
this._port = null;
|
|
12742
|
-
this._webWorker = null;
|
|
12743
|
-
this._messageHandler = null;
|
|
12744
12874
|
if (port) {
|
|
12745
|
-
if (__privateGet(_PDFWorker, _workerPorts)
|
|
12875
|
+
if (__privateGet(_PDFWorker, _workerPorts).has(port)) {
|
|
12746
12876
|
throw new Error("Cannot use more than one PDFWorker per port.");
|
|
12747
12877
|
}
|
|
12748
|
-
|
|
12749
|
-
this.
|
|
12750
|
-
|
|
12878
|
+
__privateGet(_PDFWorker, _workerPorts).set(port, this);
|
|
12879
|
+
__privateMethod(this, _PDFWorker_instances, initializeFromPort_fn).call(this, port);
|
|
12880
|
+
} else {
|
|
12881
|
+
__privateMethod(this, _PDFWorker_instances, initialize_fn).call(this);
|
|
12882
|
+
}
|
|
12883
|
+
if (false) {
|
|
12884
|
+
Object.defineProperty(this, "_webWorker", {
|
|
12885
|
+
get() {
|
|
12886
|
+
return __privateGet(this, _webWorker);
|
|
12887
|
+
}
|
|
12888
|
+
});
|
|
12751
12889
|
}
|
|
12752
|
-
this._initialize();
|
|
12753
12890
|
}
|
|
12754
12891
|
/**
|
|
12755
12892
|
* Promise for worker initialization completion.
|
|
12756
12893
|
* @type {Promise<void>}
|
|
12757
12894
|
*/
|
|
12758
12895
|
get promise() {
|
|
12759
|
-
return this.
|
|
12896
|
+
return __privateGet(this, _capability3).promise;
|
|
12760
12897
|
}
|
|
12761
12898
|
/**
|
|
12762
12899
|
* The current `workerPort`, when it exists.
|
|
12763
12900
|
* @type {Worker}
|
|
12764
12901
|
*/
|
|
12765
12902
|
get port() {
|
|
12766
|
-
return this
|
|
12767
|
-
}
|
|
12768
|
-
/**
|
|
12769
|
-
* The current MessageHandler-instance.
|
|
12770
|
-
* @type {MessageHandler}
|
|
12771
|
-
*/
|
|
12772
|
-
get messageHandler() {
|
|
12773
|
-
return this._messageHandler;
|
|
12774
|
-
}
|
|
12775
|
-
_initializeFromPort(port) {
|
|
12776
|
-
if (false) {
|
|
12777
|
-
throw new Error("Not implemented: _initializeFromPort");
|
|
12778
|
-
}
|
|
12779
|
-
this._port = port;
|
|
12780
|
-
this._messageHandler = new MessageHandler("main", "worker", port);
|
|
12781
|
-
this._messageHandler.on("ready", function() {
|
|
12782
|
-
});
|
|
12783
|
-
__privateMethod(this, _PDFWorker_instances, resolve_fn).call(this);
|
|
12784
|
-
}
|
|
12785
|
-
_initialize() {
|
|
12786
|
-
if (__privateGet(_PDFWorker, _isWorkerDisabled) || __privateGet(_PDFWorker, _PDFWorker_static, mainThreadWorkerMessageHandler_get)) {
|
|
12787
|
-
this._setupFakeWorker();
|
|
12788
|
-
return;
|
|
12789
|
-
}
|
|
12790
|
-
let { workerSrc } = _PDFWorker;
|
|
12791
|
-
try {
|
|
12792
|
-
if (!_PDFWorker._isSameOrigin(window.location, workerSrc)) {
|
|
12793
|
-
workerSrc = _PDFWorker._createCDNWrapper(
|
|
12794
|
-
new URL(workerSrc, window.location).href
|
|
12795
|
-
);
|
|
12796
|
-
}
|
|
12797
|
-
const worker = new Worker(workerSrc, { type: "module" });
|
|
12798
|
-
const messageHandler = new MessageHandler("main", "worker", worker);
|
|
12799
|
-
const terminateEarly = () => {
|
|
12800
|
-
ac.abort();
|
|
12801
|
-
messageHandler.destroy();
|
|
12802
|
-
worker.terminate();
|
|
12803
|
-
if (this.destroyed) {
|
|
12804
|
-
this._readyCapability.reject(new Error("Worker was destroyed"));
|
|
12805
|
-
} else {
|
|
12806
|
-
this._setupFakeWorker();
|
|
12807
|
-
}
|
|
12808
|
-
};
|
|
12809
|
-
const ac = new AbortController();
|
|
12810
|
-
worker.addEventListener(
|
|
12811
|
-
"error",
|
|
12812
|
-
() => {
|
|
12813
|
-
if (!this._webWorker) {
|
|
12814
|
-
terminateEarly();
|
|
12815
|
-
}
|
|
12816
|
-
},
|
|
12817
|
-
{ signal: ac.signal }
|
|
12818
|
-
);
|
|
12819
|
-
messageHandler.on("test", (data) => {
|
|
12820
|
-
ac.abort();
|
|
12821
|
-
if (this.destroyed || !data) {
|
|
12822
|
-
terminateEarly();
|
|
12823
|
-
return;
|
|
12824
|
-
}
|
|
12825
|
-
this._messageHandler = messageHandler;
|
|
12826
|
-
this._port = worker;
|
|
12827
|
-
this._webWorker = worker;
|
|
12828
|
-
__privateMethod(this, _PDFWorker_instances, resolve_fn).call(this);
|
|
12829
|
-
});
|
|
12830
|
-
messageHandler.on("ready", (data) => {
|
|
12831
|
-
ac.abort();
|
|
12832
|
-
if (this.destroyed) {
|
|
12833
|
-
terminateEarly();
|
|
12834
|
-
return;
|
|
12835
|
-
}
|
|
12836
|
-
try {
|
|
12837
|
-
sendTest();
|
|
12838
|
-
} catch {
|
|
12839
|
-
this._setupFakeWorker();
|
|
12840
|
-
}
|
|
12841
|
-
});
|
|
12842
|
-
const sendTest = () => {
|
|
12843
|
-
const testObj = new Uint8Array();
|
|
12844
|
-
messageHandler.send("test", testObj, [testObj.buffer]);
|
|
12845
|
-
};
|
|
12846
|
-
sendTest();
|
|
12847
|
-
return;
|
|
12848
|
-
} catch {
|
|
12849
|
-
info("The worker has been disabled.");
|
|
12850
|
-
}
|
|
12851
|
-
this._setupFakeWorker();
|
|
12903
|
+
return __privateGet(this, _port2);
|
|
12852
12904
|
}
|
|
12853
|
-
|
|
12854
|
-
|
|
12855
|
-
|
|
12856
|
-
|
|
12857
|
-
|
|
12858
|
-
|
|
12859
|
-
if (this.destroyed) {
|
|
12860
|
-
this._readyCapability.reject(new Error("Worker was destroyed"));
|
|
12861
|
-
return;
|
|
12862
|
-
}
|
|
12863
|
-
const port = new LoopbackPort();
|
|
12864
|
-
this._port = port;
|
|
12865
|
-
const id = `fake${__privateWrapper(_PDFWorker, _fakeWorkerId)._++}`;
|
|
12866
|
-
const workerHandler = new MessageHandler(id + "_worker", id, port);
|
|
12867
|
-
WorkerMessageHandler.setup(workerHandler, port);
|
|
12868
|
-
this._messageHandler = new MessageHandler(id, id + "_worker", port);
|
|
12869
|
-
__privateMethod(this, _PDFWorker_instances, resolve_fn).call(this);
|
|
12870
|
-
}).catch((reason) => {
|
|
12871
|
-
this._readyCapability.reject(
|
|
12872
|
-
new Error(`Setting up fake worker failed: "${reason.message}".`)
|
|
12873
|
-
);
|
|
12874
|
-
});
|
|
12905
|
+
/**
|
|
12906
|
+
* The current MessageHandler-instance.
|
|
12907
|
+
* @type {MessageHandler}
|
|
12908
|
+
*/
|
|
12909
|
+
get messageHandler() {
|
|
12910
|
+
return __privateGet(this, _messageHandler);
|
|
12875
12911
|
}
|
|
12876
12912
|
/**
|
|
12877
12913
|
* Destroys the worker instance.
|
|
12878
12914
|
*/
|
|
12879
12915
|
destroy() {
|
|
12880
12916
|
this.destroyed = true;
|
|
12881
|
-
this
|
|
12882
|
-
this
|
|
12883
|
-
__privateGet(_PDFWorker, _workerPorts)
|
|
12884
|
-
this
|
|
12885
|
-
this
|
|
12886
|
-
this
|
|
12917
|
+
__privateGet(this, _webWorker)?.terminate();
|
|
12918
|
+
__privateSet(this, _webWorker, null);
|
|
12919
|
+
__privateGet(_PDFWorker, _workerPorts).delete(__privateGet(this, _port2));
|
|
12920
|
+
__privateSet(this, _port2, null);
|
|
12921
|
+
__privateGet(this, _messageHandler)?.destroy();
|
|
12922
|
+
__privateSet(this, _messageHandler, null);
|
|
12887
12923
|
}
|
|
12888
12924
|
/**
|
|
12889
12925
|
* @param {PDFWorkerParameters} params - The worker initialization parameters.
|
|
12890
12926
|
* @returns {PDFWorker}
|
|
12891
12927
|
*/
|
|
12892
|
-
static
|
|
12893
|
-
|
|
12894
|
-
throw new Error("Not implemented: fromPort");
|
|
12895
|
-
}
|
|
12896
|
-
if (!params?.port) {
|
|
12897
|
-
throw new Error("PDFWorker.fromPort - invalid method signature.");
|
|
12898
|
-
}
|
|
12899
|
-
const cachedPort = __privateGet(this, _workerPorts)?.get(params.port);
|
|
12928
|
+
static create(params) {
|
|
12929
|
+
const cachedPort = __privateGet(this, _workerPorts).get(params?.port);
|
|
12900
12930
|
if (cachedPort) {
|
|
12901
12931
|
if (cachedPort._pendingDestroy) {
|
|
12902
12932
|
throw new Error(
|
|
12903
|
-
"PDFWorker.
|
|
12933
|
+
"PDFWorker.create - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls."
|
|
12904
12934
|
);
|
|
12905
12935
|
}
|
|
12906
12936
|
return cachedPort;
|
|
@@ -12929,16 +12959,118 @@ var _PDFWorker = class _PDFWorker {
|
|
|
12929
12959
|
return shadow(this, "_setupFakeWorkerGlobal", loader());
|
|
12930
12960
|
}
|
|
12931
12961
|
};
|
|
12962
|
+
_capability3 = new WeakMap();
|
|
12963
|
+
_messageHandler = new WeakMap();
|
|
12964
|
+
_port2 = new WeakMap();
|
|
12965
|
+
_webWorker = new WeakMap();
|
|
12932
12966
|
_fakeWorkerId = new WeakMap();
|
|
12933
12967
|
_isWorkerDisabled = new WeakMap();
|
|
12934
12968
|
_workerPorts = new WeakMap();
|
|
12935
12969
|
_PDFWorker_instances = new WeakSet();
|
|
12936
12970
|
resolve_fn = function() {
|
|
12937
|
-
this.
|
|
12938
|
-
this
|
|
12971
|
+
__privateGet(this, _capability3).resolve();
|
|
12972
|
+
__privateGet(this, _messageHandler).send("configure", {
|
|
12939
12973
|
verbosity: this.verbosity
|
|
12940
12974
|
});
|
|
12941
12975
|
};
|
|
12976
|
+
initializeFromPort_fn = function(port) {
|
|
12977
|
+
__privateSet(this, _port2, port);
|
|
12978
|
+
__privateSet(this, _messageHandler, new MessageHandler("main", "worker", port));
|
|
12979
|
+
__privateGet(this, _messageHandler).on("ready", () => {
|
|
12980
|
+
});
|
|
12981
|
+
__privateMethod(this, _PDFWorker_instances, resolve_fn).call(this);
|
|
12982
|
+
};
|
|
12983
|
+
initialize_fn = function() {
|
|
12984
|
+
if (__privateGet(_PDFWorker, _isWorkerDisabled) || __privateGet(_PDFWorker, _PDFWorker_static, mainThreadWorkerMessageHandler_get)) {
|
|
12985
|
+
__privateMethod(this, _PDFWorker_instances, setupFakeWorker_fn).call(this);
|
|
12986
|
+
return;
|
|
12987
|
+
}
|
|
12988
|
+
let { workerSrc } = _PDFWorker;
|
|
12989
|
+
try {
|
|
12990
|
+
if (!_PDFWorker._isSameOrigin(window.location, workerSrc)) {
|
|
12991
|
+
workerSrc = _PDFWorker._createCDNWrapper(
|
|
12992
|
+
new URL(workerSrc, window.location).href
|
|
12993
|
+
);
|
|
12994
|
+
}
|
|
12995
|
+
const worker = new Worker(workerSrc, { type: "module" });
|
|
12996
|
+
const messageHandler = new MessageHandler("main", "worker", worker);
|
|
12997
|
+
const terminateEarly = () => {
|
|
12998
|
+
ac.abort();
|
|
12999
|
+
messageHandler.destroy();
|
|
13000
|
+
worker.terminate();
|
|
13001
|
+
if (this.destroyed) {
|
|
13002
|
+
__privateGet(this, _capability3).reject(new Error("Worker was destroyed"));
|
|
13003
|
+
} else {
|
|
13004
|
+
__privateMethod(this, _PDFWorker_instances, setupFakeWorker_fn).call(this);
|
|
13005
|
+
}
|
|
13006
|
+
};
|
|
13007
|
+
const ac = new AbortController();
|
|
13008
|
+
worker.addEventListener(
|
|
13009
|
+
"error",
|
|
13010
|
+
() => {
|
|
13011
|
+
if (!__privateGet(this, _webWorker)) {
|
|
13012
|
+
terminateEarly();
|
|
13013
|
+
}
|
|
13014
|
+
},
|
|
13015
|
+
{ signal: ac.signal }
|
|
13016
|
+
);
|
|
13017
|
+
messageHandler.on("test", (data) => {
|
|
13018
|
+
ac.abort();
|
|
13019
|
+
if (this.destroyed || !data) {
|
|
13020
|
+
terminateEarly();
|
|
13021
|
+
return;
|
|
13022
|
+
}
|
|
13023
|
+
__privateSet(this, _messageHandler, messageHandler);
|
|
13024
|
+
__privateSet(this, _port2, worker);
|
|
13025
|
+
__privateSet(this, _webWorker, worker);
|
|
13026
|
+
__privateMethod(this, _PDFWorker_instances, resolve_fn).call(this);
|
|
13027
|
+
});
|
|
13028
|
+
messageHandler.on("ready", (data) => {
|
|
13029
|
+
ac.abort();
|
|
13030
|
+
if (this.destroyed) {
|
|
13031
|
+
terminateEarly();
|
|
13032
|
+
return;
|
|
13033
|
+
}
|
|
13034
|
+
try {
|
|
13035
|
+
sendTest();
|
|
13036
|
+
} catch {
|
|
13037
|
+
__privateMethod(this, _PDFWorker_instances, setupFakeWorker_fn).call(this);
|
|
13038
|
+
}
|
|
13039
|
+
});
|
|
13040
|
+
const sendTest = () => {
|
|
13041
|
+
const testObj = new Uint8Array();
|
|
13042
|
+
messageHandler.send("test", testObj, [testObj.buffer]);
|
|
13043
|
+
};
|
|
13044
|
+
sendTest();
|
|
13045
|
+
return;
|
|
13046
|
+
} catch {
|
|
13047
|
+
info("The worker has been disabled.");
|
|
13048
|
+
}
|
|
13049
|
+
__privateMethod(this, _PDFWorker_instances, setupFakeWorker_fn).call(this);
|
|
13050
|
+
};
|
|
13051
|
+
setupFakeWorker_fn = function() {
|
|
13052
|
+
if (!__privateGet(_PDFWorker, _isWorkerDisabled)) {
|
|
13053
|
+
warn("Setting up fake worker.");
|
|
13054
|
+
__privateSet(_PDFWorker, _isWorkerDisabled, true);
|
|
13055
|
+
}
|
|
13056
|
+
_PDFWorker._setupFakeWorkerGlobal.then((WorkerMessageHandler) => {
|
|
13057
|
+
if (this.destroyed) {
|
|
13058
|
+
__privateGet(this, _capability3).reject(new Error("Worker was destroyed"));
|
|
13059
|
+
return;
|
|
13060
|
+
}
|
|
13061
|
+
const port = new LoopbackPort();
|
|
13062
|
+
__privateSet(this, _port2, port);
|
|
13063
|
+
const id = `fake${__privateWrapper(_PDFWorker, _fakeWorkerId)._++}`;
|
|
13064
|
+
const workerHandler = new MessageHandler(id + "_worker", id, port);
|
|
13065
|
+
WorkerMessageHandler.setup(workerHandler, port);
|
|
13066
|
+
__privateSet(this, _messageHandler, new MessageHandler(id, id + "_worker", port));
|
|
13067
|
+
__privateMethod(this, _PDFWorker_instances, resolve_fn).call(this);
|
|
13068
|
+
}).catch((reason) => {
|
|
13069
|
+
__privateGet(this, _capability3).reject(
|
|
13070
|
+
new Error(`Setting up fake worker failed: "${reason.message}".`)
|
|
13071
|
+
);
|
|
13072
|
+
});
|
|
13073
|
+
};
|
|
12942
13074
|
_PDFWorker_static = new WeakSet();
|
|
12943
13075
|
mainThreadWorkerMessageHandler_get = function() {
|
|
12944
13076
|
try {
|
|
@@ -12950,7 +13082,7 @@ mainThreadWorkerMessageHandler_get = function() {
|
|
|
12950
13082
|
__privateAdd(_PDFWorker, _PDFWorker_static);
|
|
12951
13083
|
__privateAdd(_PDFWorker, _fakeWorkerId, 0);
|
|
12952
13084
|
__privateAdd(_PDFWorker, _isWorkerDisabled, false);
|
|
12953
|
-
__privateAdd(_PDFWorker, _workerPorts);
|
|
13085
|
+
__privateAdd(_PDFWorker, _workerPorts, /* @__PURE__ */ new WeakMap());
|
|
12954
13086
|
(() => {
|
|
12955
13087
|
if (true) {
|
|
12956
13088
|
if (isNodeJS) {
|
|
@@ -12971,6 +13103,21 @@ __privateAdd(_PDFWorker, _workerPorts);
|
|
|
12971
13103
|
new Blob([wrapper], { type: "text/javascript" })
|
|
12972
13104
|
);
|
|
12973
13105
|
};
|
|
13106
|
+
_PDFWorker.fromPort = (params) => {
|
|
13107
|
+
deprecated(
|
|
13108
|
+
"`PDFWorker.fromPort` - please use `PDFWorker.create` instead."
|
|
13109
|
+
);
|
|
13110
|
+
if (!params?.port) {
|
|
13111
|
+
throw new Error("PDFWorker.fromPort - invalid method signature.");
|
|
13112
|
+
}
|
|
13113
|
+
return _PDFWorker.create(params);
|
|
13114
|
+
};
|
|
13115
|
+
}
|
|
13116
|
+
if (false) {
|
|
13117
|
+
_PDFWorker._resetGlobalState = () => {
|
|
13118
|
+
__privateSet(_PDFWorker, _isWorkerDisabled, false);
|
|
13119
|
+
delete globalThis.pdfjsWorker;
|
|
13120
|
+
};
|
|
12974
13121
|
}
|
|
12975
13122
|
})();
|
|
12976
13123
|
var PDFWorker = _PDFWorker;
|
|
@@ -13536,100 +13683,6 @@ cacheSimpleMethod_fn = function(name, data = null) {
|
|
|
13536
13683
|
__privateGet(this, _methodPromises).set(name, promise);
|
|
13537
13684
|
return promise;
|
|
13538
13685
|
};
|
|
13539
|
-
var INITIAL_DATA = Symbol("INITIAL_DATA");
|
|
13540
|
-
var _objs, _PDFObjects_instances, ensureObj_fn;
|
|
13541
|
-
var PDFObjects = class {
|
|
13542
|
-
constructor() {
|
|
13543
|
-
__privateAdd(this, _PDFObjects_instances);
|
|
13544
|
-
__privateAdd(this, _objs, /* @__PURE__ */ Object.create(null));
|
|
13545
|
-
}
|
|
13546
|
-
/**
|
|
13547
|
-
* If called *without* callback, this returns the data of `objId` but the
|
|
13548
|
-
* object needs to be resolved. If it isn't, this method throws.
|
|
13549
|
-
*
|
|
13550
|
-
* If called *with* a callback, the callback is called with the data of the
|
|
13551
|
-
* object once the object is resolved. That means, if you call this method
|
|
13552
|
-
* and the object is already resolved, the callback gets called right away.
|
|
13553
|
-
*
|
|
13554
|
-
* @param {string} objId
|
|
13555
|
-
* @param {function} [callback]
|
|
13556
|
-
* @returns {any}
|
|
13557
|
-
*/
|
|
13558
|
-
get(objId, callback = null) {
|
|
13559
|
-
if (callback) {
|
|
13560
|
-
const obj2 = __privateMethod(this, _PDFObjects_instances, ensureObj_fn).call(this, objId);
|
|
13561
|
-
obj2.promise.then(() => callback(obj2.data));
|
|
13562
|
-
return null;
|
|
13563
|
-
}
|
|
13564
|
-
const obj = __privateGet(this, _objs)[objId];
|
|
13565
|
-
if (!obj || obj.data === INITIAL_DATA) {
|
|
13566
|
-
throw new Error(`Requesting object that isn't resolved yet ${objId}.`);
|
|
13567
|
-
}
|
|
13568
|
-
return obj.data;
|
|
13569
|
-
}
|
|
13570
|
-
/**
|
|
13571
|
-
* @param {string} objId
|
|
13572
|
-
* @returns {boolean}
|
|
13573
|
-
*/
|
|
13574
|
-
has(objId) {
|
|
13575
|
-
const obj = __privateGet(this, _objs)[objId];
|
|
13576
|
-
return !!obj && obj.data !== INITIAL_DATA;
|
|
13577
|
-
}
|
|
13578
|
-
/**
|
|
13579
|
-
* @param {string} objId
|
|
13580
|
-
* @returns {boolean}
|
|
13581
|
-
*/
|
|
13582
|
-
delete(objId) {
|
|
13583
|
-
const obj = __privateGet(this, _objs)[objId];
|
|
13584
|
-
if (!obj || obj.data === INITIAL_DATA) {
|
|
13585
|
-
return false;
|
|
13586
|
-
}
|
|
13587
|
-
delete __privateGet(this, _objs)[objId];
|
|
13588
|
-
return true;
|
|
13589
|
-
}
|
|
13590
|
-
/**
|
|
13591
|
-
* Resolves the object `objId` with optional `data`.
|
|
13592
|
-
*
|
|
13593
|
-
* @param {string} objId
|
|
13594
|
-
* @param {any} [data]
|
|
13595
|
-
*/
|
|
13596
|
-
resolve(objId, data = null) {
|
|
13597
|
-
const obj = __privateMethod(this, _PDFObjects_instances, ensureObj_fn).call(this, objId);
|
|
13598
|
-
obj.data = data;
|
|
13599
|
-
obj.resolve();
|
|
13600
|
-
}
|
|
13601
|
-
clear() {
|
|
13602
|
-
for (const objId in __privateGet(this, _objs)) {
|
|
13603
|
-
const { data } = __privateGet(this, _objs)[objId];
|
|
13604
|
-
data?.bitmap?.close();
|
|
13605
|
-
}
|
|
13606
|
-
__privateSet(this, _objs, /* @__PURE__ */ Object.create(null));
|
|
13607
|
-
}
|
|
13608
|
-
*[Symbol.iterator]() {
|
|
13609
|
-
for (const objId in __privateGet(this, _objs)) {
|
|
13610
|
-
const { data } = __privateGet(this, _objs)[objId];
|
|
13611
|
-
if (data === INITIAL_DATA) {
|
|
13612
|
-
continue;
|
|
13613
|
-
}
|
|
13614
|
-
yield [objId, data];
|
|
13615
|
-
}
|
|
13616
|
-
}
|
|
13617
|
-
};
|
|
13618
|
-
_objs = new WeakMap();
|
|
13619
|
-
_PDFObjects_instances = new WeakSet();
|
|
13620
|
-
/**
|
|
13621
|
-
* Ensures there is an object defined for `objId`.
|
|
13622
|
-
*
|
|
13623
|
-
* @param {string} objId
|
|
13624
|
-
* @returns {Object}
|
|
13625
|
-
*/
|
|
13626
|
-
ensureObj_fn = function(objId) {
|
|
13627
|
-
var _a2;
|
|
13628
|
-
return (_a2 = __privateGet(this, _objs))[objId] || (_a2[objId] = {
|
|
13629
|
-
...Promise.withResolvers(),
|
|
13630
|
-
data: INITIAL_DATA
|
|
13631
|
-
});
|
|
13632
|
-
};
|
|
13633
13686
|
var _internalRenderTask;
|
|
13634
13687
|
var RenderTask = class {
|
|
13635
13688
|
constructor(internalRenderTask) {
|
|
@@ -17145,12 +17198,9 @@ var _FreeTextEditor = class _FreeTextEditor extends AnnotationEditor {
|
|
|
17145
17198
|
}
|
|
17146
17199
|
/** @inheritdoc */
|
|
17147
17200
|
enableEditMode() {
|
|
17148
|
-
if (
|
|
17149
|
-
return;
|
|
17201
|
+
if (!super.enableEditMode()) {
|
|
17202
|
+
return false;
|
|
17150
17203
|
}
|
|
17151
|
-
this.parent.setEditingState(false);
|
|
17152
|
-
this.parent.updateToolbar(AnnotationEditorType.FREETEXT);
|
|
17153
|
-
super.enableEditMode();
|
|
17154
17204
|
this.overlayDiv.classList.remove("enabled");
|
|
17155
17205
|
this.editorDiv.contentEditable = true;
|
|
17156
17206
|
this._isDraggable = false;
|
|
@@ -17180,14 +17230,13 @@ var _FreeTextEditor = class _FreeTextEditor extends AnnotationEditor {
|
|
|
17180
17230
|
this.editorDiv.addEventListener("paste", this.editorDivPaste.bind(this), {
|
|
17181
17231
|
signal
|
|
17182
17232
|
});
|
|
17233
|
+
return true;
|
|
17183
17234
|
}
|
|
17184
17235
|
/** @inheritdoc */
|
|
17185
17236
|
disableEditMode() {
|
|
17186
|
-
if (!
|
|
17187
|
-
return;
|
|
17237
|
+
if (!super.disableEditMode()) {
|
|
17238
|
+
return false;
|
|
17188
17239
|
}
|
|
17189
|
-
this.parent.setEditingState(true);
|
|
17190
|
-
super.disableEditMode();
|
|
17191
17240
|
this.overlayDiv.classList.add("enabled");
|
|
17192
17241
|
this.editorDiv.contentEditable = false;
|
|
17193
17242
|
this.div.setAttribute("aria-activedescendant", __privateGet(this, _editorDivId));
|
|
@@ -17199,6 +17248,7 @@ var _FreeTextEditor = class _FreeTextEditor extends AnnotationEditor {
|
|
|
17199
17248
|
});
|
|
17200
17249
|
this.isEditing = false;
|
|
17201
17250
|
this.parent.div.classList.add("freetextEditing");
|
|
17251
|
+
return true;
|
|
17202
17252
|
}
|
|
17203
17253
|
/** @inheritdoc */
|
|
17204
17254
|
focusin(event) {
|
|
@@ -17282,17 +17332,7 @@ var _FreeTextEditor = class _FreeTextEditor extends AnnotationEditor {
|
|
|
17282
17332
|
this.enableEditMode();
|
|
17283
17333
|
this.editorDiv.focus();
|
|
17284
17334
|
}
|
|
17285
|
-
/**
|
|
17286
|
-
* ondblclick callback.
|
|
17287
|
-
* @param {MouseEvent} event
|
|
17288
|
-
*/
|
|
17289
|
-
dblclick(event) {
|
|
17290
|
-
this.enterInEditMode();
|
|
17291
|
-
}
|
|
17292
|
-
/**
|
|
17293
|
-
* onkeydown callback.
|
|
17294
|
-
* @param {KeyboardEvent} event
|
|
17295
|
-
*/
|
|
17335
|
+
/** @inheritdoc */
|
|
17296
17336
|
keydown(event) {
|
|
17297
17337
|
if (event.target === this.div && event.key === "Enter") {
|
|
17298
17338
|
this.enterInEditMode();
|
|
@@ -17322,6 +17362,10 @@ var _FreeTextEditor = class _FreeTextEditor extends AnnotationEditor {
|
|
|
17322
17362
|
this.editorDiv.setAttribute("aria-multiline", true);
|
|
17323
17363
|
}
|
|
17324
17364
|
/** @inheritdoc */
|
|
17365
|
+
get canChangeContent() {
|
|
17366
|
+
return true;
|
|
17367
|
+
}
|
|
17368
|
+
/** @inheritdoc */
|
|
17325
17369
|
render() {
|
|
17326
17370
|
if (this.div) {
|
|
17327
17371
|
return this.div;
|
|
@@ -17346,7 +17390,6 @@ var _FreeTextEditor = class _FreeTextEditor extends AnnotationEditor {
|
|
|
17346
17390
|
this.overlayDiv = document.createElement("div");
|
|
17347
17391
|
this.overlayDiv.classList.add("overlay", "enabled");
|
|
17348
17392
|
this.div.append(this.overlayDiv);
|
|
17349
|
-
bindEvents(this, this.div, ["dblclick", "keydown"]);
|
|
17350
17393
|
if (this._isCopy || this.annotationElementId) {
|
|
17351
17394
|
const [parentWidth, parentHeight] = this.parentDimensions;
|
|
17352
17395
|
if (this.annotationElementId) {
|
|
@@ -22177,14 +22220,8 @@ getGrayPixels_fn = function(bitmap) {
|
|
|
22177
22220
|
const isteps = Math.floor(steps);
|
|
22178
22221
|
steps = steps === isteps ? isteps - 1 : isteps;
|
|
22179
22222
|
for (let i = 0; i < steps; i++) {
|
|
22180
|
-
newWidth = prevWidth;
|
|
22181
|
-
newHeight = prevHeight;
|
|
22182
|
-
if (newWidth > maxDim) {
|
|
22183
|
-
newWidth = Math.ceil(newWidth / 2);
|
|
22184
|
-
}
|
|
22185
|
-
if (newHeight > maxDim) {
|
|
22186
|
-
newHeight = Math.ceil(newHeight / 2);
|
|
22187
|
-
}
|
|
22223
|
+
newWidth = Math.ceil(prevWidth / 2);
|
|
22224
|
+
newHeight = Math.ceil(prevHeight / 2);
|
|
22188
22225
|
const offscreen2 = new OffscreenCanvas(newWidth, newHeight);
|
|
22189
22226
|
const ctx2 = offscreen2.getContext("2d");
|
|
22190
22227
|
ctx2.drawImage(
|
|
@@ -22258,7 +22295,7 @@ var SignatureOptions = class _SignatureOptions extends DrawingOptions {
|
|
|
22258
22295
|
constructor() {
|
|
22259
22296
|
super();
|
|
22260
22297
|
super.updateProperties({
|
|
22261
|
-
fill:
|
|
22298
|
+
fill: AnnotationEditor._defaultLineColor,
|
|
22262
22299
|
"stroke-width": 0
|
|
22263
22300
|
});
|
|
22264
22301
|
}
|
|
@@ -22272,7 +22309,7 @@ var DrawnSignatureOptions = class _DrawnSignatureOptions extends InkDrawingOptio
|
|
|
22272
22309
|
constructor(viewerParameters) {
|
|
22273
22310
|
super(viewerParameters);
|
|
22274
22311
|
super.updateProperties({
|
|
22275
|
-
stroke:
|
|
22312
|
+
stroke: AnnotationEditor._defaultLineColor,
|
|
22276
22313
|
"stroke-width": 1
|
|
22277
22314
|
});
|
|
22278
22315
|
}
|
|
@@ -22645,9 +22682,10 @@ var StampEditor = class extends AnnotationEditor {
|
|
|
22645
22682
|
}
|
|
22646
22683
|
/** @inheritdoc */
|
|
22647
22684
|
static paste(item, parent) {
|
|
22648
|
-
parent.pasteEditor(
|
|
22649
|
-
|
|
22650
|
-
|
|
22685
|
+
parent.pasteEditor(
|
|
22686
|
+
{ mode: AnnotationEditorType.STAMP },
|
|
22687
|
+
{ bitmapFile: item.getAsFile() }
|
|
22688
|
+
);
|
|
22651
22689
|
}
|
|
22652
22690
|
/** @inheritdoc */
|
|
22653
22691
|
altTextFinish() {
|
|
@@ -23412,10 +23450,10 @@ var _AnnotationEditorLayer = class _AnnotationEditorLayer {
|
|
|
23412
23450
|
}
|
|
23413
23451
|
/**
|
|
23414
23452
|
* Update the toolbar if it's required to reflect the tool currently used.
|
|
23415
|
-
* @param {
|
|
23453
|
+
* @param {Object} options
|
|
23416
23454
|
*/
|
|
23417
|
-
updateToolbar(
|
|
23418
|
-
__privateGet(this, _uiManager3).updateToolbar(
|
|
23455
|
+
updateToolbar(options) {
|
|
23456
|
+
__privateGet(this, _uiManager3).updateToolbar(options);
|
|
23419
23457
|
}
|
|
23420
23458
|
/**
|
|
23421
23459
|
* The mode has changed: it must be updated.
|
|
@@ -23774,12 +23812,12 @@ var _AnnotationEditorLayer = class _AnnotationEditorLayer {
|
|
|
23774
23812
|
}
|
|
23775
23813
|
/**
|
|
23776
23814
|
* Paste some content into a new editor.
|
|
23777
|
-
* @param {
|
|
23815
|
+
* @param {Object} options
|
|
23778
23816
|
* @param {Object} params
|
|
23779
23817
|
*/
|
|
23780
|
-
async pasteEditor(
|
|
23781
|
-
|
|
23782
|
-
await __privateGet(this, _uiManager3).updateMode(mode);
|
|
23818
|
+
async pasteEditor(options, params) {
|
|
23819
|
+
this.updateToolbar(options);
|
|
23820
|
+
await __privateGet(this, _uiManager3).updateMode(options.mode);
|
|
23783
23821
|
const { offsetX, offsetY } = __privateMethod(this, _AnnotationEditorLayer_instances, getCenterPoint_fn).call(this);
|
|
23784
23822
|
const id = this.getNextId();
|
|
23785
23823
|
const editor = __privateMethod(this, _AnnotationEditorLayer_instances, createNewEditor_fn).call(this, {
|
|
@@ -24355,10 +24393,63 @@ var DrawLayer = _DrawLayer;
|
|
|
24355
24393
|
|
|
24356
24394
|
// src/pdf.js/src/pdf.js
|
|
24357
24395
|
if (false) {
|
|
24358
|
-
globalThis.
|
|
24396
|
+
globalThis._pdfjsTestingUtils = {
|
|
24359
24397
|
HighlightOutliner
|
|
24360
24398
|
};
|
|
24361
24399
|
}
|
|
24400
|
+
globalThis.pdfjsLib = {
|
|
24401
|
+
AbortException,
|
|
24402
|
+
AnnotationEditorLayer,
|
|
24403
|
+
AnnotationEditorParamsType,
|
|
24404
|
+
AnnotationEditorType,
|
|
24405
|
+
AnnotationEditorUIManager,
|
|
24406
|
+
AnnotationLayer,
|
|
24407
|
+
AnnotationMode,
|
|
24408
|
+
AnnotationType,
|
|
24409
|
+
build,
|
|
24410
|
+
ColorPicker,
|
|
24411
|
+
createValidAbsoluteUrl,
|
|
24412
|
+
DOMSVGFactory,
|
|
24413
|
+
DrawLayer,
|
|
24414
|
+
FeatureTest,
|
|
24415
|
+
fetchData,
|
|
24416
|
+
getDocument,
|
|
24417
|
+
getFilenameFromUrl,
|
|
24418
|
+
getPdfFilenameFromUrl,
|
|
24419
|
+
getUuid,
|
|
24420
|
+
getXfaPageViewport,
|
|
24421
|
+
GlobalWorkerOptions,
|
|
24422
|
+
ImageKind,
|
|
24423
|
+
InvalidPDFException,
|
|
24424
|
+
isDataScheme,
|
|
24425
|
+
isPdfFile,
|
|
24426
|
+
isValidExplicitDest,
|
|
24427
|
+
MathClamp,
|
|
24428
|
+
noContextMenu,
|
|
24429
|
+
normalizeUnicode,
|
|
24430
|
+
OPS,
|
|
24431
|
+
OutputScale,
|
|
24432
|
+
PasswordResponses,
|
|
24433
|
+
PDFDataRangeTransport,
|
|
24434
|
+
PDFDateString,
|
|
24435
|
+
PDFWorker,
|
|
24436
|
+
PermissionFlag,
|
|
24437
|
+
PixelsPerInch,
|
|
24438
|
+
RenderingCancelledException,
|
|
24439
|
+
ResponseException,
|
|
24440
|
+
setLayerDimensions,
|
|
24441
|
+
shadow,
|
|
24442
|
+
SignatureExtractor,
|
|
24443
|
+
stopEvent,
|
|
24444
|
+
SupportedImageMimeTypes,
|
|
24445
|
+
TextLayer,
|
|
24446
|
+
TouchManager,
|
|
24447
|
+
updateUrlHash,
|
|
24448
|
+
Util,
|
|
24449
|
+
VerbosityLevel,
|
|
24450
|
+
version,
|
|
24451
|
+
XfaLayer
|
|
24452
|
+
};
|
|
24362
24453
|
|
|
24363
24454
|
// src/lib/AnnotationOperatorsList.ts
|
|
24364
24455
|
var AnnotationOperatorsList = class {
|
|
@@ -25357,6 +25448,33 @@ function makeSerializable(object) {
|
|
|
25357
25448
|
])
|
|
25358
25449
|
);
|
|
25359
25450
|
}
|
|
25451
|
+
function colorToRgb(color) {
|
|
25452
|
+
if (color.startsWith("#")) {
|
|
25453
|
+
const hex = color.slice(1);
|
|
25454
|
+
if (hex.length === 3) {
|
|
25455
|
+
return [
|
|
25456
|
+
Number.parseInt(hex[0] + hex[0], 16),
|
|
25457
|
+
Number.parseInt(hex[1] + hex[1], 16),
|
|
25458
|
+
Number.parseInt(hex[2] + hex[2], 16)
|
|
25459
|
+
];
|
|
25460
|
+
}
|
|
25461
|
+
if (hex.length === 6) {
|
|
25462
|
+
return [
|
|
25463
|
+
Number.parseInt(hex.slice(0, 2), 16),
|
|
25464
|
+
Number.parseInt(hex.slice(2, 4), 16),
|
|
25465
|
+
Number.parseInt(hex.slice(4, 6), 16)
|
|
25466
|
+
];
|
|
25467
|
+
}
|
|
25468
|
+
}
|
|
25469
|
+
throw new Error(`Invalid color format: ${color}`);
|
|
25470
|
+
}
|
|
25471
|
+
function rgbToHex(r, g, b) {
|
|
25472
|
+
const toHex = (value) => value.toString(16).padStart(2, "0");
|
|
25473
|
+
if (Array.isArray(r)) {
|
|
25474
|
+
return `#${toHex(r[0])}${toHex(r[1])}${toHex(r[2])}`;
|
|
25475
|
+
}
|
|
25476
|
+
return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
|
|
25477
|
+
}
|
|
25360
25478
|
|
|
25361
25479
|
// src/lib/PDFPageProxy.ts
|
|
25362
25480
|
var getAnnotations = PDFPageProxy.prototype.getAnnotations;
|
|
@@ -25482,10 +25600,18 @@ PDFPageProxy.prototype.getAnnotations = async function(params) {
|
|
|
25482
25600
|
annotation.borderStyle.width = currentLineWidth;
|
|
25483
25601
|
}
|
|
25484
25602
|
if (fn === OPS.setStrokeRGBColor && firstStroke) {
|
|
25485
|
-
|
|
25603
|
+
if (typeof args[0] === "string") {
|
|
25604
|
+
annotation.color = colorToRgb(args[0]);
|
|
25605
|
+
} else {
|
|
25606
|
+
annotation.color = args;
|
|
25607
|
+
}
|
|
25486
25608
|
}
|
|
25487
25609
|
if (fn === OPS.setFillRGBColor && firstFill) {
|
|
25488
|
-
|
|
25610
|
+
if (typeof args[0] === "string") {
|
|
25611
|
+
currentFillColor = colorToRgb(args[0]);
|
|
25612
|
+
} else {
|
|
25613
|
+
currentFillColor = args;
|
|
25614
|
+
}
|
|
25489
25615
|
}
|
|
25490
25616
|
if (fn === OPS.setGState) {
|
|
25491
25617
|
for (const entry of args[0]) {
|
|
@@ -25528,11 +25654,11 @@ var WasmFactory = class {
|
|
|
25528
25654
|
async fetch({ filename }) {
|
|
25529
25655
|
switch (filename) {
|
|
25530
25656
|
case "openjpeg.wasm":
|
|
25531
|
-
return import("./openjpeg-
|
|
25657
|
+
return import("./openjpeg-K2XBCFFN.js").then(
|
|
25532
25658
|
(module) => module.default
|
|
25533
25659
|
);
|
|
25534
25660
|
case "qcms_bg":
|
|
25535
|
-
return import("./qcms_bg-
|
|
25661
|
+
return import("./qcms_bg-Q7BRLLZG.js").then(
|
|
25536
25662
|
(module) => module.default
|
|
25537
25663
|
);
|
|
25538
25664
|
}
|
|
@@ -26198,6 +26324,7 @@ export {
|
|
|
26198
26324
|
XfaLayer,
|
|
26199
26325
|
build,
|
|
26200
26326
|
canvasToData,
|
|
26327
|
+
colorToRgb,
|
|
26201
26328
|
createCanvas,
|
|
26202
26329
|
createSvgContext,
|
|
26203
26330
|
createTextLayer,
|
|
@@ -26249,10 +26376,12 @@ export {
|
|
|
26249
26376
|
makeSerializable,
|
|
26250
26377
|
noContextMenu,
|
|
26251
26378
|
normalizeUnicode,
|
|
26379
|
+
rgbToHex,
|
|
26252
26380
|
setLayerDimensions,
|
|
26253
26381
|
shadow,
|
|
26254
26382
|
stopEvent,
|
|
26255
26383
|
toDataUrl,
|
|
26256
26384
|
toSvgNode,
|
|
26385
|
+
updateUrlHash,
|
|
26257
26386
|
version
|
|
26258
26387
|
};
|