Criando PDF a partir da resposta binária do serviço na web em javascript
Background:
Esta pergunta aborda o desafio de um generativo por PDF. O fluxo binário fornecido consiste no cabeçalho e no conteúdo do PDF. Enquanto o método de dados-URI funciona em alguns navegadores, ele falha no Internet Explorer 9 e Firefox. Implementation.
solução:
Para resolver esse problema, a seguinte abordagem é sugerida:
alavancando blobs e download atribuições:
Benefits:
This method offers the following advantages:
Compatibility with all major browsers, including IE9, Firefox, Opera, Chrome, and Safari
Avoids the deficiencies encountered with the data-uri A abordagem em alguns navegadores
var request = new XMLHttpRequest();
request.open("GET", "/path/to/pdf", true);
request.responseType = "blob";
request.onload = function (e) {
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();
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3