Maison  >  Article  >  interface Web  >  Comment afficher un fichier PDF à partir d'une chaîne binaire dans tous les principaux navigateurs ?

Comment afficher un fichier PDF à partir d'une chaîne binaire dans tous les principaux navigateurs ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-28 17:54:02321parcourir

How to Display a PDF File from a Binary String in All Major Browsers?

Comment créer un fichier PDF à partir d'une chaîne binaire en JavaScript

Problème :
Récupérer une chaîne binaire représentant un fichier PDF à partir de un service Web et convertissez-le en un PDF visible d'une manière compatible avec tous les navigateurs.

Tentative de solution :
Intégrer la chaîne binaire dans un URI de données, mais rencontrer des limitations dans IE9 et Firefox.

Question :
Existe-t-il des méthodes alternatives pour générer un fichier PDF pour tous les principaux navigateurs, sans nécessiter de modifications dans l'implémentation du service Web ?

Solution :
Utilisation de l'API Blob en conjonction avec la définition du type de réponse de XMLHttpRequest sur "blob":

<br>var request = new XMLHttpRequest();<br>request.open("GET", "/path/to/pdf", true); <br>request.responseType = "blob";<br>request.onload = function (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();

Cette approche permet aux utilisateurs de télécharger le fichier PDF plutôt que de l'intégrer dans une page Web, offrant ainsi une solution compatible avec tous les navigateurs pour visualiser les PDF.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn