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

XHTML-Tutorial für die ersten Schritte: XHTML-Webseiten-Bildanwendung

<br />Das sinnvolle Hinzufügen von Bildern k...

So erweitern Sie die Festplattenpartition für das CentOS-System

Problem/Fehler/Szenario/Anforderung Die Festplatt...

Detaillierte Erläuterung des Zahlungsfunktionscodes des Vue-Projekts

1. Alipay-Methode: Alipay-Methode: Klicken Sie zu...

Beheben von Problemen mit hoher MySQL-CPU-Auslastung

Hohe CPU-Last durch MySQL Heute Nachmittag habe i...

MySql8 WITH RECURSIVE rekursive Abfrage Eltern-Kind-Sammlungsmethode

Hintergrund Wenn Sie eine Funktion entwickeln, di...

Was ist WML?

WML (Wireless Markup Language). Es handelt sich u...

Was ist dies in einer Punkt-für-Punkt-Reihe von JavaScript?

Verstehe das Vielleicht haben Sie this in anderen...

Detaillierte Erklärung von as, Fragezeichen und Ausrufezeichen in Typescript

1. Das Schlüsselwort as gibt eine Behauptung an I...

Aufbau einer Zookeeper-Standalone-Umgebung und einer Clusterumgebung

1. Aufbau einer Einzelmaschinenumgebung# 1.1 Heru...

Häufige Tomcat-Ausnahmen und Lösungscodebeispiele

Das Unternehmensprojekt wurde in Java entwickelt ...