@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
@@ -80,7 +80,7 @@ class PDFXRefStreamParser {
80
80
  type = 1;
81
81
  const objectNumber = firstObjectNumber + objIdx;
82
82
  const entry = {
83
- ref: PDFRef_1.default.of(objectNumber, generationNumber),
83
+ ref: PDFRef_1.default.of(objectNumber, type === 2 ? 0 : generationNumber),
84
84
  offset,
85
85
  deleted: type === 0,
86
86
  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"}
@@ -15,7 +15,6 @@ var EntryType;
15
15
  /**
16
16
  * Entries should be added using the [[addDeletedEntry]],
17
17
  * [[addUncompressedEntry]], and [[addCompressedEntry]] methods
18
- * **in order of ascending object number**.
19
18
  */
20
19
  class PDFCrossRefStream extends PDFFlateStream_1.default {
21
20
  constructor(dict, entries, encode = true) {
@@ -84,9 +83,16 @@ class PDFCrossRefStream extends PDFFlateStream_1.default {
84
83
  this.indexCache = utils_1.Cache.populatedBy(this.computeIndex);
85
84
  dict.set(PDFName_1.default.of('Type'), PDFName_1.default.of('XRef'));
86
85
  }
86
+ appendEntry(entry) {
87
+ const eind = this.entries.findIndex((e) => e.ref.objectNumber > entry.ref.objectNumber);
88
+ if (eind < 0 || eind > this.entries.length)
89
+ this.entries.push(entry);
90
+ else
91
+ this.entries.splice(eind, 0, entry);
92
+ }
87
93
  addDeletedEntry(ref, nextFreeObjectNumber) {
88
94
  const type = EntryType.Deleted;
89
- this.entries.push({ type, ref, nextFreeObjectNumber });
95
+ this.appendEntry({ type, ref, nextFreeObjectNumber });
90
96
  this.entryTuplesCache.invalidate();
91
97
  this.maxByteWidthsCache.invalidate();
92
98
  this.indexCache.invalidate();
@@ -94,7 +100,7 @@ class PDFCrossRefStream extends PDFFlateStream_1.default {
94
100
  }
95
101
  addUncompressedEntry(ref, offset) {
96
102
  const type = EntryType.Uncompressed;
97
- this.entries.push({ type, ref, offset });
103
+ this.appendEntry({ type, ref, offset });
98
104
  this.entryTuplesCache.invalidate();
99
105
  this.maxByteWidthsCache.invalidate();
100
106
  this.indexCache.invalidate();
@@ -102,7 +108,7 @@ class PDFCrossRefStream extends PDFFlateStream_1.default {
102
108
  }
103
109
  addCompressedEntry(ref, objectStreamRef, index) {
104
110
  const type = EntryType.Compressed;
105
- this.entries.push({ type, ref, objectStreamRef, index });
111
+ this.appendEntry({ type, ref, objectStreamRef, index });
106
112
  this.entryTuplesCache.invalidate();
107
113
  this.maxByteWidthsCache.invalidate();
108
114
  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":";;;;AACA,yEAAyC;AACzC,uEAAuC;AAEvC,8EAA8C;AAC9C,uCAA8E;AAE9E,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,+CAAW,CAAA;IACX,yDAAgB,CAAA;IAChB,qDAAc,CAAA;AAChB,CAAC,EAJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIpB;AAyBD;;;GAGG;AACH,MAAM,iBAAkB,SAAQ,wBAAc;IAe5C,YAAoB,IAAa,EAAE,OAAiB,EAAE,MAAM,GAAG,IAAI;QACjE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QA+HtB,yEAAyE;QACzE,+CAA+C;QAC/C,oDAAoD;QAC5C,iBAAY,GAAG,GAAa,EAAE;YACpC,MAAM,WAAW,GAAa,EAAE,CAAC;YAEjC,IAAI,gBAAgB,GAAG,CAAC,CAAC;YACzB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBAExC,IAAI,GAAG,KAAK,CAAC,EAAE;oBACb,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;iBAC9C;qBAAM,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE;oBACtE,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBACnC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAC7C,gBAAgB,GAAG,CAAC,CAAC;iBACtB;gBAED,gBAAgB,IAAI,CAAC,CAAC;aACvB;YACD,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAEnC,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;QAEM,uBAAkB,GAAG,GAAiB,EAAE;YAC9C,MAAM,WAAW,GAAiB,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEjE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE;oBACpC,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;oBAClD,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;iBACvE;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,YAAY,EAAE;oBACzC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;oBACpC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;iBACzD;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,EAAE;oBACvC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;oBAC/C,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;iBAChE;aACF;YAED,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;QAEM,8BAAyB,GAAG,GAA6B,EAAE;YACjE,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YACnD,MAAM,MAAM,GAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEnD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC5D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBAEhD,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;gBACrC,MAAM,UAAU,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;gBAErC,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC;oBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;gBACjD,IAAI,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;oBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;gBACnD,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC;oBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;aAClD;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QA9LA,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,aAAK,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACnE,IAAI,CAAC,kBAAkB,GAAG,aAAK,CAAC,WAAW,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC5E,IAAI,CAAC,UAAU,GAAG,aAAK,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEvD,IAAI,CAAC,GAAG,CAAC,iBAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,iBAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC;IAEO,WAAW,CAAC,KAAY;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CACnD,CAAC;QACF,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;YAChE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,eAAe,CAAC,GAAW,EAAE,oBAA4B;QACvD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC;IAED,oBAAoB,CAAC,GAAW,EAAE,MAAc;QAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC;IAED,kBAAkB,CAAC,GAAW,EAAE,eAAuB,EAAE,KAAa;QACpE,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,OAAoB;QACxB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACvC,OAAO,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED,iBAAiB;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;QACpD,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,KACE,IAAI,QAAQ,GAAG,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC,MAAM,EACjD,QAAQ,GAAG,UAAU,EACrB,QAAQ,EAAE,EACV;YACA,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;YAErD,MAAM,UAAU,GAAG,IAAA,oBAAY,EAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;YACjD,MAAM,WAAW,GAAG,IAAA,oBAAY,EAAC,IAAA,gBAAQ,EAAC,MAAM,CAAC,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,IAAA,oBAAY,EAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;YAEjD,KAAK,IAAI,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;gBACjD,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC7C;YACD,KAAK,IAAI,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;gBACjD,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC9C;YACD,KAAK,IAAI,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;gBACjD,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC7C;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oBAAoB;QAClB,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;QAE/D,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KACE,IAAI,QAAQ,GAAG,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC,MAAM,EACjD,QAAQ,GAAG,UAAU,EACrB,QAAQ,EAAE,EACV;YACA,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;YAErD,MAAM,UAAU,GAAG,IAAA,oBAAY,EAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;YACjD,MAAM,WAAW,GAAG,IAAA,oBAAY,EAAC,IAAA,gBAAQ,EAAC,MAAM,CAAC,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,IAAA,oBAAY,EAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;YAEjD,KAAK,IAAI,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;gBACjD,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACzC;YACD,KAAK,IAAI,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;gBACjD,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC1C;YACD,KAAK,IAAI,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;gBACjD,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACzC;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wBAAwB;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,UAAU,CAAC,CAAC;QACnC,OAAO,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC1C,CAAC;IAED,UAAU;QACR,KAAK,CAAC,UAAU,EAAE,CAAC;QAEnB,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAEvC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;;AA5IM,wBAAM,GAAG,CAAC,IAAa,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE;IAC/C,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,CAAC,eAAe,CAAC,gBAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEK,oBAAE,GAAG,CAAC,IAAa,EAAE,OAAgB,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,CAC7D,IAAI,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AA2MjD,kBAAe,iBAAiB,CAAC"}
@@ -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"}
@@ -20,12 +20,14 @@ const PDFPageLeaf_1 = tslib_1.__importDefault(require("../structures/PDFPageLeaf
20
20
  class PDFStreamWriter extends PDFWriter_1.default {
21
21
  constructor(context, objectsPerTick, snapshot, encodeStreams, objectsPerStream) {
22
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;
23
25
  this.encodeStreams = encodeStreams;
24
26
  this.objectsPerStream = objectsPerStream;
25
27
  }
26
28
  computeBufferSize(incremental) {
27
29
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
28
- let objectNumber = this.context.largestObjectNumber + 1;
30
+ this._refToDeleteAfterSave = 0;
29
31
  const header = PDFHeader_1.default.forVersion(1, 7);
30
32
  let size = this.snapshot.pdfSize;
31
33
  if (!incremental) {
@@ -68,7 +70,8 @@ class PDFStreamWriter extends PDFWriter_1.default {
68
70
  if (!chunk || chunk.length % this.objectsPerStream === 0) {
69
71
  chunk = [];
70
72
  compressedObjects.push(chunk);
71
- objectStreamRef = PDFRef_1.default.of(objectNumber++);
73
+ objectStreamRef = this.context.nextRef();
74
+ this._refToDeleteAfterSave += 1;
72
75
  objectStreamRefs.push(objectStreamRef);
73
76
  }
74
77
  xrefStream.addCompressedEntry(ref, objectStreamRef, chunk.length);
@@ -79,6 +82,7 @@ class PDFStreamWriter extends PDFWriter_1.default {
79
82
  const chunk = compressedObjects[idx];
80
83
  const ref = objectStreamRefs[idx];
81
84
  const objectStream = PDFObjectStream_1.default.withContextAndObjects(this.context, chunk, this.encodeStreams);
85
+ this.context.assign(ref, objectStream);
82
86
  if (security)
83
87
  this.encrypt(ref, objectStream, security);
84
88
  xrefStream.addUncompressedEntry(ref, size);
@@ -87,8 +91,9 @@ class PDFStreamWriter extends PDFWriter_1.default {
87
91
  if (this.shouldWaitForTick(chunk.length))
88
92
  yield (0, utils_1.waitForTick)();
89
93
  }
90
- const xrefStreamRef = PDFRef_1.default.of(objectNumber++);
91
- xrefStream.dict.set(PDFName_1.default.of('Size'), PDFNumber_1.default.of(objectNumber));
94
+ const xrefStreamRef = this.context.nextRef();
95
+ this._refToDeleteAfterSave += 1;
96
+ xrefStream.dict.set(PDFName_1.default.of('Size'), PDFNumber_1.default.of(this.context.largestObjectNumber + 1));
92
97
  if (this.snapshot.prevStartXRef) {
93
98
  xrefStream.dict.set(PDFName_1.default.of('Prev'), PDFNumber_1.default.of(this.snapshot.prevStartXRef));
94
99
  }
@@ -102,6 +107,19 @@ class PDFStreamWriter extends PDFWriter_1.default {
102
107
  return { size, header, indirectObjects: uncompressedObjects, trailer };
103
108
  });
104
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
+ }
105
123
  }
106
124
  PDFStreamWriter.forContext = (context, objectsPerTick, encodeStreams = true, objectsPerStream = 50) => new PDFStreamWriter(context, objectsPerTick, snapshot_1.defaultDocumentSnapshot, encodeStreams, objectsPerStream);
107
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":"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"}
1
+ {"version":3,"file":"PDFStreamWriter.js","sourceRoot":"","sources":["../../../src/core/writers/PDFStreamWriter.ts"],"names":[],"mappings":"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"}
@@ -10439,7 +10439,6 @@ var EntryType;
10439
10439
  /**
10440
10440
  * Entries should be added using the [[addDeletedEntry]],
10441
10441
  * [[addUncompressedEntry]], and [[addCompressedEntry]] methods
10442
- * **in order of ascending object number**.
10443
10442
  */
10444
10443
  class PDFCrossRefStream extends PDFFlateStream {
10445
10444
  constructor(dict, entries, encode = true) {
@@ -10508,9 +10507,16 @@ class PDFCrossRefStream extends PDFFlateStream {
10508
10507
  this.indexCache = Cache.populatedBy(this.computeIndex);
10509
10508
  dict.set(PDFName.of('Type'), PDFName.of('XRef'));
10510
10509
  }
10510
+ appendEntry(entry) {
10511
+ const eind = this.entries.findIndex((e) => e.ref.objectNumber > entry.ref.objectNumber);
10512
+ if (eind < 0 || eind > this.entries.length)
10513
+ this.entries.push(entry);
10514
+ else
10515
+ this.entries.splice(eind, 0, entry);
10516
+ }
10511
10517
  addDeletedEntry(ref, nextFreeObjectNumber) {
10512
10518
  const type = EntryType.Deleted;
10513
- this.entries.push({ type, ref, nextFreeObjectNumber });
10519
+ this.appendEntry({ type, ref, nextFreeObjectNumber });
10514
10520
  this.entryTuplesCache.invalidate();
10515
10521
  this.maxByteWidthsCache.invalidate();
10516
10522
  this.indexCache.invalidate();
@@ -10518,7 +10524,7 @@ class PDFCrossRefStream extends PDFFlateStream {
10518
10524
  }
10519
10525
  addUncompressedEntry(ref, offset) {
10520
10526
  const type = EntryType.Uncompressed;
10521
- this.entries.push({ type, ref, offset });
10527
+ this.appendEntry({ type, ref, offset });
10522
10528
  this.entryTuplesCache.invalidate();
10523
10529
  this.maxByteWidthsCache.invalidate();
10524
10530
  this.indexCache.invalidate();
@@ -10526,7 +10532,7 @@ class PDFCrossRefStream extends PDFFlateStream {
10526
10532
  }
10527
10533
  addCompressedEntry(ref, objectStreamRef, index) {
10528
10534
  const type = EntryType.Compressed;
10529
- this.entries.push({ type, ref, objectStreamRef, index });
10535
+ this.appendEntry({ type, ref, objectStreamRef, index });
10530
10536
  this.entryTuplesCache.invalidate();
10531
10537
  this.maxByteWidthsCache.invalidate();
10532
10538
  this.indexCache.invalidate();
@@ -12554,12 +12560,14 @@ PDFPageTree.fromMapWithContext = (map, context) => new PDFPageTree(map, context)
12554
12560
  class PDFStreamWriter extends PDFWriter {
12555
12561
  constructor(context, objectsPerTick, snapshot, encodeStreams, objectsPerStream) {
12556
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;
12557
12565
  this.encodeStreams = encodeStreams;
12558
12566
  this.objectsPerStream = objectsPerStream;
12559
12567
  }
12560
12568
  computeBufferSize(incremental) {
12561
12569
  return __awaiter(this, void 0, void 0, function* () {
12562
- let objectNumber = this.context.largestObjectNumber + 1;
12570
+ this._refToDeleteAfterSave = 0;
12563
12571
  const header = PDFHeader.forVersion(1, 7);
12564
12572
  let size = this.snapshot.pdfSize;
12565
12573
  if (!incremental) {
@@ -12602,7 +12610,8 @@ class PDFStreamWriter extends PDFWriter {
12602
12610
  if (!chunk || chunk.length % this.objectsPerStream === 0) {
12603
12611
  chunk = [];
12604
12612
  compressedObjects.push(chunk);
12605
- objectStreamRef = PDFRef.of(objectNumber++);
12613
+ objectStreamRef = this.context.nextRef();
12614
+ this._refToDeleteAfterSave += 1;
12606
12615
  objectStreamRefs.push(objectStreamRef);
12607
12616
  }
12608
12617
  xrefStream.addCompressedEntry(ref, objectStreamRef, chunk.length);
@@ -12613,6 +12622,7 @@ class PDFStreamWriter extends PDFWriter {
12613
12622
  const chunk = compressedObjects[idx];
12614
12623
  const ref = objectStreamRefs[idx];
12615
12624
  const objectStream = PDFObjectStream.withContextAndObjects(this.context, chunk, this.encodeStreams);
12625
+ this.context.assign(ref, objectStream);
12616
12626
  if (security)
12617
12627
  this.encrypt(ref, objectStream, security);
12618
12628
  xrefStream.addUncompressedEntry(ref, size);
@@ -12621,8 +12631,9 @@ class PDFStreamWriter extends PDFWriter {
12621
12631
  if (this.shouldWaitForTick(chunk.length))
12622
12632
  yield waitForTick();
12623
12633
  }
12624
- const xrefStreamRef = PDFRef.of(objectNumber++);
12625
- xrefStream.dict.set(PDFName.of('Size'), PDFNumber.of(objectNumber));
12634
+ const xrefStreamRef = this.context.nextRef();
12635
+ this._refToDeleteAfterSave += 1;
12636
+ xrefStream.dict.set(PDFName.of('Size'), PDFNumber.of(this.context.largestObjectNumber + 1));
12626
12637
  if (this.snapshot.prevStartXRef) {
12627
12638
  xrefStream.dict.set(PDFName.of('Prev'), PDFNumber.of(this.snapshot.prevStartXRef));
12628
12639
  }
@@ -12636,6 +12647,19 @@ class PDFStreamWriter extends PDFWriter {
12636
12647
  return { size, header, indirectObjects: uncompressedObjects, trailer };
12637
12648
  });
12638
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
+ }
12639
12663
  }
12640
12664
  PDFStreamWriter.forContext = (context, objectsPerTick, encodeStreams = true, objectsPerStream = 50) => new PDFStreamWriter(context, objectsPerTick, defaultDocumentSnapshot, encodeStreams, objectsPerStream);
12641
12665
  PDFStreamWriter.forContextWithSnapshot = (context, objectsPerTick, snapshot, encodeStreams = true, objectsPerStream = 50) => new PDFStreamWriter(context, objectsPerTick, snapshot, encodeStreams, objectsPerStream);
@@ -15957,7 +15981,7 @@ class PDFXRefStreamParser {
15957
15981
  type = 1;
15958
15982
  const objectNumber = firstObjectNumber + objIdx;
15959
15983
  const entry = {
15960
- ref: PDFRef.of(objectNumber, generationNumber),
15984
+ ref: PDFRef.of(objectNumber, type === 2 ? 0 : generationNumber),
15961
15985
  offset,
15962
15986
  deleted: type === 0,
15963
15987
  inObjectStream: type === 2,