Detaillierte Erläuterung der Vorgänge und Implementierungen im Zusammenhang mit dem HTML-Druck

Detaillierte Erläuterung der Vorgänge und Implementierungen im Zusammenhang mit dem HTML-Druck

Das Prinzip besteht darin, die Methode window.print () aufzurufen. Diese Methode kann jedoch nur die gesamte aktuelle Seite drucken. Daher wird die folgende Lösung verwendet, um das teilweise Drucken zu lösen.

1: Verwenden Sie iframe, um die Elemente und Stile einzufügen, die gedruckt werden müssen, und rufen Sie dann print auf

// Beispielcodefunktion print () {
    let ifElement = document.getElementById('ifId')
    const addHtmlPrint = () => {
        const content = ifElement.contentWindow || ifElement.contentDocument
        Inhalt.Dokument.Body.innerHTML = diese.Detailtabelle
        const styleEle = document.createElement('Stil')
        /* Kopf- und Fußzeile beim Drucken entfernen*/
        styleEle.innerHTML = '@media drucken {@page { Rand: 5 mm; }}'
        content.document.getElementsByTagName('head')[0].appendChild(styleEle)

        /* Stellen Sie sicher, dass die Ressourcen im Iframe geladen sind und das Bild im Format img importiert wird*/
        ifElement.onload = () => {
            Inhalt.Drucken()
        }
    }
    dies.getDetailTable()

    wenn (wennElement) {
        // Wenn es erstellt wurde, drucke es direkt aus addHtmlPrint()
    } anders {
        ifElement = Dokument.createElement('iframe')
        ifElement.setAttribute('id', 'ifId')
        ifElement.setAttribute('Stil', 'Anzeige: keine')
        Dokument.Body.AnhängenUntergeordnetesElement(wennElement)

        addHtmlPrint()
    }
}

2: Verwenden Sie @media print, um die Elemente festzulegen, die beim Drucken auf der aktuellen Seite ausgeblendet werden müssen

@media drucken{
    /* Stellen Sie hier ein, dass die Elemente, die nicht gedruckt werden müssen, nicht angezeigt werden*/
    .verstecktes Element{
        Anzeige: keine;
        /* Sichtbarkeit:versteckt; */
    }
    /*Das Papier ist auf 1200 Pixel Breite und 800 Pixel Höhe eingestellt*/
    @Seite{
        Größe: 1200px 800px;
    }
}
  • <link href="/example.css" media="print" rel="stylesheet" /> Markiert den Stil, der beim Drucken verwendet wird
  • Auf Druckereignisse warten window.addEventListener('beforeprint|| afterprint', ()=> {});

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

<<:  Häufige JavaScript-Speicherfehler und Lösungen

>>:  Einführung in vierzehn Fälle von SQL-Datenbank

Artikel empfehlen

Detaillierte Erklärung verschiedener Join-Zusammenfassungen von SQL

SQL Left Join, Right Join, Inner Join und Natural...

Tutorial zu XHTML-Webseiten

<br />Dieser Artikel soll Anfängern hauptsäc...

Untersuchung der Wirkung der durch JS realisierten Seitenseitenleiste

Inhaltsverzeichnis Entdecken Sie: Anwendung von D...

jQuery implementiert gleitende Registerkarte

In diesem Artikelbeispiel wird der spezifische Co...

MySQL-Fehler 1290 (HY000) Lösung

Ich habe lange mit einem Problem gekämpft und das...

Implementierung einer geplanten Sicherung in Mysql5.7

1. Suchen Sie mysqldump.exe im MySQL-Installation...

Telnet wird im Alpine-Image zu busybox-extras verschoben

Das Telnet im Alpine-Image wurde nach Version 3.7...

So handhaben Sie lange Daten bei der Anzeige in HTML

Bei der Anzeige langer Daten in HTML können Sie di...

Detaillierte Erklärung der Definition und Funktion von Trennzeichen in MySQL

Wenn Sie MySQL zum ersten Mal lernen, verstehen S...

Implementierung der CSS3-Button-Randanimation

Erster Blick auf die Wirkung: html <a href=&qu...