@adnsistemas/pdf-lib 2.4.5 → 2.5.0

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 (88) hide show
  1. package/cjs/api/PDFDocument.d.ts.map +1 -1
  2. package/cjs/api/PDFDocument.js +2 -0
  3. package/cjs/api/PDFDocument.js.map +1 -1
  4. package/cjs/api/snapshot/DefaultDocumentSnapshot.d.ts +4 -0
  5. package/cjs/api/snapshot/DefaultDocumentSnapshot.d.ts.map +1 -1
  6. package/cjs/api/snapshot/DefaultDocumentSnapshot.js +10 -0
  7. package/cjs/api/snapshot/DefaultDocumentSnapshot.js.map +1 -1
  8. package/cjs/api/snapshot/DocumentSnapshot.d.ts +4 -0
  9. package/cjs/api/snapshot/DocumentSnapshot.d.ts.map +1 -1
  10. package/cjs/api/snapshot/IncrementalDocumentSnapshot.d.ts +5 -0
  11. package/cjs/api/snapshot/IncrementalDocumentSnapshot.d.ts.map +1 -1
  12. package/cjs/api/snapshot/IncrementalDocumentSnapshot.js +17 -0
  13. package/cjs/api/snapshot/IncrementalDocumentSnapshot.js.map +1 -1
  14. package/cjs/core/PDFContext.d.ts +1 -0
  15. package/cjs/core/PDFContext.d.ts.map +1 -1
  16. package/cjs/core/PDFContext.js +2 -0
  17. package/cjs/core/PDFContext.js.map +1 -1
  18. package/cjs/core/document/PDFCrossRefSection.d.ts +1 -1
  19. package/cjs/core/document/PDFCrossRefSection.d.ts.map +1 -1
  20. package/cjs/core/document/PDFCrossRefSection.js +49 -2
  21. package/cjs/core/document/PDFCrossRefSection.js.map +1 -1
  22. package/cjs/core/parser/PDFParser.d.ts.map +1 -1
  23. package/cjs/core/parser/PDFParser.js +6 -0
  24. package/cjs/core/parser/PDFParser.js.map +1 -1
  25. package/cjs/core/parser/PDFXRefStreamParser.d.ts.map +1 -1
  26. package/cjs/core/parser/PDFXRefStreamParser.js +6 -0
  27. package/cjs/core/parser/PDFXRefStreamParser.js.map +1 -1
  28. package/cjs/core/writers/PDFWriter.d.ts.map +1 -1
  29. package/cjs/core/writers/PDFWriter.js +10 -0
  30. package/cjs/core/writers/PDFWriter.js.map +1 -1
  31. package/dist/pdf-lib.esm.js +100 -2
  32. package/dist/pdf-lib.esm.js.map +1 -1
  33. package/dist/pdf-lib.esm.min.js +3 -3
  34. package/dist/pdf-lib.esm.min.js.map +1 -1
  35. package/dist/pdf-lib.js +100 -2
  36. package/dist/pdf-lib.js.map +1 -1
  37. package/dist/pdf-lib.min.js +3 -3
  38. package/dist/pdf-lib.min.js.map +1 -1
  39. package/es/api/PDFDocument.d.ts.map +1 -1
  40. package/es/api/PDFDocument.js +2 -0
  41. package/es/api/PDFDocument.js.map +1 -1
  42. package/es/api/snapshot/DefaultDocumentSnapshot.d.ts +4 -0
  43. package/es/api/snapshot/DefaultDocumentSnapshot.d.ts.map +1 -1
  44. package/es/api/snapshot/DefaultDocumentSnapshot.js +10 -0
  45. package/es/api/snapshot/DefaultDocumentSnapshot.js.map +1 -1
  46. package/es/api/snapshot/DocumentSnapshot.d.ts +4 -0
  47. package/es/api/snapshot/DocumentSnapshot.d.ts.map +1 -1
  48. package/es/api/snapshot/IncrementalDocumentSnapshot.d.ts +5 -0
  49. package/es/api/snapshot/IncrementalDocumentSnapshot.d.ts.map +1 -1
  50. package/es/api/snapshot/IncrementalDocumentSnapshot.js +17 -0
  51. package/es/api/snapshot/IncrementalDocumentSnapshot.js.map +1 -1
  52. package/es/core/PDFContext.d.ts +1 -0
  53. package/es/core/PDFContext.d.ts.map +1 -1
  54. package/es/core/PDFContext.js +2 -0
  55. package/es/core/PDFContext.js.map +1 -1
  56. package/es/core/document/PDFCrossRefSection.d.ts +1 -1
  57. package/es/core/document/PDFCrossRefSection.d.ts.map +1 -1
  58. package/es/core/document/PDFCrossRefSection.js +49 -2
  59. package/es/core/document/PDFCrossRefSection.js.map +1 -1
  60. package/es/core/parser/PDFParser.d.ts.map +1 -1
  61. package/es/core/parser/PDFParser.js +6 -0
  62. package/es/core/parser/PDFParser.js.map +1 -1
  63. package/es/core/parser/PDFXRefStreamParser.d.ts.map +1 -1
  64. package/es/core/parser/PDFXRefStreamParser.js +6 -0
  65. package/es/core/parser/PDFXRefStreamParser.js.map +1 -1
  66. package/es/core/writers/PDFWriter.d.ts.map +1 -1
  67. package/es/core/writers/PDFWriter.js +10 -0
  68. package/es/core/writers/PDFWriter.js.map +1 -1
  69. package/package.json +2 -2
  70. package/src/api/PDFDocument.ts +2 -0
  71. package/src/api/snapshot/DefaultDocumentSnapshot.ts +13 -0
  72. package/src/api/snapshot/DocumentSnapshot.ts +6 -0
  73. package/src/api/snapshot/IncrementalDocumentSnapshot.ts +20 -0
  74. package/src/core/PDFContext.ts +2 -0
  75. package/src/core/document/PDFCrossRefSection.ts +46 -2
  76. package/src/core/parser/PDFParser.ts +7 -0
  77. package/src/core/parser/PDFXRefStreamParser.ts +8 -0
  78. package/src/core/writers/PDFWriter.ts +11 -0
  79. package/ts3.4/cjs/api/snapshot/DefaultDocumentSnapshot.d.ts +4 -0
  80. package/ts3.4/cjs/api/snapshot/DocumentSnapshot.d.ts +4 -0
  81. package/ts3.4/cjs/api/snapshot/IncrementalDocumentSnapshot.d.ts +5 -0
  82. package/ts3.4/cjs/core/PDFContext.d.ts +1 -0
  83. package/ts3.4/cjs/core/document/PDFCrossRefSection.d.ts +1 -1
  84. package/ts3.4/es/api/snapshot/DefaultDocumentSnapshot.d.ts +4 -0
  85. package/ts3.4/es/api/snapshot/DocumentSnapshot.d.ts +4 -0
  86. package/ts3.4/es/api/snapshot/IncrementalDocumentSnapshot.d.ts +5 -0
  87. package/ts3.4/es/core/PDFContext.d.ts +1 -0
  88. package/ts3.4/es/core/document/PDFCrossRefSection.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PDFParser.js","sourceRoot":"","sources":["../../../src/core/parser/PDFParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PDFParser.js","sourceRoot":"","sources":["../../../src/core/parser/PDFParser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PDFXRefStreamParser.d.ts","sourceRoot":"","sources":["../../../src/core/parser/PDFXRefStreamParser.ts"],"names":[],"mappings":"AAKA,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAIvC,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,cAAM,mBAAmB;IACvB,MAAM,CAAC,SAAS,cAAe,YAAY,yBACN;IAErC,OAAO,CAAC,aAAa,CAAU;IAE/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAGxB;IACJ,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;gBAE1C,SAAS,EAAE,YAAY;IA6BnC,gBAAgB,IAAI,KAAK,EAAE;IAuB3B,OAAO,CAAC,YAAY;CA4CrB;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"PDFXRefStreamParser.d.ts","sourceRoot":"","sources":["../../../src/core/parser/PDFXRefStreamParser.ts"],"names":[],"mappings":"AAKA,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAIvC,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,cAAM,mBAAmB;IACvB,MAAM,CAAC,SAAS,cAAe,YAAY,yBACN;IAErC,OAAO,CAAC,aAAa,CAAU;IAE/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAGxB;IACJ,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;gBAE1C,SAAS,EAAE,YAAY;IA6BnC,gBAAgB,IAAI,KAAK,EAAE;IA+B3B,OAAO,CAAC,YAAY;CA4CrB;AAED,eAAe,mBAAmB,CAAC"}
@@ -36,11 +36,17 @@ class PDFXRefStreamParser {
36
36
  }
37
37
  this.alreadyParsed = true;
38
38
  this.context.trailerInfo = {
39
+ Size: this.dict.lookup(PDFName.of('Size'), PDFNumber),
39
40
  Root: this.dict.get(PDFName.of('Root')),
40
41
  Encrypt: this.dict.get(PDFName.of('Encrypt')),
41
42
  Info: this.dict.get(PDFName.of('Info')),
42
43
  ID: this.dict.get(PDFName.of('ID')),
43
44
  };
45
+ // if open for incremental update, make sure next object number doesn't overlap a deleted one
46
+ if (this.context.trailerInfo.Size &&
47
+ this.context.pdfFileDetails.originalBytes)
48
+ this.context.largestObjectNumber =
49
+ this.context.trailerInfo.Size.asNumber() - 1;
44
50
  const entries = this.parseEntries();
45
51
  // for (let idx = 0, len = entries.length; idx < len; idx++) {
46
52
  // const entry = entries[idx];
@@ -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":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAE3C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,UAAU,MAAM,cAAc,CAAC;AAUtC,MAAM,mBAAmB;IAevB,YAAY,SAAuB;QACjC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAEpD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;QAE7D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,IAAI,KAAK,YAAY,QAAQ,EAAE;YAC7B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE;gBACzD,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACtE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC3D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAC;aACtD;SACF;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SACxE;QAED,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE;YAClD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;SAC5D;IACH,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,MAAM,IAAI,YAAY,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;SACnE;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;YACrD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YACvC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;SACpC,CAAC;QACF,6FAA6F;QAC7F,IACE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI;YAC7B,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,aAAa;YAEzC,IAAI,CAAC,OAAO,CAAC,mBAAmB;gBAC9B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpC,8DAA8D;QAC9D,8BAA8B;QAC9B,qDAAqD;QACrD,IAAI;QAEJ,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,YAAY;QAClB,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,CAAC,cAAc,EAAE,gBAAgB,EAAE,aAAa,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAE1E,KACE,IAAI,aAAa,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAC9D,aAAa,GAAG,aAAa,EAC7B,aAAa,EAAE,EACf;YACA,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAEtE,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE;gBAC9C,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,cAAc,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE;oBACxD,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;iBACxC;gBAED,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,gBAAgB,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE;oBAC1D,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;iBAC5C;gBAED,IAAI,gBAAgB,GAAG,CAAC,CAAC;gBACzB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,aAAa,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE;oBACvD,gBAAgB,GAAG,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;iBAChE;gBAED,oDAAoD;gBACpD,IAAI,cAAc,KAAK,CAAC;oBAAE,IAAI,GAAG,CAAC,CAAC;gBAEnC,MAAM,YAAY,GAAG,iBAAiB,GAAG,MAAM,CAAC;gBAChD,MAAM,KAAK,GAAG;oBACZ,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;oBAC9C,MAAM;oBACN,OAAO,EAAE,IAAI,KAAK,CAAC;oBACnB,cAAc,EAAE,IAAI,KAAK,CAAC;iBAC3B,CAAC;gBAEF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACrB;SACF;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;;AArHM,6BAAS,GAAG,CAAC,SAAuB,EAAE,EAAE,CAC7C,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAuHvC,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PDFWriter.d.ts","sourceRoot":"","sources":["../../../src/core/writers/PDFWriter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,UAAU,MAAM,eAAe,CAAC;AAKvC,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAGlD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;IACvC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,cAAM,SAAS;IACb,MAAM,CAAC,UAAU,YAAa,UAAU,kBAAkB,MAAM,eACE;IAElE,MAAM,CAAC,sBAAsB,YAClB,UAAU,kBACH,MAAM,YACZ,gBAAgB,eAC0B;IAEtD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAEvC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAC9C,OAAO,CAAC,aAAa,CAAK;IAE1B,SAAS,aACP,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,gBAAgB;IAOtB,iBAAiB,IAAI,OAAO,CAAC,UAAU,CAAC;IAmE9C,SAAS,CAAC,yBAAyB,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE;QACjD,MAAM;QACN,SAAS;KACV,GAAG,MAAM;IAMV,SAAS,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO;cAW5C,iBAAiB,CAC/B,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,iBAAiB,CAAC;IAwC7B,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW;IAYvE,SAAS,CAAC,iBAAiB,MAAO,MAAM,aAGtC;CACH;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"PDFWriter.d.ts","sourceRoot":"","sources":["../../../src/core/writers/PDFWriter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,UAAU,MAAM,eAAe,CAAC;AAKvC,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAGlD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;IACvC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,cAAM,SAAS;IACb,MAAM,CAAC,UAAU,YAAa,UAAU,kBAAkB,MAAM,eACE;IAElE,MAAM,CAAC,sBAAsB,YAClB,UAAU,kBACH,MAAM,YACZ,gBAAgB,eAC0B;IAEtD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAEvC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAC9C,OAAO,CAAC,aAAa,CAAK;IAE1B,SAAS,aACP,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,gBAAgB;IAOtB,iBAAiB,IAAI,OAAO,CAAC,UAAU,CAAC;IAmE9C,SAAS,CAAC,yBAAyB,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE;QACjD,MAAM;QACN,SAAS;KACV,GAAG,MAAM;IAMV,SAAS,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO;cAW5C,iBAAiB,CAC/B,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,iBAAiB,CAAC;IAmD7B,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW;IAYvE,SAAS,CAAC,iBAAiB,MAAO,MAAM,aAGtC;CACH;AAED,eAAe,SAAS,CAAC"}
@@ -4,6 +4,7 @@ import PDFCrossRefSection from '../document/PDFCrossRefSection.js';
4
4
  import PDFHeader from '../document/PDFHeader.js';
5
5
  import PDFTrailer from '../document/PDFTrailer.js';
6
6
  import PDFTrailerDict from '../document/PDFTrailerDict.js';
7
+ import PDFRef from '../objects/PDFRef.js';
7
8
  import PDFObjectStream from '../structures/PDFObjectStream.js';
8
9
  import CharCodes from '../syntax/CharCodes.js';
9
10
  import { copyStringIntoBuffer, waitForTick } from '../../utils/index.js';
@@ -111,6 +112,15 @@ class PDFWriter {
111
112
  if (this.shouldWaitForTick(1))
112
113
  yield waitForTick();
113
114
  }
115
+ // deleted objects
116
+ for (let idx = 0; idx < this.snapshot.deletedCount; idx++) {
117
+ const dref = this.snapshot.deletedRef(idx);
118
+ if (!dref)
119
+ break;
120
+ const nextdref = this.snapshot.deletedRef(idx + 1);
121
+ // add 1 to generation number for deleted ref
122
+ xref.addDeletedEntry(PDFRef.of(dref.objectNumber, dref.generationNumber + 1), nextdref ? nextdref.objectNumber : 0);
123
+ }
114
124
  const xrefOffset = size;
115
125
  size += xref.sizeInBytes() + 1; // '\n'
116
126
  const trailerDict = PDFTrailerDict.of(this.createTrailerDict(this.snapshot.prevStartXRef));
@@ -1 +1 @@
1
- {"version":3,"file":"PDFWriter.js","sourceRoot":"","sources":["../../../src/core/writers/PDFWriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PDFWriter.js","sourceRoot":"","sources":["../../../src/core/writers/PDFWriter.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.4.5",
3
+ "version": "2.5.0",
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",
@@ -71,7 +71,7 @@
71
71
  "scratchpad:flame": "rimraf isolate*.log && node --prof scratchpad/build/scratchpad/index.js && node --prof-process --preprocess -j isolate*.log | flamebearer",
72
72
  "apps:node": "tsc --build apps/node/tsconfig.json && node apps/node-build/index.js",
73
73
  "apps:deno": "deno run --allow-read --allow-write --allow-run apps/deno/index.ts",
74
- "apps:web": "http-server -c-1 .",
74
+ "apps:web": "http-server -c-1 -o apps/web/test1.html",
75
75
  "apps:web:mac": "bash -c 'sleep 1 && open http://localhost:8080/apps/web/test1.html' & yarn apps:web",
76
76
  "apps:rn:ios": "cd apps/rn && yarn add ./../.. --force && react-native run-ios",
77
77
  "apps:rn:android": "yarn apps:rn:emulator & cd apps/rn && yarn add ./../.. --force && react-native run-android",
@@ -688,8 +688,10 @@ export default class PDFDocument {
688
688
  const pageCount = this.getPageCount();
689
689
  if (this.pageCount === 0) throw new RemovePageFromEmptyDocumentError();
690
690
  assertRange(index, 'index', 0, pageCount - 1);
691
+ const page = this.getPage(index);
691
692
  this.catalog.removeLeafNode(index);
692
693
  this.pageCount = pageCount - 1;
694
+ this.context.delete(page.ref);
693
695
  }
694
696
 
695
697
  /**
@@ -4,6 +4,7 @@ import type { DocumentSnapshot } from './DocumentSnapshot';
4
4
  export class DefaultDocumentSnapshot implements DocumentSnapshot {
5
5
  pdfSize = 0;
6
6
  prevStartXRef = 0;
7
+ deletedCount = 0;
7
8
 
8
9
  shouldSave(_objectNumber: number): boolean {
9
10
  return true;
@@ -24,6 +25,18 @@ export class DefaultDocumentSnapshot implements DocumentSnapshot {
24
25
  markObjsForSave(_objs: PDFObject[]): void {
25
26
  throw new Error('This method should not be called.');
26
27
  }
28
+
29
+ markDeletedObj(_obj: PDFObject): void {
30
+ throw new Error('This method should not be called.');
31
+ }
32
+
33
+ markDeletedRef(_ref: PDFRef): void {
34
+ throw new Error('This method should not be called.');
35
+ }
36
+
37
+ deletedRef(_index: number): PDFRef | null {
38
+ throw new Error('This method should not be called.');
39
+ }
27
40
  }
28
41
 
29
42
  export const defaultDocumentSnapshot = new DefaultDocumentSnapshot();
@@ -3,6 +3,7 @@ import type { PDFObject, PDFRef } from '../../core';
3
3
  export interface DocumentSnapshot {
4
4
  pdfSize: number;
5
5
  prevStartXRef: number;
6
+ deletedCount: number;
6
7
 
7
8
  shouldSave: (objectNumber: number) => boolean;
8
9
 
@@ -11,4 +12,9 @@ export interface DocumentSnapshot {
11
12
 
12
13
  markObjForSave: (obj: PDFObject) => void;
13
14
  markObjsForSave: (objs: PDFObject[]) => void;
15
+
16
+ markDeletedRef: (ref: PDFRef) => void;
17
+ markDeletedObj: (obj: PDFObject) => void;
18
+
19
+ deletedRef: (index: number) => PDFRef | null;
14
20
  }
@@ -4,7 +4,9 @@ import type { DocumentSnapshot } from './DocumentSnapshot';
4
4
  export class IncrementalDocumentSnapshot implements DocumentSnapshot {
5
5
  pdfSize: number;
6
6
  prevStartXRef: number;
7
+ deletedCount: number = 0;
7
8
 
9
+ private deleted: PDFRef[] = [];
8
10
  private lastObjectNumber: number;
9
11
  private changedObjects: number[];
10
12
 
@@ -56,4 +58,22 @@ export class IncrementalDocumentSnapshot implements DocumentSnapshot {
56
58
  .filter((ref) => ref !== undefined) as PDFRef[],
57
59
  );
58
60
  }
61
+
62
+ markDeletedRef(ref: PDFRef): void {
63
+ if (
64
+ this.deleted.findIndex((dref) => dref.objectNumber === ref.objectNumber) <
65
+ 0
66
+ )
67
+ this.deletedCount = this.deleted.push(ref);
68
+ }
69
+
70
+ markDeletedObj(obj: PDFObject): void {
71
+ const oref = this.context.getRef(obj);
72
+ if (oref) this.markDeletedRef(oref);
73
+ }
74
+
75
+ deletedRef(index: number): PDFRef | null {
76
+ if (index < 0 || index >= this.deleted.length) return null;
77
+ return this.deleted[index];
78
+ }
59
79
  }
@@ -60,6 +60,7 @@ class PDFContext {
60
60
  largestObjectNumber: number;
61
61
  header: PDFHeader;
62
62
  trailerInfo: {
63
+ Size?: PDFNumber;
63
64
  Root?: PDFObject;
64
65
  Encrypt?: PDFObject;
65
66
  Info?: PDFObject;
@@ -114,6 +115,7 @@ class PDFContext {
114
115
  }
115
116
 
116
117
  delete(ref: PDFRef): boolean {
118
+ if (this.snapshot) this.snapshot.markDeletedRef(ref);
117
119
  return this.indirectObjects.delete(ref);
118
120
  }
119
121
 
@@ -10,7 +10,7 @@ export interface Entry {
10
10
 
11
11
  /**
12
12
  * Entries should be added using the [[addEntry]] and [[addDeletedEntry]]
13
- * methods **in order of ascending object number**.
13
+ * methods.
14
14
  */
15
15
  class PDFCrossRefSection {
16
16
  static create = () =>
@@ -37,6 +37,22 @@ class PDFCrossRefSection {
37
37
  }
38
38
 
39
39
  addDeletedEntry(ref: PDFRef, nextFreeObjectNumber: number): void {
40
+ // fix the first entry if required
41
+ if (!this.subsections.length) {
42
+ this.subsections = [
43
+ [
44
+ {
45
+ ref: PDFRef.of(0, 65535),
46
+ offset: ref.objectNumber,
47
+ deleted: true,
48
+ },
49
+ ],
50
+ ];
51
+ this.chunkIdx = 0;
52
+ this.chunkLength = 1;
53
+ } else if (!this.subsections[0][0].offset) {
54
+ this.subsections[0][0].offset = ref.objectNumber;
55
+ }
40
56
  this.append({ ref, offset: nextFreeObjectNumber, deleted: true });
41
57
  }
42
58
 
@@ -159,7 +175,35 @@ class PDFCrossRefSection {
159
175
  const chunk = this.subsections[this.chunkIdx];
160
176
  const prevEntry = chunk[this.chunkLength - 1];
161
177
 
162
- if (currEntry.ref.objectNumber - prevEntry.ref.objectNumber > 1) {
178
+ if (currEntry.ref.objectNumber - prevEntry.ref.objectNumber !== 1) {
179
+ // the current chunk is not the right chunk, find the right one, or create a new one
180
+ for (let c = 0; c < this.subsections.length; c++) {
181
+ const first = this.subsections[c][0];
182
+ const last = this.subsections[c][this.subsections[c].length - 1];
183
+ if (first.ref.objectNumber > currEntry.ref.objectNumber) {
184
+ // goes before this subsection, or at the start of it
185
+ if (first.ref.objectNumber - currEntry.ref.objectNumber === 1) {
186
+ // first element of subsection
187
+ this.subsections[c].unshift(currEntry);
188
+ if (c === this.chunkIdx) this.chunkLength += 1;
189
+ return;
190
+ } else {
191
+ // create subsection
192
+ this.subsections.splice(c, 0, [currEntry]);
193
+ this.chunkIdx++;
194
+ return;
195
+ }
196
+ } else if (last.ref.objectNumber > currEntry.ref.objectNumber) {
197
+ // goes in this subsection, find its place..
198
+ const cep = this.subsections[c].findIndex(
199
+ (ee) => ee.ref.objectNumber > currEntry.ref.objectNumber,
200
+ );
201
+ this.subsections[c].splice(cep, 0, currEntry);
202
+ if (c === this.chunkIdx) this.chunkLength += 1;
203
+ }
204
+ // bigger, keep looking
205
+ }
206
+ // if got to here, then a new subsection is required
163
207
  this.subsections.push([currEntry]);
164
208
  this.chunkIdx += 1;
165
209
  this.chunkLength = 1;
@@ -24,6 +24,7 @@ import { Keywords } from '../syntax/Keywords';
24
24
  import { IsDigit } from '../syntax/Numeric';
25
25
  import { waitForTick } from '../../utils';
26
26
  import { CipherTransformFactory } from '../crypto';
27
+ import PDFNumber from '../objects/PDFNumber';
27
28
 
28
29
  class PDFParser extends PDFObjectParser {
29
30
  static forBytesWithOptions = (
@@ -307,11 +308,17 @@ class PDFParser extends PDFObjectParser {
307
308
 
308
309
  const { context } = this;
309
310
  context.trailerInfo = {
311
+ Size:
312
+ dict.lookupMaybe(PDFName.of('Size'), PDFNumber) ||
313
+ context.trailerInfo.Size,
310
314
  Root: dict.get(PDFName.of('Root')) || context.trailerInfo.Root,
311
315
  Encrypt: dict.get(PDFName.of('Encrypt')) || context.trailerInfo.Encrypt,
312
316
  Info: dict.get(PDFName.of('Info')) || context.trailerInfo.Info,
313
317
  ID: dict.get(PDFName.of('ID')) || context.trailerInfo.ID,
314
318
  };
319
+ // if open for incremental update, then deleted objects need to be preserved, and largestObjectNumber has to be Size-1
320
+ if (context.trailerInfo.Size && context.pdfFileDetails.originalBytes)
321
+ context.largestObjectNumber = context.trailerInfo.Size.asNumber() - 1;
315
322
  }
316
323
 
317
324
  private maybeParseTrailer(): PDFTrailer | void {
@@ -66,11 +66,19 @@ class PDFXRefStreamParser {
66
66
  this.alreadyParsed = true;
67
67
 
68
68
  this.context.trailerInfo = {
69
+ Size: this.dict.lookup(PDFName.of('Size'), PDFNumber),
69
70
  Root: this.dict.get(PDFName.of('Root')),
70
71
  Encrypt: this.dict.get(PDFName.of('Encrypt')),
71
72
  Info: this.dict.get(PDFName.of('Info')),
72
73
  ID: this.dict.get(PDFName.of('ID')),
73
74
  };
75
+ // if open for incremental update, make sure next object number doesn't overlap a deleted one
76
+ if (
77
+ this.context.trailerInfo.Size &&
78
+ this.context.pdfFileDetails.originalBytes
79
+ )
80
+ this.context.largestObjectNumber =
81
+ this.context.trailerInfo.Size.asNumber() - 1;
74
82
 
75
83
  const entries = this.parseEntries();
76
84
 
@@ -166,6 +166,17 @@ class PDFWriter {
166
166
  size += this.computeIndirectObjectSize(indirectObject);
167
167
  if (this.shouldWaitForTick(1)) await waitForTick();
168
168
  }
169
+ // deleted objects
170
+ for (let idx = 0; idx < this.snapshot.deletedCount; idx++) {
171
+ const dref = this.snapshot.deletedRef(idx);
172
+ if (!dref) break;
173
+ const nextdref = this.snapshot.deletedRef(idx + 1);
174
+ // add 1 to generation number for deleted ref
175
+ xref.addDeletedEntry(
176
+ PDFRef.of(dref.objectNumber, dref.generationNumber + 1),
177
+ nextdref ? nextdref.objectNumber : 0,
178
+ );
179
+ }
169
180
 
170
181
  const xrefOffset = size;
171
182
  size += xref.sizeInBytes() + 1; // '\n'
@@ -3,11 +3,15 @@ import { DocumentSnapshot } from './DocumentSnapshot';
3
3
  export declare class DefaultDocumentSnapshot implements DocumentSnapshot {
4
4
  pdfSize: number;
5
5
  prevStartXRef: number;
6
+ deletedCount: number;
6
7
  shouldSave(_objectNumber: number): boolean;
7
8
  markRefForSave(_ref: PDFRef): void;
8
9
  markRefsForSave(_refs: PDFRef[]): void;
9
10
  markObjForSave(_obj: PDFObject): void;
10
11
  markObjsForSave(_objs: PDFObject[]): void;
12
+ markDeletedObj(_obj: PDFObject): void;
13
+ markDeletedRef(_ref: PDFRef): void;
14
+ deletedRef(_index: number): PDFRef | null;
11
15
  }
12
16
  export declare const defaultDocumentSnapshot: DefaultDocumentSnapshot;
13
17
  //# sourceMappingURL=DefaultDocumentSnapshot.d.ts.map
@@ -2,10 +2,14 @@ import { PDFObject, PDFRef } from '../../core';
2
2
  export interface DocumentSnapshot {
3
3
  pdfSize: number;
4
4
  prevStartXRef: number;
5
+ deletedCount: number;
5
6
  shouldSave: (objectNumber: number) => boolean;
6
7
  markRefForSave: (ref: PDFRef) => void;
7
8
  markRefsForSave: (refs: PDFRef[]) => void;
8
9
  markObjForSave: (obj: PDFObject) => void;
9
10
  markObjsForSave: (objs: PDFObject[]) => void;
11
+ markDeletedRef: (ref: PDFRef) => void;
12
+ markDeletedObj: (obj: PDFObject) => void;
13
+ deletedRef: (index: number) => PDFRef | null;
10
14
  }
11
15
  //# sourceMappingURL=DocumentSnapshot.d.ts.map
@@ -3,6 +3,8 @@ import { DocumentSnapshot } from './DocumentSnapshot';
3
3
  export declare class IncrementalDocumentSnapshot implements DocumentSnapshot {
4
4
  pdfSize: number;
5
5
  prevStartXRef: number;
6
+ deletedCount: number;
7
+ private deleted;
6
8
  private lastObjectNumber;
7
9
  private changedObjects;
8
10
  context: PDFContext;
@@ -12,5 +14,8 @@ export declare class IncrementalDocumentSnapshot implements DocumentSnapshot {
12
14
  markRefsForSave(refs: PDFRef[]): void;
13
15
  markObjForSave(obj: PDFObject): void;
14
16
  markObjsForSave(objs: PDFObject[]): void;
17
+ markDeletedRef(ref: PDFRef): void;
18
+ markDeletedObj(obj: PDFObject): void;
19
+ deletedRef(index: number): PDFRef | null;
15
20
  }
16
21
  //# sourceMappingURL=IncrementalDocumentSnapshot.d.ts.map
@@ -36,6 +36,7 @@ declare class PDFContext {
36
36
  largestObjectNumber: number;
37
37
  header: PDFHeader;
38
38
  trailerInfo: {
39
+ Size?: PDFNumber;
39
40
  Root?: PDFObject;
40
41
  Encrypt?: PDFObject;
41
42
  Info?: PDFObject;
@@ -6,7 +6,7 @@ export interface Entry {
6
6
  }
7
7
  /**
8
8
  * Entries should be added using the [[addEntry]] and [[addDeletedEntry]]
9
- * methods **in order of ascending object number**.
9
+ * methods.
10
10
  */
11
11
  declare class PDFCrossRefSection {
12
12
  static create: () => PDFCrossRefSection;
@@ -3,11 +3,15 @@ import { DocumentSnapshot } from './DocumentSnapshot';
3
3
  export declare class DefaultDocumentSnapshot implements DocumentSnapshot {
4
4
  pdfSize: number;
5
5
  prevStartXRef: number;
6
+ deletedCount: number;
6
7
  shouldSave(_objectNumber: number): boolean;
7
8
  markRefForSave(_ref: PDFRef): void;
8
9
  markRefsForSave(_refs: PDFRef[]): void;
9
10
  markObjForSave(_obj: PDFObject): void;
10
11
  markObjsForSave(_objs: PDFObject[]): void;
12
+ markDeletedObj(_obj: PDFObject): void;
13
+ markDeletedRef(_ref: PDFRef): void;
14
+ deletedRef(_index: number): PDFRef | null;
11
15
  }
12
16
  export declare const defaultDocumentSnapshot: DefaultDocumentSnapshot;
13
17
  //# sourceMappingURL=DefaultDocumentSnapshot.d.ts.map
@@ -2,10 +2,14 @@ import { PDFObject, PDFRef } from '../../core';
2
2
  export interface DocumentSnapshot {
3
3
  pdfSize: number;
4
4
  prevStartXRef: number;
5
+ deletedCount: number;
5
6
  shouldSave: (objectNumber: number) => boolean;
6
7
  markRefForSave: (ref: PDFRef) => void;
7
8
  markRefsForSave: (refs: PDFRef[]) => void;
8
9
  markObjForSave: (obj: PDFObject) => void;
9
10
  markObjsForSave: (objs: PDFObject[]) => void;
11
+ markDeletedRef: (ref: PDFRef) => void;
12
+ markDeletedObj: (obj: PDFObject) => void;
13
+ deletedRef: (index: number) => PDFRef | null;
10
14
  }
11
15
  //# sourceMappingURL=DocumentSnapshot.d.ts.map
@@ -3,6 +3,8 @@ import { DocumentSnapshot } from './DocumentSnapshot';
3
3
  export declare class IncrementalDocumentSnapshot implements DocumentSnapshot {
4
4
  pdfSize: number;
5
5
  prevStartXRef: number;
6
+ deletedCount: number;
7
+ private deleted;
6
8
  private lastObjectNumber;
7
9
  private changedObjects;
8
10
  context: PDFContext;
@@ -12,5 +14,8 @@ export declare class IncrementalDocumentSnapshot implements DocumentSnapshot {
12
14
  markRefsForSave(refs: PDFRef[]): void;
13
15
  markObjForSave(obj: PDFObject): void;
14
16
  markObjsForSave(objs: PDFObject[]): void;
17
+ markDeletedRef(ref: PDFRef): void;
18
+ markDeletedObj(obj: PDFObject): void;
19
+ deletedRef(index: number): PDFRef | null;
15
20
  }
16
21
  //# sourceMappingURL=IncrementalDocumentSnapshot.d.ts.map
@@ -36,6 +36,7 @@ declare class PDFContext {
36
36
  largestObjectNumber: number;
37
37
  header: PDFHeader;
38
38
  trailerInfo: {
39
+ Size?: PDFNumber;
39
40
  Root?: PDFObject;
40
41
  Encrypt?: PDFObject;
41
42
  Info?: PDFObject;
@@ -6,7 +6,7 @@ export interface Entry {
6
6
  }
7
7
  /**
8
8
  * Entries should be added using the [[addEntry]] and [[addDeletedEntry]]
9
- * methods **in order of ascending object number**.
9
+ * methods.
10
10
  */
11
11
  declare class PDFCrossRefSection {
12
12
  static create: () => PDFCrossRefSection;