Хочу распечатать содержимое div со стилями и т.п. Решил преобразовать содержимое в картинку, а после распечатать. Для преобразования воспользовался библиотекой html2canvas. После этого попытался создать новое окно, поместить туда изображение и вызвать печать.
printTable() {
let printContents = document.getElementById('results_table');
html2canvas(printContents).then(function(canvas) {
let win = window.open();
win.document.write("<br><img src='"+canvas.toDataURL()+"'/>");
win.print();
});
}
При вызове функции открывается новое окно и диалог печати, но в предварительном просмотре отображается пустая чистая страница.
Если же закрыть диалог печати, то на самой странице изображение будет присутствовать.
Если после этого нажать ctrl+P, то откроется диалог печати, где в предварительном просмотре будет фото и его можно будет без проблем распечатать.
Что я делаю не так? И как можно при вызове функции реализовать задуманное - преобразование содержимого div в изображение и его печать?
Дело в том, что данные добавлялись дольше, чем открывался диалог печати. Сделал функцию асинхронной
printTable() {
let printContents = document.getElementById('results_table');
html2canvas(printContents).then(async function(canvas) {
let win = window.open();
await win.document.write("<br><img src='"+canvas.toDataURL()+"'/>");
win.print();
});
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Мне нужно получить с интернета данные, с этим я разобрался - получаю, и сразу же добавляю их в состояние компонента
Есть ломаная (задана массивом точек) и нужно найти ломаную, огибающую исходную, наверное более понятно будет на рисунке (синяя - та, которую...
Как сделать слайдер с бесконечной прокруткой, где при нажатии на правую стрелку, например, первый блок за пределами страницы перемещается...
Хочу реализовать следующий подход - подключать некоторые внешние скрипты только если на странице присутствуют DOM элементы использующие...