@libpdf/core 0.2.10 → 0.2.11
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.
- package/dist/index.mjs +13 -6
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -1
package/dist/index.mjs
CHANGED
|
@@ -11,7 +11,7 @@ import { createCMSECDSASignature } from "pkijs";
|
|
|
11
11
|
import { base64 } from "@scure/base";
|
|
12
12
|
|
|
13
13
|
//#region package.json
|
|
14
|
-
var version = "0.2.
|
|
14
|
+
var version = "0.2.11";
|
|
15
15
|
|
|
16
16
|
//#endregion
|
|
17
17
|
//#region src/objects/pdf-array.ts
|
|
@@ -29424,11 +29424,15 @@ var ObjectCopier = class {
|
|
|
29424
29424
|
*/
|
|
29425
29425
|
getInheritedAttribute(page, key$1) {
|
|
29426
29426
|
let current = page;
|
|
29427
|
+
const visited = /* @__PURE__ */ new Set();
|
|
29427
29428
|
while (current) {
|
|
29428
29429
|
const value = current.get(key$1);
|
|
29429
29430
|
if (value) return value;
|
|
29430
29431
|
const parentRef = current.getRef("Parent");
|
|
29431
29432
|
if (!parentRef) break;
|
|
29433
|
+
const refKey$1 = `${parentRef.objectNumber}:${parentRef.generation}`;
|
|
29434
|
+
if (visited.has(refKey$1)) break;
|
|
29435
|
+
visited.add(refKey$1);
|
|
29432
29436
|
const parent = this.source.getObject(parentRef);
|
|
29433
29437
|
current = parent instanceof PdfDict ? parent : null;
|
|
29434
29438
|
}
|
|
@@ -32950,11 +32954,14 @@ var XRefParser = class {
|
|
|
32950
32954
|
const count = this.readIntegerFromCurrent();
|
|
32951
32955
|
if (count === null) throw new XRefParseError("Expected subsection entry count");
|
|
32952
32956
|
this.skipWhitespaceFromCurrent();
|
|
32953
|
-
|
|
32954
|
-
|
|
32955
|
-
|
|
32956
|
-
|
|
32957
|
-
|
|
32957
|
+
const parsedEntries = [];
|
|
32958
|
+
for (let i = 0; i < count; i++) parsedEntries.push(this.parseEntry());
|
|
32959
|
+
let correctedFirstObjNum = firstObjNum;
|
|
32960
|
+
if (firstObjNum === 1 && parsedEntries.length > 0 && parsedEntries[0].type === "free" && parsedEntries[0].generation === 65535) {
|
|
32961
|
+
correctedFirstObjNum = 0;
|
|
32962
|
+
console.warn("XRef: corrected subsection start from 1 to 0 (free list head at wrong position)");
|
|
32963
|
+
}
|
|
32964
|
+
for (let i = 0; i < parsedEntries.length; i++) entries.set(correctedFirstObjNum + i, parsedEntries[i]);
|
|
32958
32965
|
}
|
|
32959
32966
|
/**
|
|
32960
32967
|
* Parse a single xref entry.
|