@adnsistemas/pdf-lib 2.6.1 → 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/parser/PDFXRefStreamParser.js +1 -1
- package/cjs/core/parser/PDFXRefStreamParser.js.map +1 -1
- package/cjs/core/structures/PDFCrossRefStream.d.ts +1 -1
- package/cjs/core/structures/PDFCrossRefStream.d.ts.map +1 -1
- package/cjs/core/structures/PDFCrossRefStream.js +10 -4
- package/cjs/core/structures/PDFCrossRefStream.js.map +1 -1
- 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 +22 -4
- package/cjs/core/writers/PDFStreamWriter.js.map +1 -1
- package/dist/pdf-lib.esm.js +33 -9
- 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 +33 -9
- 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/parser/PDFXRefStreamParser.js +1 -1
- package/es/core/parser/PDFXRefStreamParser.js.map +1 -1
- package/es/core/structures/PDFCrossRefStream.d.ts +1 -1
- package/es/core/structures/PDFCrossRefStream.d.ts.map +1 -1
- package/es/core/structures/PDFCrossRefStream.js +10 -4
- package/es/core/structures/PDFCrossRefStream.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 +22 -4
- package/es/core/writers/PDFStreamWriter.js.map +1 -1
- package/package.json +1 -1
- package/src/core/parser/PDFXRefStreamParser.ts +1 -1
- package/src/core/structures/PDFCrossRefStream.ts +11 -5
- package/src/core/writers/PDFStreamWriter.ts +21 -5
- package/ts3.4/cjs/core/structures/PDFCrossRefStream.d.ts +1 -1
- package/ts3.4/cjs/core/writers/PDFStreamWriter.d.ts +2 -0
- package/ts3.4/es/core/structures/PDFCrossRefStream.d.ts +1 -1
- package/ts3.4/es/core/writers/PDFStreamWriter.d.ts +2 -0
|
@@ -77,7 +77,7 @@ class PDFXRefStreamParser {
|
|
|
77
77
|
type = 1;
|
|
78
78
|
const objectNumber = firstObjectNumber + objIdx;
|
|
79
79
|
const entry = {
|
|
80
|
-
ref: PDFRef.of(objectNumber, generationNumber),
|
|
80
|
+
ref: PDFRef.of(objectNumber, type === 2 ? 0 : generationNumber),
|
|
81
81
|
offset,
|
|
82
82
|
deleted: type === 0,
|
|
83
83
|
inObjectStream: type === 2,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PDFXRefStreamParser.js","sourceRoot":"","sources":["../../../src/core/parser/PDFXRefStreamParser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PDFXRefStreamParser.js","sourceRoot":"","sources":["../../../src/core/parser/PDFXRefStreamParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,6 @@ export type EntryTuple = [number, number, number];
|
|
|
28
28
|
/**
|
|
29
29
|
* Entries should be added using the [[addDeletedEntry]],
|
|
30
30
|
* [[addUncompressedEntry]], and [[addCompressedEntry]] methods
|
|
31
|
-
* **in order of ascending object number**.
|
|
32
31
|
*/
|
|
33
32
|
declare class PDFCrossRefStream extends PDFFlateStream {
|
|
34
33
|
static create: (dict: PDFDict, encode?: boolean) => PDFCrossRefStream;
|
|
@@ -38,6 +37,7 @@ declare class PDFCrossRefStream extends PDFFlateStream {
|
|
|
38
37
|
private readonly maxByteWidthsCache;
|
|
39
38
|
private readonly indexCache;
|
|
40
39
|
private constructor();
|
|
40
|
+
private appendEntry;
|
|
41
41
|
addDeletedEntry(ref: PDFRef, nextFreeObjectNumber: number): void;
|
|
42
42
|
addUncompressedEntry(ref: PDFRef, offset: number): void;
|
|
43
43
|
addCompressedEntry(ref: PDFRef, objectStreamRef: PDFRef, index: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PDFCrossRefStream.d.ts","sourceRoot":"","sources":["../../../src/core/structures/PDFCrossRefStream.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAG9C,oBAAY,SAAS;IACnB,OAAO,IAAI;IACX,YAAY,IAAI;IAChB,UAAU,IAAI;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,KAAK,GAAG,YAAY,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAEvE,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAElD
|
|
1
|
+
{"version":3,"file":"PDFCrossRefStream.d.ts","sourceRoot":"","sources":["../../../src/core/structures/PDFCrossRefStream.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAG9C,oBAAY,SAAS;IACnB,OAAO,IAAI;IACX,YAAY,IAAI;IAChB,UAAU,IAAI;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,KAAK,GAAG,YAAY,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAEvE,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAElD;;;GAGG;AACH,cAAM,iBAAkB,SAAQ,cAAc;IAC5C,MAAM,CAAC,MAAM,SAAU,OAAO,yCAI5B;IAEF,MAAM,CAAC,EAAE,SAAU,OAAO,WAAW,KAAK,EAAE,yCACG;IAE/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsB;IACvD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAkC;IACrE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAE7C,OAAO;IAWP,OAAO,CAAC,WAAW;IAQnB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM;IASzD,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAShD,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAStE,KAAK,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,iBAAiB;IAK9C,iBAAiB,IAAI,MAAM;IA6B3B,oBAAoB,IAAI,UAAU;IA+BlC,wBAAwB,IAAI,MAAM;IAMlC,UAAU,IAAI,IAAI;IAclB,OAAO,CAAC,YAAY,CAqBlB;IAEF,OAAO,CAAC,kBAAkB,CAoBxB;IAEF,OAAO,CAAC,yBAAyB,CAiB/B;CACH;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -11,7 +11,6 @@ export var EntryType;
|
|
|
11
11
|
/**
|
|
12
12
|
* Entries should be added using the [[addDeletedEntry]],
|
|
13
13
|
* [[addUncompressedEntry]], and [[addCompressedEntry]] methods
|
|
14
|
-
* **in order of ascending object number**.
|
|
15
14
|
*/
|
|
16
15
|
class PDFCrossRefStream extends PDFFlateStream {
|
|
17
16
|
constructor(dict, entries, encode = true) {
|
|
@@ -80,9 +79,16 @@ class PDFCrossRefStream extends PDFFlateStream {
|
|
|
80
79
|
this.indexCache = Cache.populatedBy(this.computeIndex);
|
|
81
80
|
dict.set(PDFName.of('Type'), PDFName.of('XRef'));
|
|
82
81
|
}
|
|
82
|
+
appendEntry(entry) {
|
|
83
|
+
const eind = this.entries.findIndex((e) => e.ref.objectNumber > entry.ref.objectNumber);
|
|
84
|
+
if (eind < 0 || eind > this.entries.length)
|
|
85
|
+
this.entries.push(entry);
|
|
86
|
+
else
|
|
87
|
+
this.entries.splice(eind, 0, entry);
|
|
88
|
+
}
|
|
83
89
|
addDeletedEntry(ref, nextFreeObjectNumber) {
|
|
84
90
|
const type = EntryType.Deleted;
|
|
85
|
-
this.
|
|
91
|
+
this.appendEntry({ type, ref, nextFreeObjectNumber });
|
|
86
92
|
this.entryTuplesCache.invalidate();
|
|
87
93
|
this.maxByteWidthsCache.invalidate();
|
|
88
94
|
this.indexCache.invalidate();
|
|
@@ -90,7 +96,7 @@ class PDFCrossRefStream extends PDFFlateStream {
|
|
|
90
96
|
}
|
|
91
97
|
addUncompressedEntry(ref, offset) {
|
|
92
98
|
const type = EntryType.Uncompressed;
|
|
93
|
-
this.
|
|
99
|
+
this.appendEntry({ type, ref, offset });
|
|
94
100
|
this.entryTuplesCache.invalidate();
|
|
95
101
|
this.maxByteWidthsCache.invalidate();
|
|
96
102
|
this.indexCache.invalidate();
|
|
@@ -98,7 +104,7 @@ class PDFCrossRefStream extends PDFFlateStream {
|
|
|
98
104
|
}
|
|
99
105
|
addCompressedEntry(ref, objectStreamRef, index) {
|
|
100
106
|
const type = EntryType.Compressed;
|
|
101
|
-
this.
|
|
107
|
+
this.appendEntry({ type, ref, objectStreamRef, index });
|
|
102
108
|
this.entryTuplesCache.invalidate();
|
|
103
109
|
this.maxByteWidthsCache.invalidate();
|
|
104
110
|
this.indexCache.invalidate();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PDFCrossRefStream.js","sourceRoot":"","sources":["../../../src/core/structures/PDFCrossRefStream.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAE9E,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,+CAAW,CAAA;IACX,yDAAgB,CAAA;IAChB,qDAAc,CAAA;AAChB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAyBD
|
|
1
|
+
{"version":3,"file":"PDFCrossRefStream.js","sourceRoot":"","sources":["../../../src/core/structures/PDFCrossRefStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
|
@@ -18,12 +18,14 @@ import PDFPageLeaf from '../structures/PDFPageLeaf.js';
|
|
|
18
18
|
class PDFStreamWriter extends PDFWriter {
|
|
19
19
|
constructor(context, objectsPerTick, snapshot, encodeStreams, objectsPerStream) {
|
|
20
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;
|
|
21
23
|
this.encodeStreams = encodeStreams;
|
|
22
24
|
this.objectsPerStream = objectsPerStream;
|
|
23
25
|
}
|
|
24
26
|
computeBufferSize(incremental) {
|
|
25
27
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
|
|
28
|
+
this._refToDeleteAfterSave = 0;
|
|
27
29
|
const header = PDFHeader.forVersion(1, 7);
|
|
28
30
|
let size = this.snapshot.pdfSize;
|
|
29
31
|
if (!incremental) {
|
|
@@ -66,7 +68,8 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
66
68
|
if (!chunk || chunk.length % this.objectsPerStream === 0) {
|
|
67
69
|
chunk = [];
|
|
68
70
|
compressedObjects.push(chunk);
|
|
69
|
-
objectStreamRef =
|
|
71
|
+
objectStreamRef = this.context.nextRef();
|
|
72
|
+
this._refToDeleteAfterSave += 1;
|
|
70
73
|
objectStreamRefs.push(objectStreamRef);
|
|
71
74
|
}
|
|
72
75
|
xrefStream.addCompressedEntry(ref, objectStreamRef, chunk.length);
|
|
@@ -77,6 +80,7 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
77
80
|
const chunk = compressedObjects[idx];
|
|
78
81
|
const ref = objectStreamRefs[idx];
|
|
79
82
|
const objectStream = PDFObjectStream.withContextAndObjects(this.context, chunk, this.encodeStreams);
|
|
83
|
+
this.context.assign(ref, objectStream);
|
|
80
84
|
if (security)
|
|
81
85
|
this.encrypt(ref, objectStream, security);
|
|
82
86
|
xrefStream.addUncompressedEntry(ref, size);
|
|
@@ -85,8 +89,9 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
85
89
|
if (this.shouldWaitForTick(chunk.length))
|
|
86
90
|
yield waitForTick();
|
|
87
91
|
}
|
|
88
|
-
const xrefStreamRef =
|
|
89
|
-
|
|
92
|
+
const xrefStreamRef = this.context.nextRef();
|
|
93
|
+
this._refToDeleteAfterSave += 1;
|
|
94
|
+
xrefStream.dict.set(PDFName.of('Size'), PDFNumber.of(this.context.largestObjectNumber + 1));
|
|
90
95
|
if (this.snapshot.prevStartXRef) {
|
|
91
96
|
xrefStream.dict.set(PDFName.of('Prev'), PDFNumber.of(this.snapshot.prevStartXRef));
|
|
92
97
|
}
|
|
@@ -100,6 +105,19 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
100
105
|
return { size, header, indirectObjects: uncompressedObjects, trailer };
|
|
101
106
|
});
|
|
102
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
|
+
}
|
|
103
121
|
}
|
|
104
122
|
PDFStreamWriter.forContext = (context, objectsPerTick, encodeStreams = true, objectsPerStream = 50) => new PDFStreamWriter(context, objectsPerTick, defaultDocumentSnapshot, encodeStreams, objectsPerStream);
|
|
105
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;AAE7C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,WAAW,MAAM,2BAA2B,CAAC;AAEpD,MAAM,eAAgB,SAAQ,SAAS;IAiCrC,YACE,OAAmB,EACnB,cAAsB,EACtB,QAA0B,EAC1B,aAAsB,EACtB,gBAAwB;QAExB,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,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",
|
|
@@ -122,7 +122,7 @@ class PDFXRefStreamParser {
|
|
|
122
122
|
|
|
123
123
|
const objectNumber = firstObjectNumber + objIdx;
|
|
124
124
|
const entry = {
|
|
125
|
-
ref: PDFRef.of(objectNumber, generationNumber),
|
|
125
|
+
ref: PDFRef.of(objectNumber, type === 2 ? 0 : generationNumber),
|
|
126
126
|
offset,
|
|
127
127
|
deleted: type === 0,
|
|
128
128
|
inObjectStream: type === 2,
|
|
@@ -37,7 +37,6 @@ export type EntryTuple = [number, number, number];
|
|
|
37
37
|
/**
|
|
38
38
|
* Entries should be added using the [[addDeletedEntry]],
|
|
39
39
|
* [[addUncompressedEntry]], and [[addCompressedEntry]] methods
|
|
40
|
-
* **in order of ascending object number**.
|
|
41
40
|
*/
|
|
42
41
|
class PDFCrossRefStream extends PDFFlateStream {
|
|
43
42
|
static create = (dict: PDFDict, encode = true) => {
|
|
@@ -65,9 +64,17 @@ class PDFCrossRefStream extends PDFFlateStream {
|
|
|
65
64
|
dict.set(PDFName.of('Type'), PDFName.of('XRef'));
|
|
66
65
|
}
|
|
67
66
|
|
|
67
|
+
private appendEntry(entry: Entry) {
|
|
68
|
+
const eind = this.entries.findIndex(
|
|
69
|
+
(e) => e.ref.objectNumber > entry.ref.objectNumber,
|
|
70
|
+
);
|
|
71
|
+
if (eind < 0 || eind > this.entries.length) this.entries.push(entry);
|
|
72
|
+
else this.entries.splice(eind, 0, entry);
|
|
73
|
+
}
|
|
74
|
+
|
|
68
75
|
addDeletedEntry(ref: PDFRef, nextFreeObjectNumber: number) {
|
|
69
76
|
const type = EntryType.Deleted;
|
|
70
|
-
this.
|
|
77
|
+
this.appendEntry({ type, ref, nextFreeObjectNumber });
|
|
71
78
|
this.entryTuplesCache.invalidate();
|
|
72
79
|
this.maxByteWidthsCache.invalidate();
|
|
73
80
|
this.indexCache.invalidate();
|
|
@@ -76,7 +83,7 @@ class PDFCrossRefStream extends PDFFlateStream {
|
|
|
76
83
|
|
|
77
84
|
addUncompressedEntry(ref: PDFRef, offset: number) {
|
|
78
85
|
const type = EntryType.Uncompressed;
|
|
79
|
-
this.
|
|
86
|
+
this.appendEntry({ type, ref, offset });
|
|
80
87
|
this.entryTuplesCache.invalidate();
|
|
81
88
|
this.maxByteWidthsCache.invalidate();
|
|
82
89
|
this.indexCache.invalidate();
|
|
@@ -85,7 +92,7 @@ class PDFCrossRefStream extends PDFFlateStream {
|
|
|
85
92
|
|
|
86
93
|
addCompressedEntry(ref: PDFRef, objectStreamRef: PDFRef, index: number) {
|
|
87
94
|
const type = EntryType.Compressed;
|
|
88
|
-
this.
|
|
95
|
+
this.appendEntry({ type, ref, objectStreamRef, index });
|
|
89
96
|
this.entryTuplesCache.invalidate();
|
|
90
97
|
this.maxByteWidthsCache.invalidate();
|
|
91
98
|
this.indexCache.invalidate();
|
|
@@ -123,7 +130,6 @@ class PDFCrossRefStream extends PDFFlateStream {
|
|
|
123
130
|
value += (thirdBytes[idx] || 0).toString(2);
|
|
124
131
|
}
|
|
125
132
|
}
|
|
126
|
-
|
|
127
133
|
return value;
|
|
128
134
|
}
|
|
129
135
|
|
|
@@ -64,9 +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) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
+
this._refToDeleteAfterSave = 0;
|
|
70
71
|
const header = PDFHeader.forVersion(1, 7);
|
|
71
72
|
|
|
72
73
|
let size = this.snapshot.pdfSize;
|
|
@@ -117,7 +118,8 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
117
118
|
if (!chunk || chunk.length % this.objectsPerStream === 0) {
|
|
118
119
|
chunk = [];
|
|
119
120
|
compressedObjects.push(chunk);
|
|
120
|
-
objectStreamRef =
|
|
121
|
+
objectStreamRef = this.context.nextRef();
|
|
122
|
+
this._refToDeleteAfterSave += 1;
|
|
121
123
|
objectStreamRefs.push(objectStreamRef);
|
|
122
124
|
}
|
|
123
125
|
xrefStream.addCompressedEntry(ref, objectStreamRef, chunk.length);
|
|
@@ -134,6 +136,7 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
134
136
|
chunk,
|
|
135
137
|
this.encodeStreams,
|
|
136
138
|
);
|
|
139
|
+
this.context.assign(ref, objectStream);
|
|
137
140
|
|
|
138
141
|
if (security) this.encrypt(ref, objectStream, security);
|
|
139
142
|
|
|
@@ -145,8 +148,12 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
145
148
|
if (this.shouldWaitForTick(chunk.length)) await waitForTick();
|
|
146
149
|
}
|
|
147
150
|
|
|
148
|
-
const xrefStreamRef =
|
|
149
|
-
|
|
151
|
+
const xrefStreamRef = this.context.nextRef();
|
|
152
|
+
this._refToDeleteAfterSave += 1;
|
|
153
|
+
xrefStream.dict.set(
|
|
154
|
+
PDFName.of('Size'),
|
|
155
|
+
PDFNumber.of(this.context.largestObjectNumber + 1),
|
|
156
|
+
);
|
|
150
157
|
if (this.snapshot.prevStartXRef) {
|
|
151
158
|
xrefStream.dict.set(
|
|
152
159
|
PDFName.of('Prev'),
|
|
@@ -165,6 +172,15 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
165
172
|
|
|
166
173
|
return { size, header, indirectObjects: uncompressedObjects, trailer };
|
|
167
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
|
+
}
|
|
168
184
|
}
|
|
169
185
|
|
|
170
186
|
export default PDFStreamWriter;
|
|
@@ -32,7 +32,6 @@ export type EntryTuple = [
|
|
|
32
32
|
/**
|
|
33
33
|
* Entries should be added using the [[addDeletedEntry]],
|
|
34
34
|
* [[addUncompressedEntry]], and [[addCompressedEntry]] methods
|
|
35
|
-
* **in order of ascending object number**.
|
|
36
35
|
*/
|
|
37
36
|
declare class PDFCrossRefStream extends PDFFlateStream {
|
|
38
37
|
static create: (dict: PDFDict, encode?: boolean) => PDFCrossRefStream;
|
|
@@ -42,6 +41,7 @@ declare class PDFCrossRefStream extends PDFFlateStream {
|
|
|
42
41
|
private readonly maxByteWidthsCache;
|
|
43
42
|
private readonly indexCache;
|
|
44
43
|
private constructor();
|
|
44
|
+
private appendEntry;
|
|
45
45
|
addDeletedEntry(ref: PDFRef, nextFreeObjectNumber: number): void;
|
|
46
46
|
addUncompressedEntry(ref: PDFRef, offset: number): void;
|
|
47
47
|
addCompressedEntry(ref: PDFRef, objectStreamRef: PDFRef, index: number): void;
|
|
@@ -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
|
|
@@ -32,7 +32,6 @@ export type EntryTuple = [
|
|
|
32
32
|
/**
|
|
33
33
|
* Entries should be added using the [[addDeletedEntry]],
|
|
34
34
|
* [[addUncompressedEntry]], and [[addCompressedEntry]] methods
|
|
35
|
-
* **in order of ascending object number**.
|
|
36
35
|
*/
|
|
37
36
|
declare class PDFCrossRefStream extends PDFFlateStream {
|
|
38
37
|
static create: (dict: PDFDict, encode?: boolean) => PDFCrossRefStream;
|
|
@@ -42,6 +41,7 @@ declare class PDFCrossRefStream extends PDFFlateStream {
|
|
|
42
41
|
private readonly maxByteWidthsCache;
|
|
43
42
|
private readonly indexCache;
|
|
44
43
|
private constructor();
|
|
44
|
+
private appendEntry;
|
|
45
45
|
addDeletedEntry(ref: PDFRef, nextFreeObjectNumber: number): void;
|
|
46
46
|
addUncompressedEntry(ref: PDFRef, offset: number): void;
|
|
47
47
|
addCompressedEntry(ref: PDFRef, objectStreamRef: PDFRef, index: number): void;
|
|
@@ -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
|