Tengo un problema al intentar hacer una vista previa de un archivo PDF generado con la API jsPDF, cuando agrego más de 3 imágenes al documento (cada una de 300-400 KB) puedo descargar el documento correctamente, pero no puedo mostrar en el navegador usando el método jsPDF: doc.output('dataurlnewwindow'). Se está abriendo una nueva pestaña en mi navegador web pero está en blanco (y en la parte superior de la pestaña dice "cargando..." pero nunca se muestra. Sin embargo, puedo descargar el archivo PDF sin ningún problema a mi PC usando jsPDF método: doc.save( this.reportFileName );
¿Tienes alguna idea de por qué sucede esto? ¿podría ser un problema relacionado con el tamaño del archivo PDF que necesito obtener una vista previa en el navegador web? ¿Hay algún tamaño máximo para hacer esto? Cualquier ayuda sería realmente apreciada.
¡Gracias!
this.doc = new jsPDF({orientation: "p", unit: "pt", format: "a4"}) // .... // doing some stuff in the doc file // adding images of 400 KB aprox. (it works with 3 images... but with 4 or more doesn't this.doc.addImage('data:image/jpeg;base64,'+ logoFooter, 'JPEG', this.marginLeft+40, 794, 40, 45); // .... preview () { try { this.doc.output('dataurlnewwindow'); // >> doesn't work and an empty tab is being opened in muy web browser } catch(error){ console.log(error); } save () { try { this.doc.save( this.reportFileName ); // this works fine and the PDF file is being downloaded } catch(error){ console.log(error); },bueno, encontré la solución aquí: https://github.com/parallax/jsPDF/issues/300#issuecomment-49363483
resumen... haciendo lo siguiente:
var blob = this.doc.output("blob"); window.open(URL.createObjectURL(blob));¡Gracias por tu ayuda!