Maison  >  Article  >  interface Web  >  Comment imprimer directement des PDF à partir de JavaScript en utilisant embed et .print() ?

Comment imprimer directement des PDF à partir de JavaScript en utilisant embed et .print() ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-20 20:12:02871parcourir

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

Impression directe de PDF à partir de JavaScript

La création d'une liste de PDF en HTML avec à la fois des liens de téléchargement et des options d'impression est une exigence courante. Pour rationaliser l'expérience utilisateur, il est souhaitable d'éviter d'avoir à ouvrir des visionneuses PDF ou à afficher des PDF avant l'impression.

Cette question explore une solution utilisant JavaScript pour ouvrir directement la boîte de dialogue d'impression d'un PDF sans l'afficher. Une approche proposée consiste à intégrer le PDF dans une iframe cachée et à déclencher son impression via JavaScript.

Méthode d'intégration et d'impression

La solution fournie utilise une méthode balise pour intégrer le PDF dans le document :

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

Une fois intégré, JavaScript est utilisé pour invoquer la méthode .print() sur l'élément PDF :

<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>

Cette technique permet au PDF à imprimer de manière transparente, sans aucune interaction de l'utilisateur ni affichage visible. L'intégration de cette approche dans une iframe cachée peut offrir une expérience d'impression transparente et conviviale.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn