@libpdf/core 0.2.10 → 0.2.12
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 -5
- 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.12";
|
|
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
|
+
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)");
|
|
32957
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.
|
|
@@ -44362,6 +44369,7 @@ var P12Signer = class P12Signer {
|
|
|
44362
44369
|
*/
|
|
44363
44370
|
static async create(p12Bytes, password, options = {}) {
|
|
44364
44371
|
try {
|
|
44372
|
+
getCrypto();
|
|
44365
44373
|
const asn1 = fromBER(toArrayBuffer(p12Bytes));
|
|
44366
44374
|
if (asn1.offset === -1) throw new SignerError("Invalid PKCS#12 file: failed to parse ASN.1 structure");
|
|
44367
44375
|
const pfx = new pkijs.PFX({ schema: asn1.result });
|