首頁 >web前端 >js教程 >如何在不同瀏覽器中使用 JavaScript 從二進位字串建立 PDF 檔案?

如何在不同瀏覽器中使用 JavaScript 從二進位字串建立 PDF 檔案?

Linda Hamilton
Linda Hamilton原創
2024-10-26 20:42:301018瀏覽

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

在JavaScript 中從二進位字串建立PDF 檔案

簡介

從接收到的二進位PDF 文件Web 服務在許多Web 應用程式中都是一項有用的任務。但是,使用 data:uri 在 IE9 和 Firefox 等瀏覽器中嵌入二進位資料可能會導致問題。本文探討了適用於不同瀏覽器的解決方案。

解決方案:建立檔案系統

如原始海報所提到的,一種解決方案涉及在檔案上建立 PDF 檔案系統並提示使用者下載。此方法可確保與各種瀏覽器的相容性。

實作

要實現此解決方案,您可以使用以下步驟:

  1. 設定您的XMLHttpRequest 使用responseType = "blob" 。
  2. 處理 XMLHttpRequest 的載入事件,以 Blob 物件形式檢索回應。
  3. 從 Blob 物件建立一個 objectURL 來表示 PDF 檔案。
  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、

此解決方案可讓您以跨IE、FF、Opera、 Chrome 和Safari 等瀏覽器的方式從二進位字串建立PDF 文件,提供更多處理PDF 下載的可靠方法。

以上是如何在不同瀏覽器中使用 JavaScript 從二進位字串建立 PDF 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn