Используя 0.5.0-beta4, большое спасибо за этот замечательный модуль!
У меня проблема, скажем, у меня есть класс
.class {
font-family: "somefont", "Arial"
}
там, где "somefont" не применяется, конечным результатом будут элементы, которые .class будут отображаться с использованием Arial на странице, но вместо этого на холсте применяется шрифт по умолчанию.
Есть идеи?
У меня такая же проблема.
Это шрифт Roboto, в Google Chrome canary
Это визуализированное изображение
Я нашел причину: родительский элемент холста должен иметь явное объявление шрифта, например:
.container {
font-family: Roboto, "Helvetica Neue", sans-serif;
}
Объединение / разделение в CanvasRenderer.prototype.font удаляло дополнительные шрифты. Я отправил исправление для этого
Я не уверен, связано ли это, но здесь я думаю, что вижу, что шрифт отображается правильно, но затем накладывается на него ошибочный шрифт?
@ eZ0 ты прав! Спасибо!
Как вы сказали, я помещаю font-family: arial
в родительский элемент холста и работает !.
Спасибо! Спасибо!
Должно быть исправлено в https://github.com/niklasvh/html2canvas/commit/77d258f1d8eeccf7e38235463a293b512c1ca3d0
не работает, у меня такая же ошибка
оказано
html2canvas(this.$refs.iFr, { useCORS: true }).then(canvas => {
console.log(canvas)
document.body.appendChild(canvas)
canvas.toBlob(function(blob) {
saveAs(blob, 'Dashboard.png')
})
})
Пользовательские шрифты, загруженные с сервера (не CORS), не отображаются. Используемый шрифт - based64 css файл в качестве шрифта для Liberation Serif
Самый полезный комментарий
Я нашел причину: родительский элемент холста должен иметь явное объявление шрифта, например:
.container { font-family: Roboto, "Helvetica Neue", sans-serif; }