@adnsistemas/pdf-lib 2.6.2 → 2.6.3
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/cjs/core/writers/PDFStreamWriter.d.ts +2 -0
- package/cjs/core/writers/PDFStreamWriter.d.ts.map +1 -1
- package/cjs/core/writers/PDFStreamWriter.js +19 -0
- package/cjs/core/writers/PDFStreamWriter.js.map +1 -1
- package/dist/pdf-lib.esm.js +18 -0
- package/dist/pdf-lib.esm.js.map +1 -1
- package/dist/pdf-lib.esm.min.js +3 -3
- package/dist/pdf-lib.esm.min.js.map +1 -1
- package/dist/pdf-lib.js +18 -0
- package/dist/pdf-lib.js.map +1 -1
- package/dist/pdf-lib.min.js +3 -3
- package/dist/pdf-lib.min.js.map +1 -1
- package/es/core/writers/PDFStreamWriter.d.ts +2 -0
- package/es/core/writers/PDFStreamWriter.d.ts.map +1 -1
- package/es/core/writers/PDFStreamWriter.js +19 -0
- package/es/core/writers/PDFStreamWriter.js.map +1 -1
- package/package.json +1 -1
- package/src/core/writers/PDFStreamWriter.ts +14 -0
- package/ts3.4/cjs/core/writers/PDFStreamWriter.d.ts +2 -0
- package/ts3.4/es/core/writers/PDFStreamWriter.d.ts +2 -0
|
@@ -11,12 +11,14 @@ declare class PDFStreamWriter extends PDFWriter {
|
|
|
11
11
|
private readonly encodeStreams;
|
|
12
12
|
private readonly objectsPerStream;
|
|
13
13
|
private constructor();
|
|
14
|
+
private _refToDeleteAfterSave;
|
|
14
15
|
protected computeBufferSize(incremental: boolean): Promise<{
|
|
15
16
|
size: number;
|
|
16
17
|
header: PDFHeader;
|
|
17
18
|
indirectObjects: [PDFRef, PDFObject][];
|
|
18
19
|
trailer: PDFTrailer;
|
|
19
20
|
}>;
|
|
21
|
+
serializeToBuffer(): Promise<Uint8Array>;
|
|
20
22
|
}
|
|
21
23
|
export default PDFStreamWriter;
|
|
22
24
|
//# sourceMappingURL=PDFStreamWriter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PDFStreamWriter.d.ts","sourceRoot":"","sources":["../../../src/core/writers/PDFStreamWriter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAIhD,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,UAAU,MAAM,eAAe,CAAC;AAGvC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAO7C,cAAM,eAAgB,SAAQ,SAAS;IACrC,MAAM,CAAC,UAAU,YACN,UAAU,kBACH,MAAM,yEAUpB;IAEJ,MAAM,CAAC,sBAAsB,YAClB,UAAU,kBACH,MAAM,YACZ,gBAAgB,yEAUxB;IAEJ,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,OAAO;
|
|
1
|
+
{"version":3,"file":"PDFStreamWriter.d.ts","sourceRoot":"","sources":["../../../src/core/writers/PDFStreamWriter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAIhD,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,UAAU,MAAM,eAAe,CAAC;AAGvC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAO7C,cAAM,eAAgB,SAAQ,SAAS;IACrC,MAAM,CAAC,UAAU,YACN,UAAU,kBACH,MAAM,yEAUpB;IAEJ,MAAM,CAAC,sBAAsB,YAClB,UAAU,kBACH,MAAM,YACZ,gBAAgB,yEAUxB;IAEJ,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,OAAO;IAcP,OAAO,CAAC,qBAAqB,CAAK;cAClB,iBAAiB,CAAC,WAAW,EAAE,OAAO;;;;;;IA2GvC,iBAAiB,IAAI,OAAO,CAAC,UAAU,CAAC;CAQxD;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -7,6 +7,7 @@ const PDFTrailer_1 = tslib_1.__importDefault(require("../document/PDFTrailer"));
|
|
|
7
7
|
const PDFInvalidObject_1 = tslib_1.__importDefault(require("../objects/PDFInvalidObject"));
|
|
8
8
|
const PDFName_1 = tslib_1.__importDefault(require("../objects/PDFName"));
|
|
9
9
|
const PDFNumber_1 = tslib_1.__importDefault(require("../objects/PDFNumber"));
|
|
10
|
+
const PDFRef_1 = tslib_1.__importDefault(require("../objects/PDFRef"));
|
|
10
11
|
const PDFStream_1 = tslib_1.__importDefault(require("../objects/PDFStream"));
|
|
11
12
|
const PDFCrossRefStream_1 = tslib_1.__importDefault(require("../structures/PDFCrossRefStream"));
|
|
12
13
|
const PDFObjectStream_1 = tslib_1.__importDefault(require("../structures/PDFObjectStream"));
|
|
@@ -19,11 +20,14 @@ const PDFPageLeaf_1 = tslib_1.__importDefault(require("../structures/PDFPageLeaf
|
|
|
19
20
|
class PDFStreamWriter extends PDFWriter_1.default {
|
|
20
21
|
constructor(context, objectsPerTick, snapshot, encodeStreams, objectsPerStream) {
|
|
21
22
|
super(context, objectsPerTick, snapshot);
|
|
23
|
+
// the process of saving uses references numbers, and creates a new indirect object, that has to be deleted after saving
|
|
24
|
+
this._refToDeleteAfterSave = 0;
|
|
22
25
|
this.encodeStreams = encodeStreams;
|
|
23
26
|
this.objectsPerStream = objectsPerStream;
|
|
24
27
|
}
|
|
25
28
|
computeBufferSize(incremental) {
|
|
26
29
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
this._refToDeleteAfterSave = 0;
|
|
27
31
|
const header = PDFHeader_1.default.forVersion(1, 7);
|
|
28
32
|
let size = this.snapshot.pdfSize;
|
|
29
33
|
if (!incremental) {
|
|
@@ -67,6 +71,7 @@ class PDFStreamWriter extends PDFWriter_1.default {
|
|
|
67
71
|
chunk = [];
|
|
68
72
|
compressedObjects.push(chunk);
|
|
69
73
|
objectStreamRef = this.context.nextRef();
|
|
74
|
+
this._refToDeleteAfterSave += 1;
|
|
70
75
|
objectStreamRefs.push(objectStreamRef);
|
|
71
76
|
}
|
|
72
77
|
xrefStream.addCompressedEntry(ref, objectStreamRef, chunk.length);
|
|
@@ -87,6 +92,7 @@ class PDFStreamWriter extends PDFWriter_1.default {
|
|
|
87
92
|
yield (0, utils_1.waitForTick)();
|
|
88
93
|
}
|
|
89
94
|
const xrefStreamRef = this.context.nextRef();
|
|
95
|
+
this._refToDeleteAfterSave += 1;
|
|
90
96
|
xrefStream.dict.set(PDFName_1.default.of('Size'), PDFNumber_1.default.of(this.context.largestObjectNumber + 1));
|
|
91
97
|
if (this.snapshot.prevStartXRef) {
|
|
92
98
|
xrefStream.dict.set(PDFName_1.default.of('Prev'), PDFNumber_1.default.of(this.snapshot.prevStartXRef));
|
|
@@ -101,6 +107,19 @@ class PDFStreamWriter extends PDFWriter_1.default {
|
|
|
101
107
|
return { size, header, indirectObjects: uncompressedObjects, trailer };
|
|
102
108
|
});
|
|
103
109
|
}
|
|
110
|
+
serializeToBuffer() {
|
|
111
|
+
const _super = Object.create(null, {
|
|
112
|
+
serializeToBuffer: { get: () => super.serializeToBuffer }
|
|
113
|
+
});
|
|
114
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
115
|
+
const buffer = yield _super.serializeToBuffer.call(this);
|
|
116
|
+
// delete xref stream created for saving
|
|
117
|
+
this.context.delete(PDFRef_1.default.of(this.context.largestObjectNumber - 1));
|
|
118
|
+
// fix largestObjectNumbering
|
|
119
|
+
this.context.largestObjectNumber -= this._refToDeleteAfterSave;
|
|
120
|
+
return buffer;
|
|
121
|
+
});
|
|
122
|
+
}
|
|
104
123
|
}
|
|
105
124
|
PDFStreamWriter.forContext = (context, objectsPerTick, encodeStreams = true, objectsPerStream = 50) => new PDFStreamWriter(context, objectsPerTick, snapshot_1.defaultDocumentSnapshot, encodeStreams, objectsPerStream);
|
|
106
125
|
PDFStreamWriter.forContextWithSnapshot = (context, objectsPerTick, snapshot, encodeStreams = true, objectsPerStream = 50) => new PDFStreamWriter(context, objectsPerTick, snapshot, encodeStreams, objectsPerStream);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PDFStreamWriter.js","sourceRoot":"","sources":["../../../src/core/writers/PDFStreamWriter.ts"],"names":[],"mappings":";;;AAAA,iDAA6D;AAE7D,8EAA8C;AAC9C,gFAAgD;AAChD,2FAA2D;AAC3D,yEAAyC;AACzC,6EAA6C;
|
|
1
|
+
{"version":3,"file":"PDFStreamWriter.js","sourceRoot":"","sources":["../../../src/core/writers/PDFStreamWriter.ts"],"names":[],"mappings":"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"}
|
package/dist/pdf-lib.esm.js
CHANGED
|
@@ -12560,11 +12560,14 @@ PDFPageTree.fromMapWithContext = (map, context) => new PDFPageTree(map, context)
|
|
|
12560
12560
|
class PDFStreamWriter extends PDFWriter {
|
|
12561
12561
|
constructor(context, objectsPerTick, snapshot, encodeStreams, objectsPerStream) {
|
|
12562
12562
|
super(context, objectsPerTick, snapshot);
|
|
12563
|
+
// the process of saving uses references numbers, and creates a new indirect object, that has to be deleted after saving
|
|
12564
|
+
this._refToDeleteAfterSave = 0;
|
|
12563
12565
|
this.encodeStreams = encodeStreams;
|
|
12564
12566
|
this.objectsPerStream = objectsPerStream;
|
|
12565
12567
|
}
|
|
12566
12568
|
computeBufferSize(incremental) {
|
|
12567
12569
|
return __awaiter(this, void 0, void 0, function* () {
|
|
12570
|
+
this._refToDeleteAfterSave = 0;
|
|
12568
12571
|
const header = PDFHeader.forVersion(1, 7);
|
|
12569
12572
|
let size = this.snapshot.pdfSize;
|
|
12570
12573
|
if (!incremental) {
|
|
@@ -12608,6 +12611,7 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
12608
12611
|
chunk = [];
|
|
12609
12612
|
compressedObjects.push(chunk);
|
|
12610
12613
|
objectStreamRef = this.context.nextRef();
|
|
12614
|
+
this._refToDeleteAfterSave += 1;
|
|
12611
12615
|
objectStreamRefs.push(objectStreamRef);
|
|
12612
12616
|
}
|
|
12613
12617
|
xrefStream.addCompressedEntry(ref, objectStreamRef, chunk.length);
|
|
@@ -12628,6 +12632,7 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
12628
12632
|
yield waitForTick();
|
|
12629
12633
|
}
|
|
12630
12634
|
const xrefStreamRef = this.context.nextRef();
|
|
12635
|
+
this._refToDeleteAfterSave += 1;
|
|
12631
12636
|
xrefStream.dict.set(PDFName.of('Size'), PDFNumber.of(this.context.largestObjectNumber + 1));
|
|
12632
12637
|
if (this.snapshot.prevStartXRef) {
|
|
12633
12638
|
xrefStream.dict.set(PDFName.of('Prev'), PDFNumber.of(this.snapshot.prevStartXRef));
|
|
@@ -12642,6 +12647,19 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
12642
12647
|
return { size, header, indirectObjects: uncompressedObjects, trailer };
|
|
12643
12648
|
});
|
|
12644
12649
|
}
|
|
12650
|
+
serializeToBuffer() {
|
|
12651
|
+
const _super = Object.create(null, {
|
|
12652
|
+
serializeToBuffer: { get: () => super.serializeToBuffer }
|
|
12653
|
+
});
|
|
12654
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12655
|
+
const buffer = yield _super.serializeToBuffer.call(this);
|
|
12656
|
+
// delete xref stream created for saving
|
|
12657
|
+
this.context.delete(PDFRef.of(this.context.largestObjectNumber - 1));
|
|
12658
|
+
// fix largestObjectNumbering
|
|
12659
|
+
this.context.largestObjectNumber -= this._refToDeleteAfterSave;
|
|
12660
|
+
return buffer;
|
|
12661
|
+
});
|
|
12662
|
+
}
|
|
12645
12663
|
}
|
|
12646
12664
|
PDFStreamWriter.forContext = (context, objectsPerTick, encodeStreams = true, objectsPerStream = 50) => new PDFStreamWriter(context, objectsPerTick, defaultDocumentSnapshot, encodeStreams, objectsPerStream);
|
|
12647
12665
|
PDFStreamWriter.forContextWithSnapshot = (context, objectsPerTick, snapshot, encodeStreams = true, objectsPerStream = 50) => new PDFStreamWriter(context, objectsPerTick, snapshot, encodeStreams, objectsPerStream);
|