Heim  >  Artikel  >  Web-Frontend  >  Wie zeige ich eine PDF-Datei aus einer Binärzeichenfolge in allen gängigen Browsern an?

Wie zeige ich eine PDF-Datei aus einer Binärzeichenfolge in allen gängigen Browsern an?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-28 17:54:02319Durchsuche

How to Display a PDF File from a Binary String in All Major Browsers?

So erstellen Sie eine PDF-Datei aus einer Binärzeichenfolge in JavaScript

Problem:
Rufen Sie eine Binärzeichenfolge ab, die eine PDF-Datei darstellt einen Webdienst und konvertieren Sie ihn browserübergreifend in ein anzeigbares PDF.

Lösungsversuch:
Einbetten der Binärzeichenfolge in einen Daten-URI, stoßen jedoch in IE9 auf Einschränkungen und Firefox.

Frage:
Gibt es alternative Methoden zum Generieren einer PDF-Datei für alle gängigen Browser, ohne dass Änderungen an der Webdienst-Implementierung erforderlich sind?

Lösung:
Verwendung der Blob-API in Verbindung mit der Einstellung des Antworttyps von XMLHttpRequest auf „blob“:

<br>var request = new XMLHttpRequest();<br>request.open("GET", "/path/to/pdf", true); <br>request.responseType = "blob";<br>request.onload = function (e) {</p>
<pre class="brush:php;toolbar:false">if (this.status === 200) {
    // `blob` response
    console.log(this.response);
    // create `objectURL` of `this.response` : `.pdf` as `Blob`
    var file = window.URL.createObjectURL(this.response);
    var a = document.createElement("a");
    a.href = file;
    a.download = this.response.name || "detailPDF";
    document.body.appendChild(a);
    a.click();
    // remove `a` following `Save As` dialog, 
    // `window` regains `focus`
    window.onfocus = function () {                     
      document.body.removeChild(a)
    }
};

};
request.send();

Dieser Ansatz ermöglicht es Benutzern, die PDF-Datei herunterzuladen, anstatt sie in eine Webseite einzubetten, und bietet so eine browserübergreifende kompatible Lösung zum Anzeigen von PDFs.

Das obige ist der detaillierte Inhalt vonWie zeige ich eine PDF-Datei aus einer Binärzeichenfolge in allen gängigen Browsern an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn