Affichage du tableau d'octets que le PDF dans le navigateur avec le bouton d'impression?
Je suis en train de travailler sur une application où je dois afficher le PDF sur navigateur. Je suis PDF tableau d'octets à partir de la troisième partie par l'intermédiaire d'webAPI. Un de la manière que j'ai trouvé pour afficher le pdf ci-dessous.
var pdfAsDataUri = "data:application/pdf;base64,"+byteArray;
window.open(pdfAsDataUri);
Je n'aime pas cette approche car elle affiche encodées en base64 format de l'URL est-il un autre moyen pour convertir le tableau d'octets en PDF et de les afficher sur la page HTML avec la boîte de dialogue imprimer (window.print()
).
Vous devez vous connecter pour publier un commentaire.
Dans les navigateurs modernes, vous pouvez utiliser un Blob à créer un objet URL qui peut être utilisé à la place d'un base64 URL (qui comporte certaines limites dans les différents navigateurs, comme les limites de longueur).
Voici un exemple de travail qui le fait. Cet exemple affiche le fichier PDF à l'intérieur d'un
iframe
, mais vous pouvez vraiment faire ce que vous voulez avec quiobjectURL
comme l'ouvrir dans un nouvel onglet ou quoi que ce soit.JS:
CSS:
Bien sûr, le navigateur intégré à la fonction d'impression du fichier PDF fonctionnera également.