Я много искал, но не нашел способа включить верхний и нижний колонтитулы на каждой странице печати по умолчанию в браузере Edge.
В Chrome и IE заголовок и нижний колонтитул отображаются по умолчанию, но в Edge по умолчанию он выключен. Есть ли какое-либо свойство CSS, которое необходимо установить, чтобы браузер Edge отображал верхний и нижний колонтитулы по умолчанию на каждой странице печати?
Вот JS и CSS, используемые для печати страницы:
private createIframe() {
let oldFrame: any = document.getElementsByClassName('e-ngx-print-frame');
if (oldFrame.length > 0) {
oldFrame[0].parentNode.removeChild(oldFrame[0]);
}
try {
let printIframe: any = document.createElement('iframe');
document.body.appendChild(printIframe);
printIframe.style.position = 'absolute';
printIframe.style.border = '0';
printIframe.style.width = '0';
printIframe.style.height = '0';
printIframe.style.left = '0';
printIframe.style.top = '0';
printIframe.style.zIndex = '-1';
printIframe.className = 'e-ngx-print-frame';
this.printWindow = printIframe.contentWindow;
this.printDoc = printIframe.contentDocument ? printIframe.contentDocument : (printIframe.contentWindow ? printIframe.contentWindow.document : printIframe.document);
}
catch (e) {
throw e + '. iframes may not be supported in this browser.';
}
if (!this.printWindow) {
throw 'Cannot find window.';
}
if (!this.printDoc) {
throw 'Cannot find document.';
}
}
private getPrintWindow() {
if (this.mode === this.modes.iframe) {
this.createIframe();
} else if (this.mode === this.modes.popup) {
this.createPopup();
}
}
public print(printHTML?: any) {
this.printHTML = printHTML ? printHTML : this.printHTML;
this.oldBtnText = this.btnText;
this.btnText = 'Print';
let timeoutId: number = window.setTimeout(() => {
window.clearTimeout(timeoutId);
this.getPrintWindow();
this.write();
this.startPrint();
}, 500);
}
**CSS**:
@media print
{
@page
{
size: auto; /* auto is the initial value */
margin-top:0mm; /* this affects the margin in the printer settings */
}
}