@adnsistemas/pdf-lib 2.6.0 → 2.6.2

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 (39) hide show
  1. package/cjs/core/PDFContext.d.ts.map +1 -1
  2. package/cjs/core/PDFContext.js +4 -1
  3. package/cjs/core/PDFContext.js.map +1 -1
  4. package/cjs/core/parser/PDFXRefStreamParser.js +1 -1
  5. package/cjs/core/parser/PDFXRefStreamParser.js.map +1 -1
  6. package/cjs/core/structures/PDFCrossRefStream.d.ts +1 -1
  7. package/cjs/core/structures/PDFCrossRefStream.d.ts.map +1 -1
  8. package/cjs/core/structures/PDFCrossRefStream.js +10 -4
  9. package/cjs/core/structures/PDFCrossRefStream.js.map +1 -1
  10. package/cjs/core/writers/PDFStreamWriter.d.ts.map +1 -1
  11. package/cjs/core/writers/PDFStreamWriter.js +4 -5
  12. package/cjs/core/writers/PDFStreamWriter.js.map +1 -1
  13. package/dist/pdf-lib.esm.js +19 -10
  14. package/dist/pdf-lib.esm.js.map +1 -1
  15. package/dist/pdf-lib.esm.min.js +3 -3
  16. package/dist/pdf-lib.esm.min.js.map +1 -1
  17. package/dist/pdf-lib.js +19 -10
  18. package/dist/pdf-lib.js.map +1 -1
  19. package/dist/pdf-lib.min.js +1 -1
  20. package/dist/pdf-lib.min.js.map +1 -1
  21. package/es/core/PDFContext.d.ts.map +1 -1
  22. package/es/core/PDFContext.js +4 -1
  23. package/es/core/PDFContext.js.map +1 -1
  24. package/es/core/parser/PDFXRefStreamParser.js +1 -1
  25. package/es/core/parser/PDFXRefStreamParser.js.map +1 -1
  26. package/es/core/structures/PDFCrossRefStream.d.ts +1 -1
  27. package/es/core/structures/PDFCrossRefStream.d.ts.map +1 -1
  28. package/es/core/structures/PDFCrossRefStream.js +10 -4
  29. package/es/core/structures/PDFCrossRefStream.js.map +1 -1
  30. package/es/core/writers/PDFStreamWriter.d.ts.map +1 -1
  31. package/es/core/writers/PDFStreamWriter.js +4 -5
  32. package/es/core/writers/PDFStreamWriter.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/core/PDFContext.ts +3 -1
  35. package/src/core/parser/PDFXRefStreamParser.ts +1 -1
  36. package/src/core/structures/PDFCrossRefStream.ts +11 -5
  37. package/src/core/writers/PDFStreamWriter.ts +7 -5
  38. package/ts3.4/cjs/core/structures/PDFCrossRefStream.d.ts +1 -1
  39. package/ts3.4/es/core/structures/PDFCrossRefStream.d.ts +1 -1
package/dist/pdf-lib.js CHANGED
@@ -9325,7 +9325,10 @@
9325
9325
  }
9326
9326
  nextRef() {
9327
9327
  this.largestObjectNumber += 1;
9328
- return PDFRef.of(this.largestObjectNumber);
9328
+ const ref = PDFRef.of(this.largestObjectNumber);
9329
+ if (this.snapshot)
9330
+ this.snapshot.markRefForSave(ref);
9331
+ return ref;
9329
9332
  }
9330
9333
  register(object) {
9331
9334
  const ref = this.nextRef();
@@ -10442,7 +10445,6 @@
10442
10445
  /**
10443
10446
  * Entries should be added using the [[addDeletedEntry]],
10444
10447
  * [[addUncompressedEntry]], and [[addCompressedEntry]] methods
10445
- * **in order of ascending object number**.
10446
10448
  */
10447
10449
  class PDFCrossRefStream extends PDFFlateStream {
10448
10450
  constructor(dict, entries, encode = true) {
@@ -10511,9 +10513,16 @@
10511
10513
  this.indexCache = Cache.populatedBy(this.computeIndex);
10512
10514
  dict.set(PDFName.of('Type'), PDFName.of('XRef'));
10513
10515
  }
10516
+ appendEntry(entry) {
10517
+ const eind = this.entries.findIndex((e) => e.ref.objectNumber > entry.ref.objectNumber);
10518
+ if (eind < 0 || eind > this.entries.length)
10519
+ this.entries.push(entry);
10520
+ else
10521
+ this.entries.splice(eind, 0, entry);
10522
+ }
10514
10523
  addDeletedEntry(ref, nextFreeObjectNumber) {
10515
10524
  const type = EntryType.Deleted;
10516
- this.entries.push({ type, ref, nextFreeObjectNumber });
10525
+ this.appendEntry({ type, ref, nextFreeObjectNumber });
10517
10526
  this.entryTuplesCache.invalidate();
10518
10527
  this.maxByteWidthsCache.invalidate();
10519
10528
  this.indexCache.invalidate();
@@ -10521,7 +10530,7 @@
10521
10530
  }
10522
10531
  addUncompressedEntry(ref, offset) {
10523
10532
  const type = EntryType.Uncompressed;
10524
- this.entries.push({ type, ref, offset });
10533
+ this.appendEntry({ type, ref, offset });
10525
10534
  this.entryTuplesCache.invalidate();
10526
10535
  this.maxByteWidthsCache.invalidate();
10527
10536
  this.indexCache.invalidate();
@@ -10529,7 +10538,7 @@
10529
10538
  }
10530
10539
  addCompressedEntry(ref, objectStreamRef, index) {
10531
10540
  const type = EntryType.Compressed;
10532
- this.entries.push({ type, ref, objectStreamRef, index });
10541
+ this.appendEntry({ type, ref, objectStreamRef, index });
10533
10542
  this.entryTuplesCache.invalidate();
10534
10543
  this.maxByteWidthsCache.invalidate();
10535
10544
  this.indexCache.invalidate();
@@ -12562,7 +12571,6 @@
12562
12571
  }
12563
12572
  computeBufferSize(incremental) {
12564
12573
  return __awaiter(this, void 0, void 0, function* () {
12565
- let objectNumber = this.context.largestObjectNumber + 1;
12566
12574
  const header = PDFHeader.forVersion(1, 7);
12567
12575
  let size = this.snapshot.pdfSize;
12568
12576
  if (!incremental) {
@@ -12605,7 +12613,7 @@
12605
12613
  if (!chunk || chunk.length % this.objectsPerStream === 0) {
12606
12614
  chunk = [];
12607
12615
  compressedObjects.push(chunk);
12608
- objectStreamRef = PDFRef.of(objectNumber++);
12616
+ objectStreamRef = this.context.nextRef();
12609
12617
  objectStreamRefs.push(objectStreamRef);
12610
12618
  }
12611
12619
  xrefStream.addCompressedEntry(ref, objectStreamRef, chunk.length);
@@ -12616,6 +12624,7 @@
12616
12624
  const chunk = compressedObjects[idx];
12617
12625
  const ref = objectStreamRefs[idx];
12618
12626
  const objectStream = PDFObjectStream.withContextAndObjects(this.context, chunk, this.encodeStreams);
12627
+ this.context.assign(ref, objectStream);
12619
12628
  if (security)
12620
12629
  this.encrypt(ref, objectStream, security);
12621
12630
  xrefStream.addUncompressedEntry(ref, size);
@@ -12624,8 +12633,8 @@
12624
12633
  if (this.shouldWaitForTick(chunk.length))
12625
12634
  yield waitForTick();
12626
12635
  }
12627
- const xrefStreamRef = PDFRef.of(objectNumber++);
12628
- xrefStream.dict.set(PDFName.of('Size'), PDFNumber.of(objectNumber));
12636
+ const xrefStreamRef = this.context.nextRef();
12637
+ xrefStream.dict.set(PDFName.of('Size'), PDFNumber.of(this.context.largestObjectNumber + 1));
12629
12638
  if (this.snapshot.prevStartXRef) {
12630
12639
  xrefStream.dict.set(PDFName.of('Prev'), PDFNumber.of(this.snapshot.prevStartXRef));
12631
12640
  }
@@ -15960,7 +15969,7 @@ end\
15960
15969
  type = 1;
15961
15970
  const objectNumber = firstObjectNumber + objIdx;
15962
15971
  const entry = {
15963
- ref: PDFRef.of(objectNumber, generationNumber),
15972
+ ref: PDFRef.of(objectNumber, type === 2 ? 0 : generationNumber),
15964
15973
  offset,
15965
15974
  deleted: type === 0,
15966
15975
  inObjectStream: type === 2,