From 216b86a082c604719c34615f22911c2e93dcf87f Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Tue, 30 Aug 2022 18:40:27 +0200 Subject: [PATCH] [api-minor] Support Named-actions in the outline (issue 15367) Apparently this is implemented in e.g. Adobe Reader, and the specification does support it, however it cannot be commonly used in real-world PDF documents since it took over ten years for this feature to be requested. --- src/core/catalog.js | 3 ++- test/pdfs/.gitignore | 1 + test/pdfs/issue15367.pdf | Bin 0 -> 42112 bytes test/unit/api_spec.js | 26 ++++++++++++++++++++++++++ web/pdf_outline_viewer.js | 10 +++++++++- 5 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 test/pdfs/issue15367.pdf diff --git a/src/core/catalog.js b/src/core/catalog.js index 1a2513758..3a0b3bb26 100644 --- a/src/core/catalog.js +++ b/src/core/catalog.js @@ -302,7 +302,7 @@ class Catalog { throw new FormatError("Invalid outline item encountered."); } - const data = { url: null, dest: null }; + const data = { url: null, dest: null, action: null }; Catalog.parseDestDictionary({ destDict: outlineDict, resultObj: data, @@ -324,6 +324,7 @@ class Catalog { } const outlineItem = { + action: data.action, dest: data.dest, url: data.url, unsafeUrl: data.unsafeUrl, diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index b3f167b00..e17ce2b67 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -50,6 +50,7 @@ !issue7439.pdf !issue7847_radial.pdf !issue14953.pdf +!issue15367.pdf !issue7446.pdf !issue7492.pdf !issue7544.pdf diff --git a/test/pdfs/issue15367.pdf b/test/pdfs/issue15367.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1ee10d22bf7399d2ba3b3df1fec7142ace204c23 GIT binary patch literal 42112 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

-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 { + linkService.executeNamedAction(action); + return false; + }; + return; + } element.href = linkService.getDestinationHash(dest); element.onclick = evt => {