>  기사  >  웹 프론트엔드  >  모든 주요 브라우저에서 바이너리 문자열의 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 파일을 나타내는 바이너리 문자열을 검색합니다. 웹 서비스를 만들고 이를 크로스 브라우저 호환 방식으로 볼 수 있는 PDF로 변환합니다.

시도한 솔루션:
바이너리 문자열을 데이터 URI에 포함하지만 IE9에서 제한 사항이 발생함 및 Firefox.

질문:
웹 서비스 구현을 수정하지 않고도 모든 주요 브라우저에 대해 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 = 함수(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 파일을 웹 페이지에 포함하지 않고 다운로드할 수 있으므로 PDF를 보기 위한 크로스 브라우저 호환 솔루션을 제공할 수 있습니다.

위 내용은 모든 주요 브라우저에서 바이너리 문자열의 PDF 파일을 표시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.