QWebEngineView как настроить печать колонтитула?
Qt6. Есть компонент QWebEngineView, надо вызвать диалог печати, что бы в нем можно было настроить выводить колонтитулы на печать или нет.
Подскажите настройки, плиз.
Ответы (2 шт):
Автор решения: Oleg Palamarchuk
→ Ссылка
Могли бы, пожалуйста, приложить минимально воспроизводимый код? или Вы хотите сделать так, чтобы в окне отображения файла была кнопка "Распечатать"?

Автор решения: Oleg Palamarchuk
→ Ссылка
// 1. Создайте диалог настроек
// 2. Получите user-выбор
bool printHeaders = /* значение из диалога */;
// 3. Вставьте или уберите колонтитулы
QString js = printHeaders ? R"(
// добавляем колонтитул
if (!document.querySelector('.header')) {
const header = document.createElement('div');
header.className = 'header';
header.innerText = 'Мой колонтитул';
document.body.insertAdjacentElement('afterbegin', header);
}
)" : R"(
// удаляем колонтитул
document.querySelectorAll('.header').forEach(e => e.remove());
)";
this->ui->webView->page()->runJavaScript(js, [=](const QVariant &){
// После вставки/удаления колонтитулов вызываем печать
QPrinter printer(QPrinter::HighResolution);
// настройка принтера
this->ui->webView->page()->print(&printer, [](bool success){
if (success) {
qDebug() << "Печать завершена успешно.";
} else {
qDebug() << "Ошибка при печати.";
}
});
});