From 6318ccf6d2569459d0bc4a97410072b26c3d6a0b Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Sat, 4 Sep 2021 07:56:04 +0200 Subject: [PATCH] Treat all content as visible when no optional content groups are defined (issue 13971) In the referenced PDF document the /Contents stream contains MarkedContent-operators, however no optional content dictionary exists; according to [the specification](https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf#G7.3883825): > Null values or references to deleted objects shall be ignored. If this entry is not present, is an empty array, or contains references only to null or deleted objects, the membership dictionary shall have no effect on the visibility of any content. --- src/display/optional_content_config.js | 3 +++ test/pdfs/issue13971.pdf.link | 1 + test/test_manifest.json | 7 +++++++ 3 files changed, 11 insertions(+) create mode 100644 test/pdfs/issue13971.pdf.link diff --git a/src/display/optional_content_config.js b/src/display/optional_content_config.js index b50379efb..4f70893a4 100644 --- a/src/display/optional_content_config.js +++ b/src/display/optional_content_config.js @@ -95,6 +95,9 @@ class OptionalContentConfig { } isVisible(group) { + if (this._groups.size === 0) { + return true; + } if (!group) { warn("Optional content group not defined."); return true; diff --git a/test/pdfs/issue13971.pdf.link b/test/pdfs/issue13971.pdf.link new file mode 100644 index 000000000..de1eea548 --- /dev/null +++ b/test/pdfs/issue13971.pdf.link @@ -0,0 +1 @@ +https://github.com/mozilla/pdf.js/files/7109095/PDFBOX-5275-p5.pdf diff --git a/test/test_manifest.json b/test/test_manifest.json index 1cf730d01..ecc087cc6 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -3728,6 +3728,13 @@ "link": true, "type": "eq" }, + { "id": "issue13971", + "file": "pdfs/issue13971.pdf", + "md5": "50fbf6b9f26ea0e4427f33bae62a4d77", + "rounds": 1, + "link": true, + "type": "eq" + }, { "id": "issue1655", "file": "pdfs/issue1655r.pdf", "md5": "569f48449ba57c15c4f9ade151a651c5",