Heim >Web-Frontend >js-Tutorial >Wie drucke ich PDFs direkt aus JavaScript mithilfe von Einbettung und .print()?

Wie drucke ich PDFs direkt aus JavaScript mithilfe von Einbettung und .print()?

Linda Hamilton
Linda HamiltonOriginal
2024-10-20 20:12:02994Durchsuche

How to Direct Print PDFs from JavaScript Using embed and .print()?

Direkter PDF-Druck aus JavaScript

Das Erstellen einer Liste von PDFs in HTML mit Download-Links und Druckoptionen ist eine häufige Anforderung. Um das Benutzererlebnis zu optimieren, ist es wünschenswert, vor dem Drucken keine PDF-Viewer öffnen oder PDFs anzeigen zu müssen.

Diese Frage untersucht eine Lösung mithilfe von JavaScript, um den Druckdialog für eine PDF-Datei direkt zu öffnen, ohne sie anzuzeigen. Ein vorgeschlagener Ansatz besteht darin, das PDF in einen versteckten Iframe einzubetten und seinen Druck über JavaScript auszulösen.

Einbettungs- und Druckmethode

Die bereitgestellte Lösung verwendet ein Tag zum Einbetten der PDF-Datei in das Dokument:

<code class="html"><embed
    type="application/pdf"
    src="path_to_pdf_document.pdf"
    id="pdfDocument"
    width="100%"
    height="100%" /></code>

Nach der Einbettung wird JavaScript verwendet, um die .print()-Methode für das PDF-Element aufzurufen:

<code class="javascript">function printDocument(documentId) {
    var doc = document.getElementById(documentId);

    //Wait until PDF is ready to print    
    if (typeof doc.print === 'undefined') {    
        setTimeout(function(){printDocument(documentId);}, 1000);
    } else {
        doc.print();
    }
}</code>

Diese Technik ermöglicht die PDF kann nahtlos ohne Benutzerinteraktion oder sichtbare Anzeige gedruckt werden. Die Integration dieses Ansatzes in einen versteckten Iframe kann ein nahtloses und benutzerfreundliches Druckerlebnis bieten.

Das obige ist der detaillierte Inhalt vonWie drucke ich PDFs direkt aus JavaScript mithilfe von Einbettung und .print()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn