ホームページ >ウェブフロントエンド >jsチュートリアル >異なるブラウザ間で JavaScript のバイナリ文字列から PDF ファイルを構築する方法

異なるブラウザ間で JavaScript のバイナリ文字列から PDF ファイルを構築する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-26 20:42:301016ブラウズ

How to Build PDF Files from Binary Strings in JavaScript Across Different Browsers?

JavaScript でバイナリ文字列から PDF ファイルを作成する

はじめに

から受け取ったバイナリ文字列から PDF ファイルを作成するWeb サービスは、多くの Web アプリケーションで便利なタスクです。ただし、data:uri を使用して IE9 や Firefox などのブラウザーにバイナリ データを埋め込むと、問題が発生する可能性があります。この記事では、さまざまなブラウザーで機能するソリューションについて説明します。

ソリューション: ファイル システムの作成

元の投稿者で述べられているように、1 つのソリューションにはファイル上に PDF ファイルを作成することが含まれます。システムに表示され、ユーザーにダウンロードするよう求められます。このアプローチにより、さまざまなブラウザとの互換性が確保されます。

実装

このソリューションを実装するには、次の手順を使用できます。

  1. XMLHttpRequest は、responseType = "blob" を使用します。
  2. XMLHttpRequest のロード イベントを処理して、応答を Blob オブジェクトとして取得します。
  3. PDF ファイルを表す objectURL を Blob オブジェクトから作成します。
  4. アンカー要素 () を作成し、その href 属性を objectURL に設定し、download 属性を目的のファイル名に設定します。
  5. アンカー要素をドキュメント本文に追加し、クリックしてファイルをダウンロードするようにユーザーにプロンプ​​トを表示します。
  6. 不要なリソースが保持されないように、ダウンロードが完了したらアンカー要素を削除します。

コード例は次のとおりです:

<code class="javascript">var request = new XMLHttpRequest();
request.open("GET", "/path/to/pdf", true);
request.responseType = "blob";
request.onload = function (e) {
  if (this.status === 200) {
    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();
    window.onfocus = function () {
      document.body.removeChild(a);
    };
  }
};
request.send();</code>

結論

このソリューションを使用すると、IE、FF、Opera、Chrome、Safari などのブラウザーで動作する方法でバイナリ文字列から PDF ファイルを構築でき、より多くの機能を提供します。 PDF ダウンロードを処理するための信頼できる方法。

以上が異なるブラウザ間で JavaScript のバイナリ文字列から PDF ファイルを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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