2016-07-26 34 views
1

Ich versuche, eine Base64-codierte PDF anzuzeigen. In FF und Safari zeigt der folgende Code die PDF-Datei in einem Viewer an. In Chrome wird die Seite jedoch geladen. Für den Iframe wird Platz erstellt, der Iframe wird jedoch nicht angezeigt.Base64 Pdf in Iframe nicht in Chrome

<apex:page controller="SomeController"> 
    <apex:iframe src="data:application/pdf;base64,{!pdf}"></apex:iframe> 
</apex:page> 

Ich habe überprüft, dass ich PDF-Dateien in Chrome auf anderen Webseiten anzeigen kann und dass das Chrome PDF Viewer-Plug-in aktiviert ist.

Antwort

1

Diese endete arbeiten, obwohl unser Entwickler-Team schwört, dass, wenn diese zunächst versucht wurde, es nicht funktioniert:

<apex:page controller="SomeController"> 
    <object> 
     <embed src="data:application/pdf;base64,{!pdf}" height="800" width="1200"/> 
    </object> 
</apex:page> 

Natürlich gibt es das Problem, die nicht in früheren Versionen von IE unterstützt Objekt ist , aber zumindest funktioniert es jetzt in Chrom.

+0

Haben Sie wirklich das Objekt-Tag hier herum wickeln müssen? Sollte es nicht nur das Embed-Tag sein? – R2D2

+0

@ R2D2 In unserem Fall haben wir es ja getan. Wir wissen immer noch nicht, warum das notwendig war, daher kann ich nichts dazu sagen. Es würde damit und nicht ohne es funktionieren. Ich weiß nicht, ob das ein seltsames Artefakt von APEX oder ein anderes unbekanntes Problem ist. Ohne das Objekt-Tag funktionierte es in FF und Safari. –

0

Dieser arbeitete für mich mit Winkel js

<embed ng-src="{{NewDocumentData_PDF}}" height="800px;" width="100%;" />