Imprimer un fichier PDF en Javascript

Parfois, vous devez imprimer un fichier PDF directement à partir d’une page Web sans le télécharger. Pour accomplir cette tâche, chaque navigateur fonctionne de manière différente, mais tous ont quelque chose en commun. Voici quelques options pour imprimer un PDF directement à partir d’une page Web:
 
 

Méthode 1: Imprimer un fichier PDF via une iframe statique

Dans le premier exemple, on a une iframe sur la page Web avec le fichier source PDF. La propriété onclick() du bouton appellera la méthode print().

<html>
<head>
<script>
    function print() {
        var frame = document.getElementById('frame');
        frame.contentWindow.focus();
        frame.contentWindow.print();
    }
</script>
</head>
<body>
<iframe src="https://waytolearnx.com/test.pdf" id="frame" width="400" height="400"></iframe><br>
<button onclick="print()">Imprimer le PDF</button>
</body>
</html>
Résultat

 
 

Méthode 2: Imprimer un fichier PDF via une iframe dynamique

Dans le deuxième exemple, on n’a pas une iframe sur la page Web. Nous allons créer une iframe de manière dynamique en utilisant un code JavaScript.

<html>
<head>
<script>
    function print(pdf) {
        // Créer un IFrame.
        var iframe = document.createElement('iframe');  
        // Cacher le IFrame.		
        iframe.style.visibility = "hidden"; 
        // Définir la source.		
        iframe.src = pdf;        
        // Ajouter le IFrame sur la page Web.		
        document.body.appendChild(iframe);  
        iframe.contentWindow.focus();       
        iframe.contentWindow.print(); // Imprimer.
    }
</script>
</head>
<body>
    <button onclick="print('https://waytolearnx.com/test.pdf')">Imprimer le PDF</button>
</body>
</html>
Résultat
QCM JavascriptQCM Javascript – Partie 1QCM sur Javascript avec des réponses pour la préparation des tests techniques, des tests en ligne, aux examens et aux certifications. Ces questions et réponses…Lire plus
Partagez cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *