Html2canvas: no admite la propiedad de familia de fuentes con valor múltiple

Creado en 13 feb. 2016  ·  7Comentarios  ·  Fuente: niklasvh/html2canvas

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?

Bug

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; }

Todos 7 comentarios

Tengo el mismo problema.

Esta es la fuente Roboto, en Google Chrome Canary
screen shot 2016-02-18 at 15 18 27

Esta es una imagen renderizada
img055

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
image

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

¿Fue útil esta página
0 / 5 - 0 calificaciones