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