@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.
Files changed (36) hide show
  1. package/cjs/core/parser/PDFXRefStreamParser.js +1 -1
  2. package/cjs/core/parser/PDFXRefStreamParser.js.map +1 -1
  3. package/cjs/core/structures/PDFCrossRefStream.d.ts +1 -1
  4. package/cjs/core/structures/PDFCrossRefStream.d.ts.map +1 -1
  5. package/cjs/core/structures/PDFCrossRefStream.js +10 -4
  6. package/cjs/core/structures/PDFCrossRefStream.js.map +1 -1
  7. package/cjs/core/writers/PDFStreamWriter.d.ts +2 -0
  8. package/cjs/core/writers/PDFStreamWriter.d.ts.map +1 -1
  9. package/cjs/core/writers/PDFStreamWriter.js +22 -4
  10. package/cjs/core/writers/PDFStreamWriter.js.map +1 -1
  11. package/dist/pdf-lib.esm.js +33 -9
  12. package/dist/pdf-lib.esm.js.map +1 -1
  13. package/dist/pdf-lib.esm.min.js +3 -3
  14. package/dist/pdf-lib.esm.min.js.map +1 -1
  15. package/dist/pdf-lib.js +33 -9
  16. package/dist/pdf-lib.js.map +1 -1
  17. package/dist/pdf-lib.min.js +3 -3
  18. package/dist/pdf-lib.min.js.map +1 -1
  19. package/es/core/parser/PDFXRefStreamParser.js +1 -1
  20. package/es/core/parser/PDFXRefStreamParser.js.map +1 -1
  21. package/es/core/structures/PDFCrossRefStream.d.ts +1 -1
  22. package/es/core/structures/PDFCrossRefStream.d.ts.map +1 -1
  23. package/es/core/structures/PDFCrossRefStream.js +10 -4
  24. package/es/core/structures/PDFCrossRefStream.js.map +1 -1
  25. package/es/core/writers/PDFStreamWriter.d.ts +2 -0
  26. package/es/core/writers/PDFStreamWriter.d.ts.map +1 -1
  27. package/es/core/writers/PDFStreamWriter.js +22 -4
  28. package/es/core/writers/PDFStreamWriter.js.map +1 -1
  29. package/package.json +1 -1
  30. package/src/core/parser/PDFXRefStreamParser.ts +1 -1
  31. package/src/core/structures/PDFCrossRefStream.ts +11 -5
  32. package/src/core/writers/PDFStreamWriter.ts +21 -5
  33. package/ts3.4/cjs/core/structures/PDFCrossRefStream.d.ts +1 -1
  34. package/ts3.4/cjs/core/writers/PDFStreamWriter.d.ts +2 -0
  35. package/ts3.4/es/core/structures/PDFCrossRefStream.d.ts +1 -1
  36. 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;;;;GAIG;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,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;IA8B3B,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"}
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.entries.push({ type, ref, nextFreeObjectNumber });
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.entries.push({ type, ref, offset });
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.entries.push({ type, ref, objectStreamRef, index });
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":"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"}
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;cAaS,iBAAiB,CAAC,WAAW,EAAE,OAAO;;;;;;CAqGvD;AAED,eAAe,eAAe,CAAC"}
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
- let objectNumber = this.context.largestObjectNumber + 1;
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 = PDFRef.of(objectNumber++);
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 = PDFRef.of(objectNumber++);
89
- xrefStream.dict.set(PDFName.of('Size'), PDFNumber.of(objectNumber));
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":"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"}
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.1",
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.entries.push({ type, ref, nextFreeObjectNumber });
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.entries.push({ type, ref, offset });
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.entries.push({ type, ref, objectStreamRef, index });
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
- let objectNumber = this.context.largestObjectNumber + 1;
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 = PDFRef.of(objectNumber++);
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 = PDFRef.of(objectNumber++);
149
- xrefStream.dict.set(PDFName.of('Size'), PDFNumber.of(objectNumber));
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