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

Vue realisiert die Funktion zum Hochladen von Fotos auf den PC

In diesem Artikelbeispiel wird der spezifische Co...

Beispiele für minimalistisches Website-Design

Webanwendungsklasse 1. DownFürAlleOderNurIch Mith...

MySQL-Fremdschlüsseleinschränkung (FOREIGN KEY) Fallerklärung

Die MySQL-Fremdschlüsseleinschränkung (FOREIGN KE...

So erstellen Sie eine Swap-Partitionsdatei in Linux

Einführung in Swap Swap (d. h. Swap-Partition) in...

Detailliertes Beispiel des MySQL InnoDB-Sperrmechanismus

1. InnoDB-Sperrmechanismus Die InnoDB-Speicher-En...

So lösen Sie das Problem der hohen Parallelität in der MySQL-Datenbank

Vorwort Wir alle wissen, dass Startups zunächst m...

Docker Detaillierte Abbildungen

1. Einführung in Docker 1.1 Virtualisierung 1.1.1...

Zusammenfassung gängiger SQL-Anweisungen in MySQL

1. MySQL-Exportdatei: SELECT `pe2e_user_to_compan...

Eine kurze Diskussion über das Design des Tomcat-Mehrschichtcontainers

Inhaltsverzeichnis Containerhierarchie Der Prozes...

JavaScript-Methode zum Erkennen des Dateityps

Inhaltsverzeichnis 1. So zeigen Sie die Binärdate...