it-swarm.com.de

Wie öffne ich eine PDF Datei in einem <iframe>?

Ich möchte die pdf-Datei in einem iframe öffnen. Ich benutze folgenden Code:

<a class="iframeLink" href="https://something.com/HTC_One_XL_User_Guide.pdf"
   jQuery1640737952376988841="85"> User guide </a>

In Firefox wird es problemlos geöffnet, in IE8 jedoch nicht.

Weiß jemand, wie es funktioniert, auch für IE?

31
user1753210

Die Verwendung eines iframe zum "Rendern" einer PDF) - Datei funktioniert nicht in allen Browsern. Dies hängt davon ab, wie der Browser mit PDF) - Dateien umgeht Browser (wie Firefox und Chrome) haben einen eingebauten PDF= gerendert, der es ihnen ermöglicht, den PDF= Inline-Browser wie einige ältere Browser (möglicherweise ältere Versionen) anzuzeigen von IE versuchen Sie stattdessen, die Datei herunterzuladen).

Stattdessen empfehle ich das Auschecken von PDFObject , einer Javascript-Bibliothek zum Einbetten von PDFs in HTML-Dateien. Es handhabt die Browserkompatibilität ziemlich gut und wird höchstwahrscheinlich auf IE8 funktionieren.

In Ihrem HTML könnten Sie ein div einrichten, um die PDFs anzuzeigen:

<div id="pdfRenderer"></div>

Dann können Sie Javascript-Code haben, um ein PDF in dieses div einzubetten:

var pdf = new PDFObject({
  url: "https://something.com/HTC_One_XL_User_Guide.pdf",
  id: "pdfRendered",
  pdfOpenParams: {
    view: "FitH"
  }
}).embed("pdfRenderer");
38
Aamir

Dies ist der Code zum Verknüpfen eines HTTP (S), auf das zugegriffen werden kann PDF von einem <iframe>:

<iframe src="https://research.google.com/pubs/archive/44678.pdf"
   width="800px" height="600px" >

Fiddle: http://jsfiddle.net/cEuZ3/1545/

BEARBEITEN: und Sie können Javascript verwenden, aus dem <a>-Tag (onclick -Ereignis) zum Festlegen des SRC-Attributs von iFrame zur Laufzeit ...

EDIT 2: Anscheinend ist es ein Bug (aber es gibt Workarounds):

PDF-Dateien lassen sich in Internet Explorer mit Adobe Reader 10.0 nicht öffnen - Benutzer erhalten einen leeren grauen Bildschirm. Wie kann ich dies für meine Benutzer beheben?

20
Andrea Ligios

Es ist auch wichtig sicherzustellen, dass der Webserver die Datei mit Content-Disposition = inline sendet. Dies ist möglicherweise nicht der Fall, wenn Sie die Datei selbst lesen und den Inhalt an den Browser senden:

in php wird es so aussehen ...

...headers...
header("Content-Disposition: inline; filename=doc.pdf");
...headers...

readfile('localfilepath.pdf')
5
Roey