From ce66fefbffe0f3a0d9b36636ec4d92afda74f959 Mon Sep 17 00:00:00 2001
From: Jonas Jenwald <jonas.jenwald@gmail.com>
Date: Mon, 3 Oct 2022 17:55:13 +0200
Subject: [PATCH] [api-minor] Add partial support for the "GoToE" action (issue
 8844)

*Please note:* The referenced issue is the only mention that I can find, in either GitHub or Bugzilla, of "GoToE" actions.
Hence why I've purposely settled for a very simple, and partial, "GoToE" implementation to avoid complicating things initially.[1] In particular, this patch only supports "GoToE" actions that references the /EmbeddedFiles-dict in the PDF document.

See https://web.archive.org/web/20220309040754if_/https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf#G11.2048909

---
[1] Usually I always prefer having *real-world* test-cases to work with, whenever I'm implementing new features.
---
 src/core/annotation.js          |  10 +++++++++-
 src/core/catalog.js             |  25 +++++++++++++++++++++++++
 src/display/annotation_layer.js |  21 +++++++++++++++++++++
 test/pdfs/.gitignore            |   1 +
 test/pdfs/issue8844.pdf         | Bin 0 -> 38910 bytes
 test/unit/api_spec.js           |  21 +++++++++++++++++++++
 web/app.js                      |   1 +
 web/pdf_outline_viewer.js       |  21 +++++++++++++++++++--
 8 files changed, 97 insertions(+), 3 deletions(-)
 create mode 100644 test/pdfs/issue8844.pdf

diff --git a/src/core/annotation.js b/src/core/annotation.js
index 6aa8b4d20..aa312e157 100644
--- a/src/core/annotation.js
+++ b/src/core/annotation.js
@@ -80,15 +80,19 @@ class AnnotationFactory {
       // Only necessary to prevent the `pdfManager.docBaseUrl`-getter, used
       // with certain Annotations, from throwing and thus breaking parsing:
       pdfManager.ensureCatalog("baseUrl"),
+      // Only necessary in the `Catalog.parseDestDictionary`-method,
+      // when parsing "GoToE" actions:
+      pdfManager.ensureCatalog("attachments"),
       pdfManager.ensureDoc("xfaDatasets"),
       collectFields ? this._getPageIndex(xref, ref, pdfManager) : -1,
-    ]).then(([acroForm, baseUrl, xfaDatasets, pageIndex]) =>
+    ]).then(([acroForm, baseUrl, attachments, xfaDatasets, pageIndex]) =>
       pdfManager.ensure(this, "_create", [
         xref,
         ref,
         pdfManager,
         idFactory,
         acroForm,
+        attachments,
         xfaDatasets,
         collectFields,
         pageIndex,
@@ -105,6 +109,7 @@ class AnnotationFactory {
     pdfManager,
     idFactory,
     acroForm,
+    attachments = null,
     xfaDatasets,
     collectFields,
     pageIndex = -1
@@ -130,6 +135,7 @@ class AnnotationFactory {
       id,
       pdfManager,
       acroForm: acroForm instanceof Dict ? acroForm : Dict.empty,
+      attachments,
       xfaDatasets,
       collectFields,
       pageIndex,
@@ -2893,6 +2899,7 @@ class ButtonWidgetAnnotation extends WidgetAnnotation {
       destDict: params.dict,
       resultObj: this.data,
       docBaseUrl: params.pdfManager.docBaseUrl,
+      docAttachments: params.attachments,
     });
   }
 
@@ -3221,6 +3228,7 @@ class LinkAnnotation extends Annotation {
       destDict: params.dict,
       resultObj: this.data,
       docBaseUrl: params.pdfManager.docBaseUrl,
+      docAttachments: params.attachments,
     });
   }
 }
diff --git a/src/core/catalog.js b/src/core/catalog.js
index f60d740f3..561d6a9be 100644
--- a/src/core/catalog.js
+++ b/src/core/catalog.js
@@ -307,6 +307,7 @@ class Catalog {
         destDict: outlineDict,
         resultObj: data,
         docBaseUrl: this.pdfManager.docBaseUrl,
+        docAttachments: this.attachments,
       });
       const title = outlineDict.get("Title");
       const flags = outlineDict.get("F") || 0;
@@ -325,6 +326,7 @@ class Catalog {
 
       const outlineItem = {
         action: data.action,
+        attachment: data.attachment,
         dest: data.dest,
         url: data.url,
         unsafeUrl: data.unsafeUrl,
@@ -1412,6 +1414,8 @@ class Catalog {
    *   properties will be placed.
    * @property {string} [docBaseUrl] - The document base URL that is used when
    *   attempting to recover valid absolute URLs from relative ones.
+   * @property {Object} [docAttachments] - The document attachments (may not
+   *   exist in most PDF documents).
    */
 
   /**
@@ -1430,6 +1434,7 @@ class Catalog {
       return;
     }
     const docBaseUrl = params.docBaseUrl || null;
+    const docAttachments = params.docAttachments || null;
 
     let action = destDict.get("A"),
       url,
@@ -1526,6 +1531,26 @@ class Catalog {
           }
           break;
 
+        case "GoToE":
+          const target = action.get("T");
+          let attachment;
+
+          if (docAttachments && target instanceof Dict) {
+            const relationship = target.get("R");
+            const name = target.get("N");
+
+            if (isName(relationship, "C") && typeof name === "string") {
+              attachment = docAttachments[stringToPDFString(name)];
+            }
+          }
+
+          if (attachment) {
+            resultObj.attachment = attachment;
+          } else {
+            warn(`parseDestDictionary - unimplemented "GoToE" action.`);
+          }
+          break;
+
         case "Named":
           const namedAction = action.get("N");
           if (namedAction instanceof Name) {
diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js
index 9839506e8..85cb93c9c 100644
--- a/src/display/annotation_layer.js
+++ b/src/display/annotation_layer.js
@@ -595,6 +595,9 @@ class LinkAnnotationElement extends AnnotationElement {
     } else if (data.action) {
       this._bindNamedAction(link, data.action);
       isBound = true;
+    } else if (data.attachment) {
+      this._bindAttachment(link, data.attachment);
+      isBound = true;
     } else if (data.setOCGState) {
       this.#bindSetOCGState(link, data.setOCGState);
       isBound = true;
@@ -679,6 +682,24 @@ class LinkAnnotationElement extends AnnotationElement {
     link.className = "internalLink";
   }
 
+  /**
+   * Bind attachments to the link element.
+   * @param {Object} link
+   * @param {Object} attachment
+   */
+  _bindAttachment(link, attachment) {
+    link.href = this.linkService.getAnchorUrl("");
+    link.onclick = () => {
+      this.downloadManager?.openOrDownloadData(
+        this.container,
+        attachment.content,
+        attachment.filename
+      );
+      return false;
+    };
+    link.className = "internalLink";
+  }
+
   /**
    * Bind SetOCGState actions to the link element.
    * @param {Object} link
diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore
index 1b0d41af4..80524c365 100644
--- a/test/pdfs/.gitignore
+++ b/test/pdfs/.gitignore
@@ -49,6 +49,7 @@
 !issue7426.pdf
 !issue7439.pdf
 !issue7847_radial.pdf
+!issue8844.pdf
 !issue14953.pdf
 !issue15367.pdf
 !issue15372.pdf
diff --git a/test/pdfs/issue8844.pdf b/test/pdfs/issue8844.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..c1f25ffe4f098df23ba31b9c08f77161b816bc89
GIT binary patch
literal 38910
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
Qh8zMGA?M^&&{8D-54!VL2><{9

literal 0
HcmV?d00001

diff --git a/test/unit/api_spec.js b/test/unit/api_spec.js
index 591f94624..cea08e235 100644
--- a/test/unit/api_spec.js
+++ b/test/unit/api_spec.js
@@ -15,6 +15,7 @@
 
 import {
   AnnotationMode,
+  AnnotationType,
   createPromiseCapability,
   FontType,
   ImageKind,
@@ -1536,6 +1537,7 @@ describe("api", function () {
 
       expect(outline[4]).toEqual({
         action: null,
+        attachment: undefined,
         dest: "Händel -- Halle🎆lujah",
         url: null,
         unsafeUrl: undefined,
@@ -1562,6 +1564,7 @@ describe("api", function () {
 
       expect(outline[1]).toEqual({
         action: "PrevPage",
+        attachment: undefined,
         dest: null,
         url: null,
         unsafeUrl: undefined,
@@ -1588,6 +1591,7 @@ describe("api", function () {
 
       expect(outline[0]).toEqual({
         action: null,
+        attachment: undefined,
         dest: null,
         url: null,
         unsafeUrl: undefined,
@@ -2155,6 +2159,23 @@ describe("api", function () {
       ]);
     });
 
+    it("gets annotations containing GoToE action (issue 8844)", async function () {
+      const loadingTask = getDocument(buildGetDocumentParams("issue8844.pdf"));
+      const pdfDoc = await loadingTask.promise;
+      const pdfPage = await pdfDoc.getPage(1);
+      const annotations = await pdfPage.getAnnotations();
+
+      expect(annotations.length).toEqual(1);
+      expect(annotations[0].annotationType).toEqual(AnnotationType.LINK);
+
+      const { filename, content } = annotations[0].attachment;
+      expect(filename).toEqual("man.pdf");
+      expect(content instanceof Uint8Array).toEqual(true);
+      expect(content.length).toEqual(4508);
+
+      await loadingTask.destroy();
+    });
+
     it("gets text content", async function () {
       const defaultPromise = page.getTextContent();
       const parametersPromise = page.getTextContent({
diff --git a/web/app.js b/web/app.js
index 37a655b39..046f498ee 100644
--- a/web/app.js
+++ b/web/app.js
@@ -636,6 +636,7 @@ const PDFViewerApplication = {
       container: appConfig.sidebar.outlineView,
       eventBus,
       linkService: pdfLinkService,
+      downloadManager,
     });
 
     this.pdfAttachmentViewer = new PDFAttachmentViewer({
diff --git a/web/pdf_outline_viewer.js b/web/pdf_outline_viewer.js
index 9bcb8179a..42ac42c6c 100644
--- a/web/pdf_outline_viewer.js
+++ b/web/pdf_outline_viewer.js
@@ -20,8 +20,9 @@ import { SidebarView } from "./ui_utils.js";
 /**
  * @typedef {Object} PDFOutlineViewerOptions
  * @property {HTMLDivElement} container - The viewer element.
- * @property {IPDFLinkService} linkService - The navigation/linking service.
  * @property {EventBus} eventBus - The application event bus.
+ * @property {IPDFLinkService} linkService - The navigation/linking service.
+ * @property {DownloadManager} downloadManager - The download manager.
  */
 
 /**
@@ -37,6 +38,7 @@ class PDFOutlineViewer extends BaseTreeViewer {
   constructor(options) {
     super(options);
     this.linkService = options.linkService;
+    this.downloadManager = options.downloadManager;
 
     this.eventBus._on("toggleoutlinetree", this._toggleAllTreeItems.bind(this));
     this.eventBus._on(
@@ -109,7 +111,10 @@ class PDFOutlineViewer extends BaseTreeViewer {
   /**
    * @private
    */
-  _bindLink(element, { url, newWindow, action, dest, setOCGState }) {
+  _bindLink(
+    element,
+    { url, newWindow, action, attachment, dest, setOCGState }
+  ) {
     const { linkService } = this;
 
     if (url) {
@@ -124,6 +129,18 @@ class PDFOutlineViewer extends BaseTreeViewer {
       };
       return;
     }
+    if (attachment) {
+      element.href = linkService.getAnchorUrl("");
+      element.onclick = () => {
+        this.downloadManager.openOrDownloadData(
+          element,
+          attachment.content,
+          attachment.filename
+        );
+        return false;
+      };
+      return;
+    }
     if (setOCGState) {
       element.href = linkService.getAnchorUrl("");
       element.onclick = () => {