Я работаю над проектом ЭлектронJS и Реагировать для создания приложения, которое печатает документы (в формате веб-HTML) с использованием термопринтеров.
Термопринтеры печатает документы на специальной бумаге шириной 50 или 80 мм, но не имеет ограничений по высоте.
Я использую Reactjs для создания HTML-контента и стиля печати CSS3, чтобы скрыть содержимое экрана #root и показать только то, что я хочу напечатать #print,
@media only print {
@page {
size: auto; /* auto is the initial value */
margin: 0; /* this affects the margin in the printer settings */
height: auto !important;
width: 70mm !important;
}
html, body {
margin: 0 !important;
padding: 0 !important;
position: fixed;
left: 0;
top: 0;
background: #eee !important;
font-family: 'Tahoma', 'Segoe UI Light', 'Segoe UI', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Verdana, sans-serif !important;
visibility: hidden;
height: auto !important;
width: 70mm !important;
overflow: visible !important;
}
#root {
display: none !important;
visibility: hidden !important;
}
#print {
display: block;
position: fixed;
left: 0;
top: 0;
visibility: initial !important;
padding: 1px !important;
background: white;
border: none;
outline: none;
margin-left: 5mm;
height: auto !important;
width: 70mm !important;
overflow: visible !important;
}
}
Проблема в том, что когда я пытаюсь напечатать длинные страницы, печатается только их верхняя часть. Я понимаю, что это связано как-то с высотой экрана. Потому что он печатает ту же самую часть, которая появляется, когда я показываю область печати, и это игнорировать прокручиваемую часть документа.
webContents.print({ silent: true, printBackground: false, printerName },() => {});
Я думаю, что моя проблема очень близка к этому один.
Любая идея будет полезна,





Я починил это.
Я просто удаляю position: fixed; как с html, body, так и с #print.