In diesem Artikel zeige ich Ihnen, wie Sie PDF-Dateien in Ihrer Simplifier-Anwendung mithilfe der Adobe PDF Embed API anzeigen können.
In diesem Artikel zeige ich Ihnen, wie Sie PDF-Dateien in Ihrer Simplifier-Anwendung mithilfe der Adobe PDF Embed API anzeigen können.
Wie Sie vielleicht bereits wissen, können Sie das Simplifier PDF Widget verwenden, um PDF-Dateien in Ihrer Anwendung anzuzeigen.
Dieses Widget ist Teil des Standardinhalts und ist praktisch, wenn Sie die PDF-Datei einfach nur auf einem Bildschirm oder in einem Dialog anzeigen möchten.
Einige Anwendungsfälle erfordern jedoch zusätzliche Funktionen, wie z. B. das Drucken, das Hinzufügen von Kommentaren zur PDF-Datei oder das Lazy-Loading für große PDF-Dateien.
Für diese Fälle ist die Adobe PDF Embed API eine clevere und bequeme Option, da sie sich auch einfach in eine Simplifier-Anwendung integrieren lässt.
Um die Adobe PDF Embed API nutzen zu können, benötigen Sie einen eigenen API-Schlüssel.
Das Abrufen eines API-Schlüssels ist kostenlos, aber Sie müssen zuerst ein Konto erstellen.
Erstellen Sie ein Konto für die Adobe Developer Console. Erstellen Sie dann ein neues Projekt.
Fügen Sie Ihrem Projekt eine API hinzu und wählen Sie “PDF Embed API”:
Geben Sie nun die Domäne Ihrer Simplifier-Instanz ein, in der Sie die Adobe PDF-Einbettungs-API verwenden möchten.
Geben Sie nur den Host ein, geben Sie keine Pfade/Ports/etc. ein.
Wenn Ihre Simplifier-Instanz beispielsweise über ‘https://training.simplifier.cloud/UserInterface’ erreichbar ist, geben Sie nur ‘training.simplifier.cloud’ ein:
Das war’s, Sie können jetzt Ihren API-Schlüssel zur späteren Verwendung in die Zwischenablage kopieren.
Zuerst benötigen wir eine Benutzeroberfläche, in der das PDF angezeigt wird.
Erstellen Sie also in Simplifier entweder eine neue Anwendung oder öffnen Sie eine vorhandene.
Fügen Sie das Widget ‘ui_core_HTML‘ zu dem Bildschirm hinzu, auf dem Sie die PDF-Datei anzeigen möchten.
Mit diesem Widget können Sie jede Art von Standard-HTML einbetten.
Fügen Sie in der Eigenschaft “content” den folgenden HTML-Codeausschnitt ein:
<div id="adobe-dc-view"></div><script src="https://documentcloud.adobe.com/view-sdk/main.js"></script>
Mit diesem Code wird der Container für die PDF-Datei zum Bildschirm hinzugefügt und das Adobe PDF Embed SDK geladen, sodass seine Funktionen in Ihrer Anwendung verfügbar sind.
Als nächstes benötigen wir eine PDF-Datei, die in der Anwendung angezeigt wird.
Am einfachsten ist es, die PDF-Datei in die Anwendung hochzuladen.
Wählen Sie dazu im UI Designer den Reiter “Andere” und dann “Assets” aus.
Hier können Sie eine PDF-Datei von Ihrem lokalen System hochladen.
Kopieren Sie den Pfad der Datei für die spätere Verwendung.
Wenn Sie mehrere PDF-Dateien dynamisch anzeigen möchten, ist es nicht möglich, jede PDF-Datei hier im Abschnitt “Elemente” hochzuladen.
Sie können die PDF-Dateien auch einfach per URL aufrufen.
Sie können beispielsweise unser Content Repository Plugin verwenden, um alle Arten von Dateien zu speichern und abzurufen.
In diesem Knowledge Base-Artikel erfahren Sie, wie Sie das Plugin verwenden: So verwenden Sie das Simplifier Content Repository Plugin
Nachdem die Benutzeroberfläche fertig ist und eine PDF-Datei verfügbar ist, möchten wir den PDF-Inhalt in das HTML-Widget in unserer Anwendung laden.
Öffnen Sie also den Prozess-Designer. Erstellen Sie eine neue Story oder öffnen Sie eine vorhandene.
Wählen Sie zunächst ein Ereignis aus, das das Laden der PDF-Datei auslösen soll.
Sie können z. B. das OnAfterRendering-Ereignis Ihres Bildschirms verwenden.
Fügen Sie dem Prozessraster eine Ereignisform hinzu, und abonnieren Sie das entsprechende Ereignis.
Verbinden Sie als Nächstes einen Skriptblock mit dem Ereignis-Shape.
Geben Sie innerhalb des Skripts den folgenden Codeausschnitt ein:
var sFileURL = "data/test_multiple_pages.pdf", // fetch the URL of the PDF sFileName = "test_multiple_pages.pdf", iPageNumber = 1; document.addEventListener("adobe_dc_view_sdk.ready", function() { var adobeDCView = new AdobeDC.View({ clientId: "xyz", // your API key for this Simplifier instance divId: "adobe-dc-view" // the ID that we have set in the HTML widget }); var previewFilePromise = adobeDCView.previewFile({ content: { location: { url: sFileURL, } }, metaData: { fileName: sFileName } }); previewFilePromise.then(adobeViewer => { adobeViewer.getAPIs().then(apis => { apis.gotoLocation(iPageNumber) .then(() => console.log("Success")) .catch((error) => console.log(error)); }); }); });
Mit diesem Code wird die PDF-Datei nach dem OnAfterRendering-Ereignis geladen und auf dem Bildschirm angezeigt.
Passen Sie die folgenden Elemente an:
Speichern und implementieren Sie die App, um zu überprüfen, ob Ihre PDF-Datei korrekt angezeigt wird.
Wie bereits zu Beginn dieses Artikels erläutert, bietet die Adobe PDF Embed API viele verschiedene Optionen, die Sie dem Code hinzufügen können.
Stöbern Sie in der Dokumentation von Adobe, um alle verfügbaren Optionen zu erkunden: Adobe PDF Embed API-Dokumentation
Legen Sie fest, wie die PDF-Datei auf der Seite angezeigt wird, z. B. ob sie im Vollbildmodus oder in einer Linie mit anderen Textblöcken angezeigt wird.
Passen Sie die Steuerelemente an, die auf der Benutzeroberfläche angezeigt werden.
Sie können beispielsweise die Anmerkungswerkzeuge, die Schaltflächen zum Herunterladen und Drucken der PDF-Datei, die Zoom-Steuerelemente und vieles mehr ein- und ausblenden.
Folgen Sie diesem Link, um alle verfügbaren UI-Optionen anzuzeigen: Adobe PDF Embed API – UI-Anpassung
Die Adobe PDF-Einbettungs-API funktioniert nur, wenn die Simplifier-App im Browser und nicht im Mobile Client geöffnet wird. Wenn Sie daran interessiert sind, die Adobe PDF Embed API auch im Mobile Client zu verwenden, wenden Sie sich bitte an Ihren Ansprechpartner für Ihren Simplifier-Partner.