javascript - example - jspdf open pdf in new tab
Cómo abrir pdf generado usando jspdf en una nueva ventana (9)
Estoy usando jspdf para generar un archivo pdf. Todo funciona bien. Pero cómo abrir pdf generado en una nueva pestaña o nueva ventana.
estoy usando
doc.output(''datauri'');
Que está abriendo el pdf en la misma pestaña.
Busca en jspdf.js esto:
if(type == ''datauri'') { document.location.href =''data:application/pdf;base64,'' + Base64.encode(buffer); }
Añadir:
if(type == ''datauriNew'') { window.open(''data:application/pdf;base64,'' + Base64.encode(buffer)); }
- Llama a esta opción ''datauriNew'' Saludos;)
Así es como lo manejo.
../jspdf.plugin.addimage.js
Esta solución funciona para mí.
window.open(doc.output(''bloburl''))
O ... Puedes usar Blob para lograr esto.
Me gusta:
pdf.addHTML($(''#content''), y, x, options, function () {
var blob = pdf.output("blob");
window.open(URL.createObjectURL(blob));
});
Ese código le permite crear un objeto Blob dentro del navegador y mostrarlo en la nueva pestaña.
Paso I: incluye el archivo y el plugin
doc.setFontSize(12);
doc.text(35, 25, "Welcome to JsPDF");
doc.addImage(imgData, ''JPEG'', 15, 40, 386, 386);
Paso II: crear contenido en PDF var doc = new jsPDF ();
doc.output(''dataurlnewwindow'');
Paso III: mostrar la imagen en una nueva ventana
var output = doc.output();
return btoa( output);
Stepv IV: guardar datos
window.open(doc.output(''bloburl''), ''_blank'');
Según la fuente, puede usar el parámetro ''dataurlnewwindow'' para output ():
doc.output(''dataurlnewwindow'');
Fuente en github: https://github.com/MrRio/jsPDF/blob/master/jspdf.js#L914
Todos los casos posibles:
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
Tengo que usar esto para cargar el PDF directamente. Utilizando doc.output(''dataurlnewwindow'');
produce un iframe feo para mí. Mac / Chrome.
var string = doc.output(''datauristring'');
var x = window.open();
x.document.open();
x.document.location=string;
usando javascript puede enviar el pdf generado a una nueva ventana usando el siguiente código.
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();
Código Javascript: Añadir en línea final
$("#pdf_preview").attr("src", pdf.output(''datauristring''));
Código HTML: Insertar en cuerpo
<head>
</head>
<body>
<H1>Testing</h1>
<iframe id="pdf_preview" type="application/pdf" src="" width="800" height="400"></iframe>
</body>
</html>
vista previa dentro de la misma ventana dentro de iframe junto con otros contenidos.