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

Tutorial zu HTML-Tabellen-Tags (23): Zeilenrahmen-Farbattribut BORDERCOLORDARK

In Zeilen können dunkle Rahmenfarben individuell ...

Installieren Sie Ethereum/Ethereum von Grund auf unter CentOS7

Inhaltsverzeichnis Vorwort Fügen Sie Sudo-Schreib...

CSS3 erzielt einen coolen 3D-Rotationsperspektiveneffekt

CSS3 erreicht coole 3D-Rotationsperspektive 3D-An...

So führen Sie MySQL mit Docker-Compose aus

Verzeichnisstruktur . │ .env │ docker-compose.yml...

Spezifische Verwendung von Lazy Loading und Preloading in js

Verzögertes Laden (Lazy Loading) und Vorladen sin...

So konvertieren Sie MySQL-Bin-Log-Protokolldateien in SQL-Dateien

mysqlbinlog-Version anzeigen mysqlbinlog -V [--ve...

Beispiel zum Ändern von Stilen über CSS-Variablen

Frage Wie ändere ich den CSS-Pseudoklassenstil mi...

Beispielcode zum Zeichnen von Doppelpfeilen in gängigen CSS-Stilen

1. Mehrere Aufrufe eines einzelnen Pfeils Sobald ...

Element Plus implementiert Affix

Inhaltsverzeichnis 1. Komponenteneinführung 2. Qu...