Maison >interface Web >js tutoriel >JavaScript peut-il imprimer des PDF directement, sans interaction de l'utilisateur ?

JavaScript peut-il imprimer des PDF directement, sans interaction de l'utilisateur ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-20 20:13:30407parcourir

Can JavaScript Print PDFs Directly, Without User Interaction?

Impression de PDF directement à partir de JavaScript

L'intégration de PDF dans des listes HTML nécessite souvent un lien de téléchargement et un bouton ou un lien d'impression. Pouvons-nous ouvrir directement la boîte de dialogue Imprimer du PDF sans révéler le document lui-même ni utiliser une visionneuse PDF ?

Une solution potentielle consiste à utiliser un iframe masqué. Voici comment cela fonctionne :

  1. Intégrez le PDF dans une iframe masquée à l'aide de l'option tag:

    <code class="html"><embed
        type="application/pdf"
        src="path_to_pdf_document.pdf"
        id="pdfDocument"
        width="100%"
        height="100%"
    /></code>
  2. Définissez une fonction JavaScript pour imprimer le document :

    <code class="javascript">function printDocument(documentId) {
        var doc = document.getElementById(documentId);
    
        // Wait until PDF is ready
        if (typeof doc.print === 'undefined') {
            setTimeout(function() { printDocument(documentId); }, 1000);
        } else {
            doc.print();
        }
    }</code>
  3. Appelez la fonction printDocument() lorsque le PDF est chargé.

En utilisant un iframe caché, vous pouvez imprimer le PDF en toute transparence sans que l'utilisateur ne le voie ou n'ouvre une visionneuse PDF.

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