]> _ Git - fluidbook_tools.git/commitdiff
wip #6799 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 15 Mar 2024 10:28:03 +0000 (11:28 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 15 Mar 2024 10:28:03 +0000 (11:28 +0100)
src/Links/Link.php
src/Links/PDFInlineLink.php [new file with mode: 0644]

index 8e7610bad18404ae4c7a45db7c436da28747b4f6..aae4b4cb8fec7bf7b3be4ddfd1255346fb98e708 100644 (file)
@@ -67,6 +67,7 @@ class Link
     const ANCHOR = 40;
     const FLIPCARD = 41;
     const PDF = 42;
+    const PDF_INLINE = 47;
     const TEXT_POPUP = 43;
     const LOTTIE = 44;
     const COPY_TO_CLIPBOARD = 45;
@@ -310,6 +311,8 @@ class Link
                 return new FlipcardLink($id, $init, $compiler);
             case static::PDF:
                 return new PDFPopupLink($id, $init, $compiler);
+            case static::PDF_INLINE:
+                return new PDFInlineLink($id,$init,$compiler);
             case static::COPY_TO_CLIPBOARD:
                 return new CopyToClipboardLink($id, $init, $compiler);
             default:
diff --git a/src/Links/PDFInlineLink.php b/src/Links/PDFInlineLink.php
new file mode 100644 (file)
index 0000000..5c6588d
--- /dev/null
@@ -0,0 +1,17 @@
+<?php
+
+namespace Fluidbook\Tools\Links;
+
+use Cubist\PDF\PDFTools;
+
+class PDFInlineLink extends IFrameLink
+{
+    public function getHTMLContent()
+    {
+        $this->compiler->addPDFJS(true);
+        $dim = PDFTools::getDimensions($this->compiler->getWorkingDir() . $this->to);
+        $this->compiler->config->set('pdfLinks.' . $this->uid, ['width' => $dim['size'][0], 'height' => $dim['size'][1], 'totalHeight' => $dim['totalHeight'], 'file' => $this->to, 'interface' => $this->pdfjs]);
+        $this->copyExternalFile($this->to);
+        return parent::getHTMLContent();
+    }
+}