Comment ouvrir PDF généré en utilisant jspdf dans une nouvelle fenêtre
9 réponses
recherche dans jspdf.js:
if(type == 'datauri') { document.location.href ='data:application/pdf;base64,' + Base64.encode(buffer); }
Ajouter :
if(type == 'datauriNew') { window.open('data:application/pdf;base64,' + Base64.encode(buffer)); }
- call this option 'datarinew' Saludos ;)
basé sur la source, vous pouvez utiliser le paramètre' dataurlnewwindow ' pour la sortie ():
doc.output('dataurlnewwindow');
Source sur github: https://github.com/MrRio/jsPDF/blob/master/jspdf.js#L914
Tous les cas possibles:
doc.output('save', 'filename.pdf'); //Try to save PDF as a file (not works on ie before 10, and some mobile devices)
doc.output('datauristring'); //returns the data uri string
doc.output('datauri'); //opens the data uri in current window
doc.output('dataurlnewwindow'); //opens the data uri in new window
je dois utiliser ceci pour charger le PDF directement. En utilisant doc.output('dataurlnewwindow');
produit une mauvaise iframe pour moi. Mac / Chrome.
var string = doc.output('datauristring');
var x = window.open();
x.document.open();
x.document.location=string;
Ou... Vous pouvez utiliser Blob pour atteindre ce.
Comme:
pdf.addHTML($('#content'), y, x, options, function () {
var blob = pdf.output("blob");
window.open(URL.createObjectURL(blob));
});
ce code permet de créer un objet Blob à l'intérieur du navigateur et de l'afficher dans l'onglet nouveau.
en utilisant javascript vous pouvez envoyer le pdf généré à une nouvelle fenêtre en utilisant le code suivant.
var string = doc.output('datauristring');
var iframe = "<iframe width='100%' height='100%' src='" + string + "'></iframe>"
var x = window.open();
x.document.open();
x.document.write(iframe);
x.document.close();
Cette solution fonctionne pour moi
window.open(doc.output('bloburl'))
étape I: inclure le fichier et le plugin
../jspdf.plugin.addimage.js
étape II: création du contenu PDF var doc = new jsPDF ();
doc.setFontSize(12);
doc.text(35, 25, "Welcome to JsPDF");
doc.addImage(imgData, 'JPEG', 15, 40, 386, 386);
Etape III: afficher l'image dans une nouvelle fenêtre
doc.output('dataurlnewwindow');
Stepv IV: enregistrer des données
var output = doc.output();
return btoa( output);
C'est comme ça que je le gère.
window.open(doc.output('bloburl'), '_blank');
code Javascript: ajouter la ligne de fin
$("#pdf_preview").attr("src", pdf.output('datauristring'));
code HTML: Insert in body
<head>
</head>
<body>
<H1>Testing</h1>
<iframe id="pdf_preview" type="application/pdf" src="" width="800" height="400"></iframe>
</body>
</html>
prévisualiser dans la même fenêtre à l'intérieur d'iframe avec d'autres contenus.