@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"}
|
|
@@ -5,6 +5,7 @@ import PDFTrailer from '../document/PDFTrailer.js';
|
|
|
5
5
|
import PDFInvalidObject from '../objects/PDFInvalidObject.js';
|
|
6
6
|
import PDFName from '../objects/PDFName.js';
|
|
7
7
|
import PDFNumber from '../objects/PDFNumber.js';
|
|
8
|
+
import PDFRef from '../objects/PDFRef.js';
|
|
8
9
|
import PDFStream from '../objects/PDFStream.js';
|
|
9
10
|
import PDFCrossRefStream from '../structures/PDFCrossRefStream.js';
|
|
10
11
|
import PDFObjectStream from '../structures/PDFObjectStream.js';
|
|
@@ -17,11 +18,14 @@ import PDFPageLeaf from '../structures/PDFPageLeaf.js';
|
|
|
17
18
|
class PDFStreamWriter extends PDFWriter {
|
|
18
19
|
constructor(context, objectsPerTick, snapshot, encodeStreams, objectsPerStream) {
|
|
19
20
|
super(context, objectsPerTick, snapshot);
|
|
21
|
+
// the process of saving uses references numbers, and creates a new indirect object, that has to be deleted after saving
|
|
22
|
+
this._refToDeleteAfterSave = 0;
|
|
20
23
|
this.encodeStreams = encodeStreams;
|
|
21
24
|
this.objectsPerStream = objectsPerStream;
|
|
22
25
|
}
|
|
23
26
|
computeBufferSize(incremental) {
|
|
24
27
|
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
this._refToDeleteAfterSave = 0;
|
|
25
29
|
const header = PDFHeader.forVersion(1, 7);
|
|
26
30
|
let size = this.snapshot.pdfSize;
|
|
27
31
|
if (!incremental) {
|
|
@@ -65,6 +69,7 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
65
69
|
chunk = [];
|
|
66
70
|
compressedObjects.push(chunk);
|
|
67
71
|
objectStreamRef = this.context.nextRef();
|
|
72
|
+
this._refToDeleteAfterSave += 1;
|
|
68
73
|
objectStreamRefs.push(objectStreamRef);
|
|
69
74
|
}
|
|
70
75
|
xrefStream.addCompressedEntry(ref, objectStreamRef, chunk.length);
|
|
@@ -85,6 +90,7 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
85
90
|
yield waitForTick();
|
|
86
91
|
}
|
|
87
92
|
const xrefStreamRef = this.context.nextRef();
|
|
93
|
+
this._refToDeleteAfterSave += 1;
|
|
88
94
|
xrefStream.dict.set(PDFName.of('Size'), PDFNumber.of(this.context.largestObjectNumber + 1));
|
|
89
95
|
if (this.snapshot.prevStartXRef) {
|
|
90
96
|
xrefStream.dict.set(PDFName.of('Prev'), PDFNumber.of(this.snapshot.prevStartXRef));
|
|
@@ -99,6 +105,19 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
99
105
|
return { size, header, indirectObjects: uncompressedObjects, trailer };
|
|
100
106
|
});
|
|
101
107
|
}
|
|
108
|
+
serializeToBuffer() {
|
|
109
|
+
const _super = Object.create(null, {
|
|
110
|
+
serializeToBuffer: { get: () => super.serializeToBuffer }
|
|
111
|
+
});
|
|
112
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
113
|
+
const buffer = yield _super.serializeToBuffer.call(this);
|
|
114
|
+
// delete xref stream created for saving
|
|
115
|
+
this.context.delete(PDFRef.of(this.context.largestObjectNumber - 1));
|
|
116
|
+
// fix largestObjectNumbering
|
|
117
|
+
this.context.largestObjectNumber -= this._refToDeleteAfterSave;
|
|
118
|
+
return buffer;
|
|
119
|
+
});
|
|
120
|
+
}
|
|
102
121
|
}
|
|
103
122
|
PDFStreamWriter.forContext = (context, objectsPerTick, encodeStreams = true, objectsPerStream = 50) => new PDFStreamWriter(context, objectsPerTick, defaultDocumentSnapshot, encodeStreams, objectsPerStream);
|
|
104
123
|
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,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,SAAS,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"PDFStreamWriter.js","sourceRoot":"","sources":["../../../src/core/writers/PDFStreamWriter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adnsistemas/pdf-lib",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.3",
|
|
4
4
|
"description": "Create and modify PDF files with JavaScript",
|
|
5
5
|
"author": "Andrew Dillon <andrew.dillon.j@gmail.com>",
|
|
6
6
|
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e",
|
|
@@ -64,7 +64,10 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
64
64
|
this.objectsPerStream = objectsPerStream;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
+
// the process of saving uses references numbers, and creates a new indirect object, that has to be deleted after saving
|
|
68
|
+
private _refToDeleteAfterSave = 0;
|
|
67
69
|
protected async computeBufferSize(incremental: boolean) {
|
|
70
|
+
this._refToDeleteAfterSave = 0;
|
|
68
71
|
const header = PDFHeader.forVersion(1, 7);
|
|
69
72
|
|
|
70
73
|
let size = this.snapshot.pdfSize;
|
|
@@ -116,6 +119,7 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
116
119
|
chunk = [];
|
|
117
120
|
compressedObjects.push(chunk);
|
|
118
121
|
objectStreamRef = this.context.nextRef();
|
|
122
|
+
this._refToDeleteAfterSave += 1;
|
|
119
123
|
objectStreamRefs.push(objectStreamRef);
|
|
120
124
|
}
|
|
121
125
|
xrefStream.addCompressedEntry(ref, objectStreamRef, chunk.length);
|
|
@@ -145,6 +149,7 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
145
149
|
}
|
|
146
150
|
|
|
147
151
|
const xrefStreamRef = this.context.nextRef();
|
|
152
|
+
this._refToDeleteAfterSave += 1;
|
|
148
153
|
xrefStream.dict.set(
|
|
149
154
|
PDFName.of('Size'),
|
|
150
155
|
PDFNumber.of(this.context.largestObjectNumber + 1),
|
|
@@ -167,6 +172,15 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
167
172
|
|
|
168
173
|
return { size, header, indirectObjects: uncompressedObjects, trailer };
|
|
169
174
|
}
|
|
175
|
+
|
|
176
|
+
override async serializeToBuffer(): Promise<Uint8Array> {
|
|
177
|
+
const buffer = await super.serializeToBuffer();
|
|
178
|
+
// delete xref stream created for saving
|
|
179
|
+
this.context.delete(PDFRef.of(this.context.largestObjectNumber - 1));
|
|
180
|
+
// fix largestObjectNumbering
|
|
181
|
+
this.context.largestObjectNumber -= this._refToDeleteAfterSave;
|
|
182
|
+
return buffer;
|
|
183
|
+
}
|
|
170
184
|
}
|
|
171
185
|
|
|
172
186
|
export default PDFStreamWriter;
|
|
@@ -11,6 +11,7 @@ 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;
|
|
@@ -20,6 +21,7 @@ declare class PDFStreamWriter extends PDFWriter {
|
|
|
20
21
|
][];
|
|
21
22
|
trailer: PDFTrailer;
|
|
22
23
|
}>;
|
|
24
|
+
serializeToBuffer(): Promise<Uint8Array>;
|
|
23
25
|
}
|
|
24
26
|
export default PDFStreamWriter;
|
|
25
27
|
//# sourceMappingURL=PDFStreamWriter.d.ts.map
|
|
@@ -11,6 +11,7 @@ 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;
|
|
@@ -20,6 +21,7 @@ declare class PDFStreamWriter extends PDFWriter {
|
|
|
20
21
|
][];
|
|
21
22
|
trailer: PDFTrailer;
|
|
22
23
|
}>;
|
|
24
|
+
serializeToBuffer(): Promise<Uint8Array>;
|
|
23
25
|
}
|
|
24
26
|
export default PDFStreamWriter;
|
|
25
27
|
//# sourceMappingURL=PDFStreamWriter.d.ts.map
|