Usando 0.5.0-beta4, ¡muchas gracias por este gran módulo!
El problema que tengo es, digamos que tengo una clase
.class {
font-family: "somefont", "Arial"
}
donde no se aplica "somefont", el resultado final es que los elementos que son .class se renderizarían usando Arial en la página, pero en el lienzo se aplica la fuente predeterminada en su lugar.
¿Alguna idea?
Tengo el mismo problema.
Esta es la fuente Roboto, en Google Chrome Canary
Esta es una imagen renderizada
Encontré la razón: el padre del lienzo debe tener una declaración de fuente explícita como esta:
.container {
font-family: Roboto, "Helvetica Neue", sans-serif;
}
La unión / división en CanvasRenderer.prototype.font estaba eliminando fuentes adicionales. Envié una solución
No estoy seguro de si esto está relacionado, pero aquí creo que estoy viendo la fuente representada correctamente, pero luego se superpone con una fuente errónea.
@ eZ0 tienes razón! ¡Gracias!
Como dijiste, puse font-family: arial
en el elemento principal del lienzo y funciona.
¡Gracias! ¡Gracias!
no funciona, tengo el mismo error
prestado por
html2canvas(this.$refs.iFr, { useCORS: true }).then(canvas => {
console.log(canvas)
document.body.appendChild(canvas)
canvas.toBlob(function(blob) {
saveAs(blob, 'Dashboard.png')
})
})
Las fuentes cargadas personalizadas desde el servidor (no CORS) no se procesan. Se usó un archivo CSS basado en fuentes 64 como fuente-face para Liberation Serif
Comentario más útil
Encontré la razón: el padre del lienzo debe tener una declaración de fuente explícita como esta:
.container { font-family: Roboto, "Helvetica Neue", sans-serif; }