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

Drei Diskussionen zum Iframe Adaptive Height Code

Beim Erstellen einer B/S-Systemschnittstelle stößt...

Beispielcode zur Implementierung eines Waben-/Sechseckatlas mit CSS

Ich weiß nicht warum, aber UI gestaltet gerne Wab...

Detaillierte Erklärung der Verwendung von Object.assign() in ES6

Inhaltsverzeichnis 2. Zweck 2.1 Objekten Eigensch...

Vue muss Wissenspunkte lernen: die Verwendung von forEach()

Vorwort Bei der Frontend-Entwicklung stoßen wir h...

Lösungen für MySQL-Batch-Insert- und eindeutige Indexprobleme

MySQL-Batch-Einfügeproblem Da bei der Entwicklung...

So installieren Sie den Apache-Dienst im Linux-Betriebssystem

Downloadlink: Betriebsumgebung CentOS 7.6 in eine...

Lösung für das Problem von var in einer for-Schleife

Vorwort var ist eine Möglichkeit, Variablen in ES...

So umbrechen Sie das HTML-Titelattribut

Als ich vor ein paar Tagen ein Programm schrieb, w...

Eine kurze Analyse, wie MySQL die Transaktionsisolierung implementiert

Inhaltsverzeichnis 1. Einleitung 2. RC- und RR-Is...

Einführung und Verwendung des JS-Beobachtermodus

Inhaltsverzeichnis I. Definition 2. Anwendungssze...

Projektpraxis zum Bereitstellen von Docker-Containern mit Portainer

Inhaltsverzeichnis 1. Hintergrund 2. Bedienungssc...