문제:
다음에서 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> <div class="code" style="position:relative; padding:0px; margin:0px;"><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 중국어 웹사이트의 기타 관련 기사를 참조하세요!