Comment ouvrir PDF généré en utilisant jspdf dans une nouvelle fenêtre

j'utilise jspdf pour générer un fichier pdf. Chaque chose fonctionne bien. Mais comment ouvrir généré pdf dans un nouvel onglet ou une nouvelle fenêtre.

j'utilise

doc.output('datauri');

qui ouvre le pdf dans le même onglet.

25
demandé sur Tiny 2013-07-19 10:54:43

9 réponses

  1. recherche dans jspdf.js:

    if(type == 'datauri') {
        document.location.href ='data:application/pdf;base64,' + Base64.encode(buffer);
    }
    
  2. Ajouter :

    if(type == 'datauriNew') {   
        window.open('data:application/pdf;base64,' + Base64.encode(buffer));
    }
    
  3. call this option 'datarinew' Saludos ;)
5
répondu Juan Capello 2018-05-02 02:12:20

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
76
répondu kardave 2015-08-21 10:57:25

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;
15
répondu William Entriken 2013-08-19 19:26:07

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.

6
répondu ilter 2015-08-05 12:33:07

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();
5
répondu rod 2013-07-25 14:58:29

Cette solution fonctionne pour moi

window.open(doc.output('bloburl'))
3
répondu sol-ibit 2017-11-15 17:39:26

é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);
1
répondu milind Morey 2016-11-10 06:57:23

C'est comme ça que je le gère.

window.open(doc.output('bloburl'), '_blank');
1
répondu Alocus 2018-01-30 20:18:19

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.

0
répondu jiban 2017-04-02 17:20:41