From d1d79b0b4c5211c6dcb0e9b33c6d60a3bcf08152 Mon Sep 17 00:00:00 2001 From: BobLd <38405645+BobLd@users.noreply.github.com> Date: Sun, 15 Jun 2025 20:44:41 +0100 Subject: [PATCH] Check ColorSpace token as dictionary and fix issue #1061 --- src/UglyToad.PdfPig/Content/ResourceStore.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/UglyToad.PdfPig/Content/ResourceStore.cs b/src/UglyToad.PdfPig/Content/ResourceStore.cs index 58f3e490..ab52feb5 100644 --- a/src/UglyToad.PdfPig/Content/ResourceStore.cs +++ b/src/UglyToad.PdfPig/Content/ResourceStore.cs @@ -119,6 +119,13 @@ namedColorSpaces[name] = new ResourceColorSpace(arrayNamedColorSpace, colorSpaceArray); } + else if (parsingOptions.UseLenientParsing && + DirectObjectFinder.TryGet(nameColorSpacePair.Value, scanner, out DictionaryToken? dict) && + dict.TryGet(NameToken.ColorSpace, scanner, out NameToken? csName)) + { + // See issue #1061 + namedColorSpaces[name] = new ResourceColorSpace(csName); + } else { throw new PdfDocumentFormatException($"Invalid ColorSpace token encountered in page resource dictionary: {nameColorSpacePair.Value}.");