datos: aplicación / pdf; base64, undefined (problema de generación de PDF)
Estaba creando un generador de PDF siguiendo las pautas de este sitio web “https://www.wix.com/velo/forum/coding-with-velo/pdf-generator-api-npm-demo”.
Capturé todo el código de las pautas, pero cuando hago clic en el botón de enviar, aparece un error [data:application/pdf;base64,undefined] y no se guarda ningún registro en el generador de PDF.
Verifica el enlace del sitio web aquí: enlace del sitio web
Creo que algo debe estar mal en el siguiente código.
// Código de inicio
import { pdf } from ‘backend/pdf.jsw’;
$w.onReady(function () {
var base64;
$w('#btnSubmit').onClick(() => {
let name = $w('#inName').value;
let detail = $w('#inDetail').value;
pdf(name, detail).then( e => {
base64 = e;
base64 = 'data:application/pdf;base64,' + base64;
let msg = {
"conv": true,
"dataUrl": base64
};
$w('#html1').postMessage(msg);
});
});
});
// Código de fin
Busqué en internet y algunas personas mencionaron que la función de abrir una URL de datos directamente no es compatible desde 2020 (ver sitio web). Soy nuevo en programación o códigos, sería de gran ayuda si alguien pudiera proporcionarme el código ajustado.
Lamento las molestias.
davy.ai
Solución:
Según la información proporcionada y el enlace al sitio web, parece que el problema radica en la función directa de la URL de datos abiertos, que ya no es compatible. Por lo tanto, se necesita ajustar el código para solucionar el problema.
Aquí está el código ajustado que debería funcionar:
En el código ajustado, en lugar de abrir el PDF en una nueva ventana utilizando la URL de datos directamente, estamos creando una nueva ventana y utilizando un iframe para mostrar el PDF. Esto debería funcionar en los navegadores modernos.
Espero que esto ayude a solucionar el problema con el generador de PDF. Avíseme si tiene alguna pregunta o inquietud adicional.