0

PDF aus base64 einbetten

Ich möchte gerne ein PDF welches ich im base64 Format von einer API erhalte direkt in Ninox einbetten.
Ausserhalb von Ninox habe ich das schon zum laufen gebracht mit folgendem Code:

<div id='pdfPreview'></div>
<script>
    var b64Pdf = "<base64 code>";
    var obj = document.createElement('object');
    obj.style.width = '700px';
    obj.style.height = '900px';
    obj.type = 'application/pdf';
    obj.data = 'data:application/pdf;base64,' + b64Pdf;
    document.getElementById('pdfPreview').appendChild(obj);
</script>

Wenn ich dasselbe in Ninox in einem html() Brechnungsfeld ausführe, taucht in der Browserkonsole diese Fehlermeldung auf:

Refused to load plugin data from 'data:application/pdf;base64,<base64 code>' because it violates the following Content Security Policy directive: "default-src * 'unsafe-inline' 'unsafe-eval'". Note that 'object-src' was not explicitly set, so 'default-src' is used as a fallback.

Hat irgendjemand Erfahrung mit diesem Thema? Ich habe bereits versucht die Content Security Policy im <head> zu bearbeiten, komme aber auf keinen grünen Zweig.

Oder gibt es andere Ansätze um ein PDF einzubetten?

Was bereits funktioniert ist einen Link zu erstellen um das PDF direkt zu downloaden:

html("<div id='pdfContainer'></div>
     <script>
         var link = document.createElement('a');
         link.innerHTML = 'download PDF';
         link.download = '" + bexioFileName + "';
         link.href = 'data:application/octet-stream;base64,' + """ + pdfBase64 + """;
         document.getElementById('pdfContainer').appendChild(link);
    </script>");

Wäre froh um jegliche Hilfe

2 Antworten

null
    • Massageausbildung BNS
    • Joey_Sandner
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Ich suche auch nach eine Lösung für dieses Problem. Vor allem wäre es hilfreich, wenn Ninox nativ eine base64 en- und decode Funktion anbieten würde.

     

    Ein mögl. Workaround:

    Melde dich bei integromat.com an und erstell ein Button innerhalb von Ninox, welcher ein http-request zu einem Webhook macht. Dort hast du dann verschiedene Möglichkeiten diese Datei bei Ninox hochzuladen.

     

    Hoffen wir, dass Ninox in naher Zukunft eine Lösung anbietet...

     

    Viel Erfolg!

    • T_Bartzsch
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Ist in dieser Sache hier schon jemand weiter gekommen? Auch interessant wäre ein sofortiges öffnen des Druckdialogs... So könnte ich die DHL Versandlabel zB. direkt auf den Drucker schicken.

Content aside

  • vor 11 MonatenZuletzt aktiv
  • 2Antworten
  • 223Ansichten
  • 1 Folge bereits