@adnsistemas/pdf-lib 2.6.3 → 2.7.0
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/README.md +44 -0
- package/cjs/api/PDFDocument.d.ts +22 -0
- package/cjs/api/PDFDocument.d.ts.map +1 -1
- package/cjs/api/PDFDocument.js +54 -5
- package/cjs/api/PDFDocument.js.map +1 -1
- package/cjs/api/PDFDocumentOptions.d.ts +1 -0
- package/cjs/api/PDFDocumentOptions.d.ts.map +1 -1
- package/cjs/api/PDFFont.d.ts +1 -1
- package/cjs/api/PDFFont.d.ts.map +1 -1
- package/cjs/api/PDFFont.js +3 -5
- package/cjs/api/PDFFont.js.map +1 -1
- package/cjs/core/PDFContext.d.ts +2 -0
- package/cjs/core/PDFContext.d.ts.map +1 -1
- package/cjs/core/PDFContext.js +43 -2
- package/cjs/core/PDFContext.js.map +1 -1
- package/cjs/core/objects/PDFArray.d.ts +1 -0
- package/cjs/core/objects/PDFArray.d.ts.map +1 -1
- package/cjs/core/objects/PDFArray.js +7 -0
- package/cjs/core/objects/PDFArray.js.map +1 -1
- package/cjs/core/objects/PDFRawStream.d.ts.map +1 -1
- package/cjs/core/objects/PDFRawStream.js +1 -0
- package/cjs/core/objects/PDFRawStream.js.map +1 -1
- package/dist/pdf-lib.esm.js +108 -12
- package/dist/pdf-lib.esm.js.map +1 -1
- package/dist/pdf-lib.esm.min.js +2 -2
- package/dist/pdf-lib.esm.min.js.map +1 -1
- package/dist/pdf-lib.js +108 -12
- package/dist/pdf-lib.js.map +1 -1
- package/dist/pdf-lib.min.js +2 -2
- package/dist/pdf-lib.min.js.map +1 -1
- package/es/api/PDFDocument.d.ts +22 -0
- package/es/api/PDFDocument.d.ts.map +1 -1
- package/es/api/PDFDocument.js +54 -5
- package/es/api/PDFDocument.js.map +1 -1
- package/es/api/PDFDocumentOptions.d.ts +1 -0
- package/es/api/PDFDocumentOptions.d.ts.map +1 -1
- package/es/api/PDFFont.d.ts +1 -1
- package/es/api/PDFFont.d.ts.map +1 -1
- package/es/api/PDFFont.js +3 -5
- package/es/api/PDFFont.js.map +1 -1
- package/es/core/PDFContext.d.ts +2 -0
- package/es/core/PDFContext.d.ts.map +1 -1
- package/es/core/PDFContext.js +43 -2
- package/es/core/PDFContext.js.map +1 -1
- package/es/core/objects/PDFArray.d.ts +1 -0
- package/es/core/objects/PDFArray.d.ts.map +1 -1
- package/es/core/objects/PDFArray.js +7 -0
- package/es/core/objects/PDFArray.js.map +1 -1
- package/es/core/objects/PDFRawStream.d.ts.map +1 -1
- package/es/core/objects/PDFRawStream.js +1 -0
- package/es/core/objects/PDFRawStream.js.map +1 -1
- package/package.json +3 -2
- package/src/api/PDFDocument.ts +70 -4
- package/src/api/PDFDocumentOptions.ts +1 -0
- package/src/api/PDFFont.ts +3 -5
- package/src/core/PDFContext.ts +42 -1
- package/src/core/objects/PDFArray.ts +8 -0
- package/src/core/objects/PDFRawStream.ts +1 -0
- package/ts3.4/cjs/api/PDFDocument.d.ts +22 -0
- package/ts3.4/cjs/api/PDFDocumentOptions.d.ts +1 -0
- package/ts3.4/cjs/api/PDFFont.d.ts +1 -1
- package/ts3.4/cjs/core/PDFContext.d.ts +2 -0
- package/ts3.4/cjs/core/objects/PDFArray.d.ts +1 -0
- package/ts3.4/es/api/PDFDocument.d.ts +22 -0
- package/ts3.4/es/api/PDFDocumentOptions.d.ts +1 -0
- package/ts3.4/es/api/PDFFont.d.ts +1 -1
- package/ts3.4/es/core/PDFContext.d.ts +2 -0
- package/ts3.4/es/core/objects/PDFArray.d.ts +1 -0
|
@@ -15,9 +15,11 @@ class PDFArray extends PDFObject_1.default {
|
|
|
15
15
|
return this.array.length;
|
|
16
16
|
}
|
|
17
17
|
push(object) {
|
|
18
|
+
this.registerChange();
|
|
18
19
|
this.array.push(object);
|
|
19
20
|
}
|
|
20
21
|
insert(index, object) {
|
|
22
|
+
this.registerChange();
|
|
21
23
|
this.array.splice(index, 0, object);
|
|
22
24
|
}
|
|
23
25
|
indexOf(object) {
|
|
@@ -25,9 +27,11 @@ class PDFArray extends PDFObject_1.default {
|
|
|
25
27
|
return index === -1 ? undefined : index;
|
|
26
28
|
}
|
|
27
29
|
remove(index) {
|
|
30
|
+
this.registerChange();
|
|
28
31
|
this.array.splice(index, 1);
|
|
29
32
|
}
|
|
30
33
|
set(idx, object) {
|
|
34
|
+
this.registerChange();
|
|
31
35
|
this.array[idx] = object;
|
|
32
36
|
}
|
|
33
37
|
get(index) {
|
|
@@ -102,6 +106,9 @@ class PDFArray extends PDFObject_1.default {
|
|
|
102
106
|
}
|
|
103
107
|
}
|
|
104
108
|
}
|
|
109
|
+
registerChange() {
|
|
110
|
+
this.context.registerObjectChange(this);
|
|
111
|
+
}
|
|
105
112
|
}
|
|
106
113
|
PDFArray.withContext = (context) => new PDFArray(context);
|
|
107
114
|
exports.default = PDFArray;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PDFArray.js","sourceRoot":"","sources":["../../../src/core/objects/PDFArray.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PDFArray.js","sourceRoot":"","sources":["../../../src/core/objects/PDFArray.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PDFRawStream.d.ts","sourceRoot":"","sources":["../../../src/core/objects/PDFRawStream.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,UAAU,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,cAAM,YAAa,SAAQ,SAAS;IAClC,MAAM,CAAC,EAAE,SACD,OAAO,YACH,UAAU,cACR,eAAe,kBACoB;IAEjD,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IAErC,OAAO;IAUP,YAAY,IAAI,UAAU;IAI1B,KAAK,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,YAAY;IAIzC,iBAAiB,IAAI,MAAM;IAI3B,WAAW,IAAI,UAAU;IAIzB,eAAe,IAAI,MAAM;IAIzB,cAAc,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"PDFRawStream.d.ts","sourceRoot":"","sources":["../../../src/core/objects/PDFRawStream.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,UAAU,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,cAAM,YAAa,SAAQ,SAAS;IAClC,MAAM,CAAC,EAAE,SACD,OAAO,YACH,UAAU,cACR,eAAe,kBACoB;IAEjD,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IAErC,OAAO;IAUP,YAAY,IAAI,UAAU;IAI1B,KAAK,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,YAAY;IAIzC,iBAAiB,IAAI,MAAM;IAI3B,WAAW,IAAI,UAAU;IAIzB,eAAe,IAAI,MAAM;IAIzB,cAAc,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;CAI3C;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PDFRawStream.js","sourceRoot":"","sources":["../../../src/core/objects/PDFRawStream.ts"],"names":[],"mappings":";;;AACA,oEAAoC;AAEpC,uCAA4C;AAG5C,MAAM,YAAa,SAAQ,mBAAS;IAUlC,YACE,IAAa,EACb,QAAoB,EACpB,SAA2B;QAE3B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,OAAoB;QACxB,OAAO,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,iBAAiB;QACf,OAAO,IAAA,qBAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,cAAc,CAAC,QAAoB;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;;
|
|
1
|
+
{"version":3,"file":"PDFRawStream.js","sourceRoot":"","sources":["../../../src/core/objects/PDFRawStream.ts"],"names":[],"mappings":";;;AACA,oEAAoC;AAEpC,uCAA4C;AAG5C,MAAM,YAAa,SAAQ,mBAAS;IAUlC,YACE,IAAa,EACb,QAAoB,EACpB,SAA2B;QAE3B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,OAAoB;QACxB,OAAO,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,iBAAiB;QACf,OAAO,IAAA,qBAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,cAAc,CAAC,QAAoB;QACjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;;AA1CM,eAAE,GAAG,CACV,IAAa,EACb,QAAoB,EACpB,SAA2B,EAC3B,EAAE,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAyCnD,kBAAe,YAAY,CAAC"}
|
package/dist/pdf-lib.esm.js
CHANGED
|
@@ -8335,9 +8335,11 @@ class PDFArray extends PDFObject {
|
|
|
8335
8335
|
return this.array.length;
|
|
8336
8336
|
}
|
|
8337
8337
|
push(object) {
|
|
8338
|
+
this.registerChange();
|
|
8338
8339
|
this.array.push(object);
|
|
8339
8340
|
}
|
|
8340
8341
|
insert(index, object) {
|
|
8342
|
+
this.registerChange();
|
|
8341
8343
|
this.array.splice(index, 0, object);
|
|
8342
8344
|
}
|
|
8343
8345
|
indexOf(object) {
|
|
@@ -8345,9 +8347,11 @@ class PDFArray extends PDFObject {
|
|
|
8345
8347
|
return index === -1 ? undefined : index;
|
|
8346
8348
|
}
|
|
8347
8349
|
remove(index) {
|
|
8350
|
+
this.registerChange();
|
|
8348
8351
|
this.array.splice(index, 1);
|
|
8349
8352
|
}
|
|
8350
8353
|
set(idx, object) {
|
|
8354
|
+
this.registerChange();
|
|
8351
8355
|
this.array[idx] = object;
|
|
8352
8356
|
}
|
|
8353
8357
|
get(index) {
|
|
@@ -8422,6 +8426,9 @@ class PDFArray extends PDFObject {
|
|
|
8422
8426
|
}
|
|
8423
8427
|
}
|
|
8424
8428
|
}
|
|
8429
|
+
registerChange() {
|
|
8430
|
+
this.context.registerObjectChange(this);
|
|
8431
|
+
}
|
|
8425
8432
|
}
|
|
8426
8433
|
PDFArray.withContext = (context) => new PDFArray(context);
|
|
8427
8434
|
|
|
@@ -8911,6 +8918,7 @@ class PDFRawStream extends PDFStream {
|
|
|
8911
8918
|
return this.contents.length;
|
|
8912
8919
|
}
|
|
8913
8920
|
updateContents(contents) {
|
|
8921
|
+
this.dict.registerChange();
|
|
8914
8922
|
this.contents = contents;
|
|
8915
8923
|
}
|
|
8916
8924
|
}
|
|
@@ -9527,8 +9535,49 @@ class PDFContext {
|
|
|
9527
9535
|
return `${prefix}-${Math.floor(this.rng.nextInt() * Math.pow(10, suffixLength))}`;
|
|
9528
9536
|
}
|
|
9529
9537
|
registerObjectChange(obj) {
|
|
9530
|
-
if (this.snapshot)
|
|
9531
|
-
|
|
9538
|
+
if (!this.snapshot)
|
|
9539
|
+
return;
|
|
9540
|
+
const ref = this.getObjectRef(obj);
|
|
9541
|
+
if (ref) {
|
|
9542
|
+
this.snapshot.markRefForSave(ref);
|
|
9543
|
+
return;
|
|
9544
|
+
}
|
|
9545
|
+
const containingRef = this.findContainingIndirectObject(obj);
|
|
9546
|
+
if (containingRef) {
|
|
9547
|
+
this.snapshot.markRefForSave(containingRef);
|
|
9548
|
+
}
|
|
9549
|
+
}
|
|
9550
|
+
findContainingIndirectObject(target) {
|
|
9551
|
+
const entries = Array.from(this.indirectObjects.entries());
|
|
9552
|
+
for (let idx = 0, len = entries.length; idx < len; idx++) {
|
|
9553
|
+
const [ref, object] = entries[idx];
|
|
9554
|
+
if (this.objectContains(object, target)) {
|
|
9555
|
+
return ref;
|
|
9556
|
+
}
|
|
9557
|
+
}
|
|
9558
|
+
return undefined;
|
|
9559
|
+
}
|
|
9560
|
+
objectContains(container, target) {
|
|
9561
|
+
if (container === target)
|
|
9562
|
+
return true;
|
|
9563
|
+
if (container instanceof PDFDict) {
|
|
9564
|
+
const values = container.values();
|
|
9565
|
+
for (let i = 0, len = values.length; i < len; i++) {
|
|
9566
|
+
if (this.objectContains(values[i], target))
|
|
9567
|
+
return true;
|
|
9568
|
+
}
|
|
9569
|
+
}
|
|
9570
|
+
else if (container instanceof PDFArray) {
|
|
9571
|
+
for (let i = 0, len = container.size(); i < len; i++) {
|
|
9572
|
+
if (this.objectContains(container.get(i), target))
|
|
9573
|
+
return true;
|
|
9574
|
+
}
|
|
9575
|
+
}
|
|
9576
|
+
else if (container instanceof PDFStream) {
|
|
9577
|
+
if (this.objectContains(container.dict, target))
|
|
9578
|
+
return true;
|
|
9579
|
+
}
|
|
9580
|
+
return false;
|
|
9532
9581
|
}
|
|
9533
9582
|
getObjectVersions(ref) {
|
|
9534
9583
|
if (!this.preserveObjectsVersions)
|
|
@@ -30164,7 +30213,7 @@ PDFEmbeddedPage.of = (ref, doc, embedder) => new PDFEmbeddedPage(ref, doc, embed
|
|
|
30164
30213
|
*/
|
|
30165
30214
|
class PDFFont {
|
|
30166
30215
|
constructor(ref, doc, embedder) {
|
|
30167
|
-
this.
|
|
30216
|
+
this.alreadyEmbedded = false;
|
|
30168
30217
|
assertIs(ref, 'ref', [[PDFRef, 'PDFRef']]);
|
|
30169
30218
|
assertIs(doc, 'doc', [[PDFDocument, 'PDFDocument']]);
|
|
30170
30219
|
assertIs(embedder, 'embedder', [
|
|
@@ -30188,7 +30237,6 @@ class PDFFont {
|
|
|
30188
30237
|
*/
|
|
30189
30238
|
encodeText(text) {
|
|
30190
30239
|
assertIs(text, 'text', ['string']);
|
|
30191
|
-
this.modified = true;
|
|
30192
30240
|
return this.embedder.encodeText(text);
|
|
30193
30241
|
}
|
|
30194
30242
|
/**
|
|
@@ -30263,10 +30311,9 @@ class PDFFont {
|
|
|
30263
30311
|
*/
|
|
30264
30312
|
embed() {
|
|
30265
30313
|
return __awaiter(this, void 0, void 0, function* () {
|
|
30266
|
-
|
|
30267
|
-
if (this.modified) {
|
|
30314
|
+
if (!this.alreadyEmbedded) {
|
|
30268
30315
|
yield this.embedder.embedIntoContext(this.doc.context, this.ref);
|
|
30269
|
-
this.
|
|
30316
|
+
this.alreadyEmbedded = true;
|
|
30270
30317
|
}
|
|
30271
30318
|
});
|
|
30272
30319
|
}
|
|
@@ -37042,7 +37089,10 @@ class PDFDocument {
|
|
|
37042
37089
|
*/
|
|
37043
37090
|
save(options = {}) {
|
|
37044
37091
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37045
|
-
|
|
37092
|
+
// check PDF version
|
|
37093
|
+
const vparts = this.context.header.getVersionString().split('.');
|
|
37094
|
+
const uOS = options.rewrite || Number(vparts[0]) > 1 || Number(vparts[1]) >= 5;
|
|
37095
|
+
const { useObjectStreams = uOS, objectsPerTick = 50, rewrite = false, } = options;
|
|
37046
37096
|
assertIs(useObjectStreams, 'useObjectStreams', ['boolean']);
|
|
37047
37097
|
assertIs(objectsPerTick, 'objectsPerTick', ['number']);
|
|
37048
37098
|
assertIs(rewrite, 'rewrite', ['boolean']);
|
|
@@ -37085,13 +37135,14 @@ class PDFDocument {
|
|
|
37085
37135
|
*/
|
|
37086
37136
|
saveIncremental(snapshot, options = {}) {
|
|
37087
37137
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37138
|
+
// check PDF version
|
|
37139
|
+
const vparts = this.context.header.getVersionString().split('.');
|
|
37140
|
+
const uOS = Number(vparts[0]) > 1 || Number(vparts[1]) >= 5;
|
|
37088
37141
|
const { objectsPerTick = 50 } = options;
|
|
37089
37142
|
assertIs(objectsPerTick, 'objectsPerTick', ['number']);
|
|
37090
|
-
const saveOptions = Object.assign(Object.assign({}, options), { addDefaultPage: false, updateFieldAppearances: false });
|
|
37143
|
+
const saveOptions = Object.assign(Object.assign({ useObjectStreams: uOS }, options), { addDefaultPage: false, updateFieldAppearances: false });
|
|
37091
37144
|
yield this.prepareForSave(saveOptions);
|
|
37092
|
-
const Writer =
|
|
37093
|
-
? PDFStreamWriter
|
|
37094
|
-
: PDFWriter;
|
|
37145
|
+
const Writer = saveOptions.useObjectStreams ? PDFStreamWriter : PDFWriter;
|
|
37095
37146
|
return Writer.forContextWithSnapshot(this.context, objectsPerTick, snapshot).serializeToBuffer();
|
|
37096
37147
|
});
|
|
37097
37148
|
}
|
|
@@ -37184,6 +37235,51 @@ class PDFDocument {
|
|
|
37184
37235
|
.map((value) => value[1])
|
|
37185
37236
|
.filter((ov) => ov.actual || ov.previous.length);
|
|
37186
37237
|
}
|
|
37238
|
+
/**
|
|
37239
|
+
* Saves the current changes to the document as an incremental update, returns the full document,
|
|
37240
|
+
* like save method, and modifies the internal state to be able to continue editing the document
|
|
37241
|
+
* for another incremental update.
|
|
37242
|
+
* This allows you to save multiple incremental updates without reloading the PDF.
|
|
37243
|
+
*
|
|
37244
|
+
* For example:
|
|
37245
|
+
* ```js
|
|
37246
|
+
* const pdfDoc = await PDFDocument.load(pdfBytes, { forIncrementalUpdate: true })
|
|
37247
|
+
*
|
|
37248
|
+
* const page = pdfDoc.getPage(0)
|
|
37249
|
+
* page.drawText('First update')
|
|
37250
|
+
* const firstsave = await pdfDoc.saveAndContinue()
|
|
37251
|
+
*
|
|
37252
|
+
* page.drawText('Second update', { y: 100 })
|
|
37253
|
+
* const secondsave = await pdfDoc.saveAndContinue()
|
|
37254
|
+
* ```
|
|
37255
|
+
*
|
|
37256
|
+
* @param options The options to be used when saving changes.
|
|
37257
|
+
* @returns Resolves with the complete PDF bytes including all updates.
|
|
37258
|
+
*/
|
|
37259
|
+
saveAndContinue(options = {}) {
|
|
37260
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37261
|
+
if (!this.context.pdfFileDetails.originalBytes || !this.context.snapshot) {
|
|
37262
|
+
throw new Error('saveAndContinue() requires the document to be loaded with forIncrementalUpdate: true');
|
|
37263
|
+
}
|
|
37264
|
+
const originalBytes = this.context.pdfFileDetails.originalBytes;
|
|
37265
|
+
const incrementalBytes = yield this.saveIncremental(this.context.snapshot, options);
|
|
37266
|
+
const newPdfBytes = new Uint8Array(originalBytes.byteLength + incrementalBytes.byteLength);
|
|
37267
|
+
newPdfBytes.set(originalBytes);
|
|
37268
|
+
newPdfBytes.set(incrementalBytes, originalBytes.byteLength);
|
|
37269
|
+
this.context.pdfFileDetails.originalBytes = newPdfBytes;
|
|
37270
|
+
this.context.pdfFileDetails.pdfSize = newPdfBytes.byteLength;
|
|
37271
|
+
const incrementalStr = new TextDecoder('latin1').decode(incrementalBytes);
|
|
37272
|
+
const startxrefMatch = incrementalStr.match(/startxref\s+(\d+)/);
|
|
37273
|
+
if (startxrefMatch) {
|
|
37274
|
+
this.context.pdfFileDetails.prevStartXRef = parseInt(startxrefMatch[1], 10);
|
|
37275
|
+
}
|
|
37276
|
+
else {
|
|
37277
|
+
this.context.pdfFileDetails.prevStartXRef = originalBytes.byteLength;
|
|
37278
|
+
}
|
|
37279
|
+
this.context.snapshot = this.takeSnapshot();
|
|
37280
|
+
return newPdfBytes;
|
|
37281
|
+
});
|
|
37282
|
+
}
|
|
37187
37283
|
prepareForSave(options) {
|
|
37188
37284
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37189
37285
|
const { addDefaultPage = true, updateFieldAppearances = true } = options;
|