ホームページ  >  記事  >  ウェブフロントエンド  >  すべての主要なブラウザでバイナリ文字列から PDF ファイルを表示するにはどうすればよいですか?

すべての主要なブラウザでバイナリ文字列から PDF ファイルを表示するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-28 17:54:02244ブラウズ

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

JavaScript でバイナリ文字列から PDF ファイルを構築する方法

問題:
から PDF ファイルを表すバイナリ文字列を取得しますWeb サービスを作成し、ブラウザ間互換性のある方法で表示可能な PDF に変換します。

試行された解決策:
データ URI にバイナリ文字列を埋め込むが、IE9 では制限が発生する

質問:
Web サービスの実装を変更せずに、すべての主要なブラウザ向けに PDF ファイルを生成する代替方法はありますか?

解決策:
XMLHttpRequest の responseType を "blob" に設定する際に BLOB API を使用する:

<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();

このアプローチにより、ユーザーは PDF ファイルを Web ページに埋め込むのではなくダウンロードできるようになり、PDF を表示するためのクロスブラウザー互換のソリューションが提供されます。

以上がすべての主要なブラウザでバイナリ文字列から PDF ファイルを表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。