@pdfme/pdf-lib 1.18.1 → 1.18.4

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 (143) hide show
  1. package/README.md +11 -2
  2. package/cjs/api/PDFDocument.js +195 -225
  3. package/cjs/api/PDFDocument.js.map +1 -1
  4. package/cjs/api/PDFEmbeddedFile.js +30 -33
  5. package/cjs/api/PDFEmbeddedFile.js.map +1 -1
  6. package/cjs/api/PDFEmbeddedPage.js +5 -7
  7. package/cjs/api/PDFEmbeddedPage.js.map +1 -1
  8. package/cjs/api/PDFFont.js +6 -8
  9. package/cjs/api/PDFFont.js.map +1 -1
  10. package/cjs/api/PDFImage.js +14 -16
  11. package/cjs/api/PDFImage.js.map +1 -1
  12. package/cjs/api/PDFJavaScript.js +19 -22
  13. package/cjs/api/PDFJavaScript.js.map +1 -1
  14. package/cjs/api/PDFPage.d.ts +1 -0
  15. package/cjs/api/PDFPage.d.ts.map +1 -1
  16. package/cjs/api/PDFPage.js +30 -17
  17. package/cjs/api/PDFPage.js.map +1 -1
  18. package/cjs/api/PDFPageOptions.d.ts +15 -8
  19. package/cjs/api/PDFPageOptions.d.ts.map +1 -1
  20. package/cjs/api/PDFPageOptions.js.map +1 -1
  21. package/cjs/api/form/PDFField.js +1 -1
  22. package/cjs/api/form/PDFField.js.map +1 -1
  23. package/cjs/api/form/PDFForm.js +1 -1
  24. package/cjs/api/form/PDFForm.js.map +1 -1
  25. package/cjs/api/form/appearances.js +56 -16
  26. package/cjs/api/form/appearances.js.map +1 -1
  27. package/cjs/api/operations.d.ts +16 -0
  28. package/cjs/api/operations.d.ts.map +1 -1
  29. package/cjs/api/operations.js +53 -5
  30. package/cjs/api/operations.js.map +1 -1
  31. package/cjs/api/svg.d.ts +7 -1
  32. package/cjs/api/svg.d.ts.map +1 -1
  33. package/cjs/api/svg.js +332 -1016
  34. package/cjs/api/svg.js.map +1 -1
  35. package/cjs/core/PDFContext.js +11 -2
  36. package/cjs/core/PDFContext.js.map +1 -1
  37. package/cjs/core/embedders/CustomFontEmbedder.js +62 -74
  38. package/cjs/core/embedders/CustomFontEmbedder.js.map +1 -1
  39. package/cjs/core/embedders/CustomFontSubsetEmbedder.js +3 -5
  40. package/cjs/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
  41. package/cjs/core/embedders/FileEmbedder.js +30 -32
  42. package/cjs/core/embedders/FileEmbedder.js.map +1 -1
  43. package/cjs/core/embedders/JavaScriptEmbedder.js +12 -14
  44. package/cjs/core/embedders/JavaScriptEmbedder.js.map +1 -1
  45. package/cjs/core/embedders/JpegEmbedder.js +54 -59
  46. package/cjs/core/embedders/JpegEmbedder.js.map +1 -1
  47. package/cjs/core/embedders/PDFPageEmbedder.js +22 -26
  48. package/cjs/core/embedders/PDFPageEmbedder.js.map +1 -1
  49. package/cjs/core/embedders/PngEmbedder.js +20 -25
  50. package/cjs/core/embedders/PngEmbedder.js.map +1 -1
  51. package/cjs/core/parser/PDFObjectStreamParser.js +15 -17
  52. package/cjs/core/parser/PDFObjectStreamParser.js.map +1 -1
  53. package/cjs/core/parser/PDFParser.js +66 -74
  54. package/cjs/core/parser/PDFParser.js.map +1 -1
  55. package/cjs/core/writers/PDFStreamWriter.js +53 -55
  56. package/cjs/core/writers/PDFStreamWriter.js.map +1 -1
  57. package/cjs/core/writers/PDFWriter.js +62 -66
  58. package/cjs/core/writers/PDFWriter.js.map +1 -1
  59. package/cjs/types/index.d.ts +4 -4
  60. package/cjs/types/index.d.ts.map +1 -1
  61. package/dist/pdf-lib.esm.js +1153 -2590
  62. package/dist/pdf-lib.esm.js.map +1 -1
  63. package/dist/pdf-lib.esm.min.js +1 -15
  64. package/dist/pdf-lib.esm.min.js.map +1 -1
  65. package/dist/pdf-lib.js +1153 -2590
  66. package/dist/pdf-lib.js.map +1 -1
  67. package/dist/pdf-lib.min.js +1 -15
  68. package/dist/pdf-lib.min.js.map +1 -1
  69. package/es/api/PDFDocument.js +195 -226
  70. package/es/api/PDFDocument.js.map +1 -1
  71. package/es/api/PDFEmbeddedFile.js +30 -33
  72. package/es/api/PDFEmbeddedFile.js.map +1 -1
  73. package/es/api/PDFEmbeddedPage.js +5 -8
  74. package/es/api/PDFEmbeddedPage.js.map +1 -1
  75. package/es/api/PDFFont.js +6 -9
  76. package/es/api/PDFFont.js.map +1 -1
  77. package/es/api/PDFImage.js +14 -17
  78. package/es/api/PDFImage.js.map +1 -1
  79. package/es/api/PDFJavaScript.js +19 -22
  80. package/es/api/PDFJavaScript.js.map +1 -1
  81. package/es/api/PDFPage.d.ts +1 -0
  82. package/es/api/PDFPage.d.ts.map +1 -1
  83. package/es/api/PDFPage.js +30 -18
  84. package/es/api/PDFPage.js.map +1 -1
  85. package/es/api/PDFPageOptions.d.ts +15 -8
  86. package/es/api/PDFPageOptions.d.ts.map +1 -1
  87. package/es/api/PDFPageOptions.js.map +1 -1
  88. package/es/api/form/PDFField.js +1 -1
  89. package/es/api/form/PDFField.js.map +1 -1
  90. package/es/api/form/PDFForm.js +1 -1
  91. package/es/api/form/PDFForm.js.map +1 -1
  92. package/es/api/form/appearances.js +56 -16
  93. package/es/api/form/appearances.js.map +1 -1
  94. package/es/api/operations.d.ts +16 -0
  95. package/es/api/operations.d.ts.map +1 -1
  96. package/es/api/operations.js +54 -6
  97. package/es/api/operations.js.map +1 -1
  98. package/es/api/svg.d.ts +7 -1
  99. package/es/api/svg.d.ts.map +1 -1
  100. package/es/api/svg.js +333 -1017
  101. package/es/api/svg.js.map +1 -1
  102. package/es/core/PDFContext.js +11 -2
  103. package/es/core/PDFContext.js.map +1 -1
  104. package/es/core/embedders/CustomFontEmbedder.js +62 -75
  105. package/es/core/embedders/CustomFontEmbedder.js.map +1 -1
  106. package/es/core/embedders/CustomFontSubsetEmbedder.js +3 -6
  107. package/es/core/embedders/CustomFontSubsetEmbedder.js.map +1 -1
  108. package/es/core/embedders/FileEmbedder.js +30 -33
  109. package/es/core/embedders/FileEmbedder.js.map +1 -1
  110. package/es/core/embedders/JavaScriptEmbedder.js +12 -15
  111. package/es/core/embedders/JavaScriptEmbedder.js.map +1 -1
  112. package/es/core/embedders/JpegEmbedder.js +54 -59
  113. package/es/core/embedders/JpegEmbedder.js.map +1 -1
  114. package/es/core/embedders/PDFPageEmbedder.js +22 -27
  115. package/es/core/embedders/PDFPageEmbedder.js.map +1 -1
  116. package/es/core/embedders/PngEmbedder.js +20 -25
  117. package/es/core/embedders/PngEmbedder.js.map +1 -1
  118. package/es/core/parser/PDFObjectStreamParser.js +15 -18
  119. package/es/core/parser/PDFObjectStreamParser.js.map +1 -1
  120. package/es/core/parser/PDFParser.js +66 -75
  121. package/es/core/parser/PDFParser.js.map +1 -1
  122. package/es/core/writers/PDFStreamWriter.js +53 -56
  123. package/es/core/writers/PDFStreamWriter.js.map +1 -1
  124. package/es/core/writers/PDFWriter.js +62 -67
  125. package/es/core/writers/PDFWriter.js.map +1 -1
  126. package/es/types/index.d.ts +4 -4
  127. package/es/types/index.d.ts.map +1 -1
  128. package/package.json +1 -1
  129. package/src/api/PDFPage.ts +15 -0
  130. package/src/api/PDFPageOptions.ts +15 -8
  131. package/src/api/operations.ts +82 -8
  132. package/src/api/svg.ts +305 -1086
  133. package/src/types/index.ts +6 -1
  134. package/ts3.4/cjs/api/PDFPage.d.ts +1 -0
  135. package/ts3.4/cjs/api/PDFPageOptions.d.ts +15 -8
  136. package/ts3.4/cjs/api/operations.d.ts +16 -0
  137. package/ts3.4/cjs/api/svg.d.ts +7 -1
  138. package/ts3.4/cjs/types/index.d.ts +4 -4
  139. package/ts3.4/es/api/PDFPage.d.ts +1 -0
  140. package/ts3.4/es/api/PDFPageOptions.d.ts +15 -8
  141. package/ts3.4/es/api/operations.d.ts +16 -0
  142. package/ts3.4/es/api/svg.d.ts +7 -1
  143. package/ts3.4/es/types/index.d.ts +4 -4
@@ -1,4 +1,3 @@
1
- import { __awaiter } from "tslib";
2
1
  import PDFHexString from '../objects/PDFHexString.js';
3
2
  class JavaScriptEmbedder {
4
3
  constructor(script, scriptName) {
@@ -8,21 +7,19 @@ class JavaScriptEmbedder {
8
7
  static for(script, scriptName) {
9
8
  return new JavaScriptEmbedder(script, scriptName);
10
9
  }
11
- embedIntoContext(context, ref) {
12
- return __awaiter(this, void 0, void 0, function* () {
13
- const jsActionDict = context.obj({
14
- Type: 'Action',
15
- S: 'JavaScript',
16
- JS: PDFHexString.fromText(this.script),
17
- });
18
- if (ref) {
19
- context.assign(ref, jsActionDict);
20
- return ref;
21
- }
22
- else {
23
- return context.register(jsActionDict);
24
- }
10
+ async embedIntoContext(context, ref) {
11
+ const jsActionDict = context.obj({
12
+ Type: 'Action',
13
+ S: 'JavaScript',
14
+ JS: PDFHexString.fromText(this.script),
25
15
  });
16
+ if (ref) {
17
+ context.assign(ref, jsActionDict);
18
+ return ref;
19
+ }
20
+ else {
21
+ return context.register(jsActionDict);
22
+ }
26
23
  }
27
24
  }
28
25
  export default JavaScriptEmbedder;
@@ -1 +1 @@
1
- {"version":3,"file":"JavaScriptEmbedder.js","sourceRoot":"","sources":["../../../src/core/embedders/JavaScriptEmbedder.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAInD,MAAM,kBAAkB;IAQtB,YAAoB,MAAc,EAAE,UAAkB;QACpD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAVD,MAAM,CAAC,GAAG,CAAC,MAAc,EAAE,UAAkB;QAC3C,OAAO,IAAI,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAUK,gBAAgB,CAAC,OAAmB,EAAE,GAAY;;YACtD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;gBAC/B,IAAI,EAAE,QAAQ;gBACd,CAAC,EAAE,YAAY;gBACf,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;aACvC,CAAC,CAAC;YAEH,IAAI,GAAG,EAAE;gBACP,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;gBAClC,OAAO,GAAG,CAAC;aACZ;iBAAM;gBACL,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;aACvC;QACH,CAAC;KAAA;CACF;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"JavaScriptEmbedder.js","sourceRoot":"","sources":["../../../src/core/embedders/JavaScriptEmbedder.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAInD,MAAM,kBAAkB;IAQtB,YAAoB,MAAc,EAAE,UAAkB;QACpD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAVD,MAAM,CAAC,GAAG,CAAC,MAAc,EAAE,UAAkB;QAC3C,OAAO,IAAI,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAUD,KAAK,CAAC,gBAAgB,CAAC,OAAmB,EAAE,GAAY;QACtD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;YAC/B,IAAI,EAAE,QAAQ;YACd,CAAC,EAAE,YAAY;YACf,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;SACvC,CAAC,CAAC;QAEH,IAAI,GAAG,EAAE;YACP,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAClC,OAAO,GAAG,CAAC;SACZ;aAAM;YACL,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SACvC;IACH,CAAC;CACF;AAED,eAAe,kBAAkB,CAAC"}
@@ -1,4 +1,3 @@
1
- import { __awaiter } from "tslib";
2
1
  // prettier-ignore
3
2
  const MARKERS = [
4
3
  0xffc0, 0xffc1, 0xffc2,
@@ -31,67 +30,63 @@ class JpegEmbedder {
31
30
  this.height = height;
32
31
  this.colorSpace = colorSpace;
33
32
  }
34
- static for(imageData) {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- const dataView = new DataView(imageData.buffer);
37
- const soi = dataView.getUint16(0);
38
- if (soi !== 0xffd8)
39
- throw new Error('SOI not found in JPEG');
40
- let pos = 2;
41
- let marker;
42
- while (pos < dataView.byteLength) {
43
- marker = dataView.getUint16(pos);
44
- pos += 2;
45
- if (MARKERS.includes(marker))
46
- break;
47
- pos += dataView.getUint16(pos);
48
- }
49
- if (!MARKERS.includes(marker))
50
- throw new Error('Invalid JPEG');
33
+ static async for(imageData) {
34
+ const dataView = new DataView(imageData.buffer);
35
+ const soi = dataView.getUint16(0);
36
+ if (soi !== 0xffd8)
37
+ throw new Error('SOI not found in JPEG');
38
+ let pos = 2;
39
+ let marker;
40
+ while (pos < dataView.byteLength) {
41
+ marker = dataView.getUint16(pos);
51
42
  pos += 2;
52
- const bitsPerComponent = dataView.getUint8(pos++);
53
- const height = dataView.getUint16(pos);
54
- pos += 2;
55
- const width = dataView.getUint16(pos);
56
- pos += 2;
57
- const channelByte = dataView.getUint8(pos++);
58
- const channelName = ChannelToColorSpace[channelByte];
59
- if (!channelName)
60
- throw new Error('Unknown JPEG channel.');
61
- const colorSpace = channelName;
62
- return new JpegEmbedder(imageData, bitsPerComponent, width, height, colorSpace);
63
- });
43
+ if (MARKERS.includes(marker))
44
+ break;
45
+ pos += dataView.getUint16(pos);
46
+ }
47
+ if (!MARKERS.includes(marker))
48
+ throw new Error('Invalid JPEG');
49
+ pos += 2;
50
+ const bitsPerComponent = dataView.getUint8(pos++);
51
+ const height = dataView.getUint16(pos);
52
+ pos += 2;
53
+ const width = dataView.getUint16(pos);
54
+ pos += 2;
55
+ const channelByte = dataView.getUint8(pos++);
56
+ const channelName = ChannelToColorSpace[channelByte];
57
+ if (!channelName)
58
+ throw new Error('Unknown JPEG channel.');
59
+ const colorSpace = channelName;
60
+ return new JpegEmbedder(imageData, bitsPerComponent, width, height, colorSpace);
64
61
  }
65
- embedIntoContext(context, ref) {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- const xObject = context.stream(this.imageData, {
68
- Type: 'XObject',
69
- Subtype: 'Image',
70
- BitsPerComponent: this.bitsPerComponent,
71
- Width: this.width,
72
- Height: this.height,
73
- ColorSpace: this.colorSpace,
74
- Filter: 'DCTDecode',
75
- // CMYK JPEG streams in PDF are typically stored complemented,
76
- // with 1 as 'off' and 0 as 'on' (PDF 32000-1:2008, 8.6.4.4).
77
- //
78
- // Standalone CMYK JPEG (usually exported by Photoshop) are
79
- // stored inverse, with 0 as 'off' and 1 as 'on', like RGB.
80
- //
81
- // Applying a swap here as a hedge that most bytes passing
82
- // through this method will benefit from it.
83
- Decode: this.colorSpace === ColorSpace.DeviceCMYK
84
- ? [1, 0, 1, 0, 1, 0, 1, 0]
85
- : undefined,
86
- });
87
- if (ref) {
88
- context.assign(ref, xObject);
89
- return ref;
90
- }
91
- else {
92
- return context.register(xObject);
93
- }
62
+ async embedIntoContext(context, ref) {
63
+ const xObject = context.stream(this.imageData, {
64
+ Type: 'XObject',
65
+ Subtype: 'Image',
66
+ BitsPerComponent: this.bitsPerComponent,
67
+ Width: this.width,
68
+ Height: this.height,
69
+ ColorSpace: this.colorSpace,
70
+ Filter: 'DCTDecode',
71
+ // CMYK JPEG streams in PDF are typically stored complemented,
72
+ // with 1 as 'off' and 0 as 'on' (PDF 32000-1:2008, 8.6.4.4).
73
+ //
74
+ // Standalone CMYK JPEG (usually exported by Photoshop) are
75
+ // stored inverse, with 0 as 'off' and 1 as 'on', like RGB.
76
+ //
77
+ // Applying a swap here as a hedge that most bytes passing
78
+ // through this method will benefit from it.
79
+ Decode: this.colorSpace === ColorSpace.DeviceCMYK
80
+ ? [1, 0, 1, 0, 1, 0, 1, 0]
81
+ : undefined,
94
82
  });
83
+ if (ref) {
84
+ context.assign(ref, xObject);
85
+ return ref;
86
+ }
87
+ else {
88
+ return context.register(xObject);
89
+ }
95
90
  }
96
91
  }
97
92
  export default JpegEmbedder;
@@ -1 +1 @@
1
- {"version":3,"file":"JpegEmbedder.js","sourceRoot":"","sources":["../../../src/core/embedders/JpegEmbedder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JpegEmbedder.js","sourceRoot":"","sources":["../../../src/core/embedders/JpegEmbedder.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { __awaiter } from "tslib";
2
1
  import { MissingPageContentsEmbeddingError, UnrecognizedStreamTypeError, } from '../errors.js';
3
2
  import PDFNumber from '../objects/PDFNumber.js';
4
3
  import PDFRawStream from '../objects/PDFRawStream.js';
@@ -28,34 +27,30 @@ class PDFPageEmbedder {
28
27
  this.transformationMatrix =
29
28
  transformationMatrix !== null && transformationMatrix !== void 0 ? transformationMatrix : boundingBoxAdjustedMatrix(bb);
30
29
  }
31
- static for(page, boundingBox, transformationMatrix) {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- return new PDFPageEmbedder(page, boundingBox, transformationMatrix);
34
- });
30
+ static async for(page, boundingBox, transformationMatrix) {
31
+ return new PDFPageEmbedder(page, boundingBox, transformationMatrix);
35
32
  }
36
- embedIntoContext(context, ref) {
37
- return __awaiter(this, void 0, void 0, function* () {
38
- const { Contents, Resources } = this.page.normalizedEntries();
39
- if (!Contents)
40
- throw new MissingPageContentsEmbeddingError();
41
- const decodedContents = this.decodeContents(Contents);
42
- const { left, bottom, right, top } = this.boundingBox;
43
- const xObject = context.flateStream(decodedContents, {
44
- Type: 'XObject',
45
- Subtype: 'Form',
46
- FormType: 1,
47
- BBox: [left, bottom, right, top],
48
- Matrix: this.transformationMatrix,
49
- Resources,
50
- });
51
- if (ref) {
52
- context.assign(ref, xObject);
53
- return ref;
54
- }
55
- else {
56
- return context.register(xObject);
57
- }
33
+ async embedIntoContext(context, ref) {
34
+ const { Contents, Resources } = this.page.normalizedEntries();
35
+ if (!Contents)
36
+ throw new MissingPageContentsEmbeddingError();
37
+ const decodedContents = this.decodeContents(Contents);
38
+ const { left, bottom, right, top } = this.boundingBox;
39
+ const xObject = context.flateStream(decodedContents, {
40
+ Type: 'XObject',
41
+ Subtype: 'Form',
42
+ FormType: 1,
43
+ BBox: [left, bottom, right, top],
44
+ Matrix: this.transformationMatrix,
45
+ Resources,
58
46
  });
47
+ if (ref) {
48
+ context.assign(ref, xObject);
49
+ return ref;
50
+ }
51
+ else {
52
+ return context.register(xObject);
53
+ }
59
54
  }
60
55
  // `contents` is an array of streams which are merged to include them in the XObject.
61
56
  // This methods extracts each stream and joins them with a newline character.
@@ -1 +1 @@
1
- {"version":3,"file":"PDFPageEmbedder.js","sourceRoot":"","sources":["../../../src/core/embedders/PDFPageEmbedder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PDFPageEmbedder.js","sourceRoot":"","sources":["../../../src/core/embedders/PDFPageEmbedder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,2BAA2B,GAC5B,MAAM,WAAW,CAAC;AAEnB,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAEnD,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAE9D,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAwBlD,MAAM,mBAAmB,GAAG,CAAC,IAAiB,EAAE,EAAE;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAEjC,MAAM,KAAK,GACT,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE;QACxC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE3C,MAAM,MAAM,GACV,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE;QACxC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE3C,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AAC3D,CAAC,CAAC;AAEF,6EAA6E;AAC7E,0BAA0B;AAC1B,MAAM,yBAAyB,GAAG,CAChC,EAAmB,EACG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAE9D,MAAM,eAAe;IAgBnB,YACE,IAAiB,EACjB,WAA6B,EAC7B,oBAA2C;QAE3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,MAAM,EAAE,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,oBAAoB;YACvB,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IA7BD,MAAM,CAAC,KAAK,CAAC,GAAG,CACd,IAAiB,EACjB,WAA6B,EAC7B,oBAA2C;QAE3C,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC;IACtE,CAAC;IAyBD,KAAK,CAAC,gBAAgB,CAAC,OAAmB,EAAE,GAAY;QACtD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE9D,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,iCAAiC,EAAE,CAAC;QAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEtD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QACtD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE;YACnD,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;YAChC,MAAM,EAAE,IAAI,CAAC,oBAAoB;YACjC,SAAS;SACV,CAAC,CAAC;QAEH,IAAI,GAAG,EAAE;YACP,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC7B,OAAO,GAAG,CAAC;SACZ;aAAM;YACL,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAClC;IACH,CAAC;IAED,qFAAqF;IACrF,6EAA6E;IACrE,cAAc,CAAC,QAAkB;QACvC,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,eAAe,GAAiB,EAAE,CAAC;QAEzC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE;YACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAE/C,IAAI,OAAmB,CAAC;YACxB,IAAI,MAAM,YAAY,YAAY,EAAE;gBAClC,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;aAC/C;iBAAM,IAAI,MAAM,YAAY,gBAAgB,EAAE;gBAC7C,OAAO,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;aACzC;iBAAM;gBACL,MAAM,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAC;aAC/C;YAED,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SACxC;QAED,OAAO,mBAAmB,CAAC,GAAG,eAAe,CAAC,CAAC;IACjD,CAAC;CACF;AAED,eAAe,eAAe,CAAC"}
@@ -1,4 +1,3 @@
1
- import { __awaiter } from "tslib";
2
1
  import { PNG } from '../../utils/png.js';
3
2
  /**
4
3
  * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as
@@ -13,32 +12,28 @@ class PngEmbedder {
13
12
  this.height = png.height;
14
13
  this.colorSpace = 'DeviceRGB';
15
14
  }
16
- static for(imageData) {
17
- return __awaiter(this, void 0, void 0, function* () {
18
- const png = PNG.load(imageData);
19
- return new PngEmbedder(png);
20
- });
15
+ static async for(imageData) {
16
+ const png = PNG.load(imageData);
17
+ return new PngEmbedder(png);
21
18
  }
22
- embedIntoContext(context, ref) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- const SMask = this.embedAlphaChannel(context);
25
- const xObject = context.flateStream(this.image.rgbChannel, {
26
- Type: 'XObject',
27
- Subtype: 'Image',
28
- BitsPerComponent: this.image.bitsPerComponent,
29
- Width: this.image.width,
30
- Height: this.image.height,
31
- ColorSpace: this.colorSpace,
32
- SMask,
33
- });
34
- if (ref) {
35
- context.assign(ref, xObject);
36
- return ref;
37
- }
38
- else {
39
- return context.register(xObject);
40
- }
19
+ async embedIntoContext(context, ref) {
20
+ const SMask = this.embedAlphaChannel(context);
21
+ const xObject = context.flateStream(this.image.rgbChannel, {
22
+ Type: 'XObject',
23
+ Subtype: 'Image',
24
+ BitsPerComponent: this.image.bitsPerComponent,
25
+ Width: this.image.width,
26
+ Height: this.image.height,
27
+ ColorSpace: this.colorSpace,
28
+ SMask,
41
29
  });
30
+ if (ref) {
31
+ context.assign(ref, xObject);
32
+ return ref;
33
+ }
34
+ else {
35
+ return context.register(xObject);
36
+ }
42
37
  }
43
38
  embedAlphaChannel(context) {
44
39
  if (!this.image.alphaChannel)
@@ -1 +1 @@
1
- {"version":3,"file":"PngEmbedder.js","sourceRoot":"","sources":["../../../src/core/embedders/PngEmbedder.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC;;;;GAIG;AACH,MAAM,WAAW;IAaf,YAAoB,GAAQ;QAC1B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;IAChC,CAAC;IAlBD,MAAM,CAAO,GAAG,CAAC,SAAqB;;YACpC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChC,OAAO,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;KAAA;IAiBK,gBAAgB,CAAC,OAAmB,EAAE,GAAY;;YACtD,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAE9C,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;gBACzD,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,OAAO;gBAChB,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB;gBAC7C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gBACvB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBACzB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK;aACN,CAAC,CAAC;YAEH,IAAI,GAAG,EAAE;gBACP,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC7B,OAAO,GAAG,CAAC;aACZ;iBAAM;gBACL,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAClC;QACH,CAAC;KAAA;IAEO,iBAAiB,CAAC,OAAmB;QAC3C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY;YAAE,OAAO,SAAS,CAAC;QAE/C,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC3D,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB;YAC7C,UAAU,EAAE,YAAY;YACxB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACf,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;CACF;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"PngEmbedder.js","sourceRoot":"","sources":["../../../src/core/embedders/PngEmbedder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC;;;;GAIG;AACH,MAAM,WAAW;IAaf,YAAoB,GAAQ;QAC1B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;IAChC,CAAC;IAlBD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAqB;QACpC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAiBD,KAAK,CAAC,gBAAgB,CAAC,OAAmB,EAAE,GAAY;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAE9C,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YACzD,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO;YAChB,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB;YAC7C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK;SACN,CAAC,CAAC;QAEH,IAAI,GAAG,EAAE;YACP,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC7B,OAAO,GAAG,CAAC;SACZ;aAAM;YACL,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAClC;IACH,CAAC;IAEO,iBAAiB,CAAC,OAAmB;QAC3C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY;YAAE,OAAO,SAAS,CAAC;QAE/C,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC3D,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB;YAC7C,UAAU,EAAE,YAAY;YACxB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACf,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;CACF;AAED,eAAe,WAAW,CAAC"}
@@ -1,4 +1,3 @@
1
- import { __awaiter } from "tslib";
2
1
  import { ReparseError } from '../errors.js';
3
2
  import PDFName from '../objects/PDFName.js';
4
3
  import PDFNumber from '../objects/PDFNumber.js';
@@ -15,23 +14,21 @@ class PDFObjectStreamParser extends PDFObjectParser {
15
14
  this.firstOffset = dict.lookup(PDFName.of('First'), PDFNumber).asNumber();
16
15
  this.objectCount = dict.lookup(PDFName.of('N'), PDFNumber).asNumber();
17
16
  }
18
- parseIntoContext() {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- if (this.alreadyParsed) {
21
- throw new ReparseError('PDFObjectStreamParser', 'parseIntoContext');
22
- }
23
- this.alreadyParsed = true;
24
- const offsetsAndObjectNumbers = this.parseOffsetsAndObjectNumbers();
25
- for (let idx = 0, len = offsetsAndObjectNumbers.length; idx < len; idx++) {
26
- const { objectNumber, offset } = offsetsAndObjectNumbers[idx];
27
- this.bytes.moveTo(this.firstOffset + offset);
28
- const ref = PDFRef.of(objectNumber, 0);
29
- const object = this.parseObject(ref);
30
- this.context.assign(ref, object);
31
- if (this.shouldWaitForTick())
32
- yield waitForTick();
33
- }
34
- });
17
+ async parseIntoContext() {
18
+ if (this.alreadyParsed) {
19
+ throw new ReparseError('PDFObjectStreamParser', 'parseIntoContext');
20
+ }
21
+ this.alreadyParsed = true;
22
+ const offsetsAndObjectNumbers = this.parseOffsetsAndObjectNumbers();
23
+ for (let idx = 0, len = offsetsAndObjectNumbers.length; idx < len; idx++) {
24
+ const { objectNumber, offset } = offsetsAndObjectNumbers[idx];
25
+ this.bytes.moveTo(this.firstOffset + offset);
26
+ const ref = PDFRef.of(objectNumber, 0);
27
+ const object = this.parseObject(ref);
28
+ this.context.assign(ref, object);
29
+ if (this.shouldWaitForTick())
30
+ await waitForTick();
31
+ }
35
32
  }
36
33
  parseOffsetsAndObjectNumbers() {
37
34
  const offsetsAndObjectNumbers = [];
@@ -1 +1 @@
1
- {"version":3,"file":"PDFObjectStreamParser.js","sourceRoot":"","sources":["../../../src/core/parser/PDFObjectStreamParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PDFObjectStreamParser.js","sourceRoot":"","sources":["../../../src/core/parser/PDFObjectStreamParser.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { __awaiter } from "tslib";
2
1
  import PDFCrossRefSection from '../document/PDFCrossRefSection.js';
3
2
  import PDFHeader from '../document/PDFHeader.js';
4
3
  import PDFTrailer from '../document/PDFTrailer.js';
@@ -30,29 +29,27 @@ class PDFParser extends PDFObjectParser {
30
29
  this.throwOnInvalidObject = throwOnInvalidObject;
31
30
  this.context.isDecrypted = !!(cryptoFactory === null || cryptoFactory === void 0 ? void 0 : cryptoFactory.encryptionKey);
32
31
  }
33
- parseDocument() {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- if (this.alreadyParsed) {
36
- throw new ReparseError('PDFParser', 'parseDocument');
37
- }
38
- this.alreadyParsed = true;
39
- this.context.header = this.parseHeader();
40
- let prevOffset;
41
- while (!this.bytes.done()) {
42
- yield this.parseDocumentSection();
43
- const offset = this.bytes.offset();
44
- if (offset === prevOffset) {
45
- throw new StalledParserError(this.bytes.position());
46
- }
47
- prevOffset = offset;
48
- }
49
- this.maybeRecoverRoot();
50
- if (this.context.lookup(PDFRef.of(0))) {
51
- console.warn('Removing parsed object: 0 0 R');
52
- this.context.delete(PDFRef.of(0));
32
+ async parseDocument() {
33
+ if (this.alreadyParsed) {
34
+ throw new ReparseError('PDFParser', 'parseDocument');
35
+ }
36
+ this.alreadyParsed = true;
37
+ this.context.header = this.parseHeader();
38
+ let prevOffset;
39
+ while (!this.bytes.done()) {
40
+ await this.parseDocumentSection();
41
+ const offset = this.bytes.offset();
42
+ if (offset === prevOffset) {
43
+ throw new StalledParserError(this.bytes.position());
53
44
  }
54
- return this.context;
55
- });
45
+ prevOffset = offset;
46
+ }
47
+ this.maybeRecoverRoot();
48
+ if (this.context.lookup(PDFRef.of(0))) {
49
+ console.warn('Removing parsed object: 0 0 R');
50
+ this.context.delete(PDFRef.of(0));
51
+ }
52
+ return this.context;
56
53
  }
57
54
  maybeRecoverRoot() {
58
55
  const isValidCatalog = (obj) => obj instanceof PDFDict &&
@@ -104,30 +101,28 @@ class PDFParser extends PDFObjectParser {
104
101
  return false;
105
102
  }
106
103
  }
107
- parseIndirectObject() {
108
- return __awaiter(this, void 0, void 0, function* () {
109
- const ref = this.parseIndirectObjectHeader();
110
- this.skipWhitespaceAndComments();
111
- const object = this.parseObject(ref);
112
- this.skipWhitespaceAndComments();
113
- // if (!this.matchKeyword(Keywords.endobj)) {
114
- // throw new MissingKeywordError(this.bytes.position(), Keywords.endobj);
115
- // }
116
- // TODO: Log a warning if this fails...
117
- this.matchKeyword(Keywords.endobj);
118
- if (object instanceof PDFRawStream &&
119
- object.dict.lookup(PDFName.of('Type')) === PDFName.of('ObjStm')) {
120
- yield PDFObjectStreamParser.forStream(object, this.shouldWaitForTick).parseIntoContext();
121
- }
122
- else if (object instanceof PDFRawStream &&
123
- object.dict.lookup(PDFName.of('Type')) === PDFName.of('XRef')) {
124
- PDFXRefStreamParser.forStream(object).parseIntoContext();
125
- }
126
- else {
127
- this.context.assign(ref, object);
128
- }
129
- return ref;
130
- });
104
+ async parseIndirectObject() {
105
+ const ref = this.parseIndirectObjectHeader();
106
+ this.skipWhitespaceAndComments();
107
+ const object = this.parseObject(ref);
108
+ this.skipWhitespaceAndComments();
109
+ // if (!this.matchKeyword(Keywords.endobj)) {
110
+ // throw new MissingKeywordError(this.bytes.position(), Keywords.endobj);
111
+ // }
112
+ // TODO: Log a warning if this fails...
113
+ this.matchKeyword(Keywords.endobj);
114
+ if (object instanceof PDFRawStream &&
115
+ object.dict.lookup(PDFName.of('Type')) === PDFName.of('ObjStm')) {
116
+ await PDFObjectStreamParser.forStream(object, this.shouldWaitForTick).parseIntoContext();
117
+ }
118
+ else if (object instanceof PDFRawStream &&
119
+ object.dict.lookup(PDFName.of('Type')) === PDFName.of('XRef')) {
120
+ PDFXRefStreamParser.forStream(object).parseIntoContext();
121
+ }
122
+ else {
123
+ this.context.assign(ref, object);
124
+ }
125
+ return ref;
131
126
  }
132
127
  // TODO: Improve and clean this up
133
128
  tryToParseInvalidIndirectObject() {
@@ -156,26 +151,24 @@ class PDFParser extends PDFObjectParser {
156
151
  this.context.assign(ref, object);
157
152
  return ref;
158
153
  }
159
- parseIndirectObjects() {
160
- return __awaiter(this, void 0, void 0, function* () {
161
- this.skipWhitespaceAndComments();
162
- while (!this.bytes.done() && IsDigit[this.bytes.peek()]) {
163
- const initialOffset = this.bytes.offset();
164
- try {
165
- yield this.parseIndirectObject();
166
- }
167
- catch (e) {
168
- // TODO: Add tracing/logging mechanism to track when this happens!
169
- this.bytes.moveTo(initialOffset);
170
- this.tryToParseInvalidIndirectObject();
171
- }
172
- this.skipWhitespaceAndComments();
173
- // TODO: Can this be done only when needed, to avoid harming performance?
174
- this.skipJibberish();
175
- if (this.shouldWaitForTick())
176
- yield waitForTick();
154
+ async parseIndirectObjects() {
155
+ this.skipWhitespaceAndComments();
156
+ while (!this.bytes.done() && IsDigit[this.bytes.peek()]) {
157
+ const initialOffset = this.bytes.offset();
158
+ try {
159
+ await this.parseIndirectObject();
160
+ }
161
+ catch (e) {
162
+ // TODO: Add tracing/logging mechanism to track when this happens!
163
+ this.bytes.moveTo(initialOffset);
164
+ this.tryToParseInvalidIndirectObject();
177
165
  }
178
- });
166
+ this.skipWhitespaceAndComments();
167
+ // TODO: Can this be done only when needed, to avoid harming performance?
168
+ this.skipJibberish();
169
+ if (this.shouldWaitForTick())
170
+ await waitForTick();
171
+ }
179
172
  }
180
173
  maybeParseCrossRefSection() {
181
174
  this.skipWhitespaceAndComments();
@@ -235,15 +228,13 @@ class PDFParser extends PDFObjectParser {
235
228
  this.skipWhitespaceAndComments();
236
229
  return PDFTrailer.forLastCrossRefSectionOffset(offset);
237
230
  }
238
- parseDocumentSection() {
239
- return __awaiter(this, void 0, void 0, function* () {
240
- yield this.parseIndirectObjects();
241
- this.maybeParseCrossRefSection();
242
- this.maybeParseTrailerDict();
243
- this.maybeParseTrailer();
244
- // TODO: Can this be done only when needed, to avoid harming performance?
245
- this.skipJibberish();
246
- });
231
+ async parseDocumentSection() {
232
+ await this.parseIndirectObjects();
233
+ this.maybeParseCrossRefSection();
234
+ this.maybeParseTrailerDict();
235
+ this.maybeParseTrailer();
236
+ // TODO: Can this be done only when needed, to avoid harming performance?
237
+ this.skipJibberish();
247
238
  }
248
239
  /**
249
240
  * This operation is not necessary for valid PDF files. But some invalid PDFs