Imprimer une étiquette de table avec js

Oct 04 2020

J'essaie d'imprimer un tableau mais il capture toute la page et en mode mobile, je voudrais simplement imprimer la classe addr-table comme ci-dessous:

HTML

<table class="addr-table">

 ... table content...

</table>
<a href="#" class="js-print-link">Print</a>

JS

<script>

    $('.js-print-link').on('click', function() { var printBlock = $(this).parents('.addr-table').siblings('.addr-table');
      printBlock.hide();
      window.print();
      printBlock.show();
    });      
</script>

J'ai essayé de nombreux formats, y compris des suggestions sur SO, ce code fonctionnait le mieux, maintenant la dernière clique. Comment puis-je capturer uniquement la table en mode PC normal et non en mode mobile

Réponses

3 MehrzadTejareh Oct 04 2020 at 19:42

veuillez l'essayer ... cela fonctionne correctement:

<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
    <title>Page Title</title>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <style>
    @media print {
         *{visibility:hidden}
         .printable,.printable *{
            visibility:visible
         }
      }
    </style>
</head>
<body>
    <div>
        this content is not printable
    </div>
    <table class="printable">
        <tr>
            <td>
                ... table content...
            </td>
        </tr>
    </table>
    <a href="#" class="js-print-link" onclick="print()">Print</a>
</body>
</html>