printing - working - php page break




Comment puis-je créer une page Web pour l'impression afin qu'elle ne se divise pas mal sur les pages? (4)

Il existe une propriété CSS pour tenter d'assurer la position des sauts de page. Vous pouvez donner à un élément la règle page-break-before: always ou page-break-after: always` pour indiquer si la pause doit être avant ou après l'élément. Cela a un support assez médiocre à travers les navigateurs et je ne compterais pas dessus. Voir http://www.w3schools.com/CSS/pr_print_pageba.asp pour plus de détails.

J'ai une application web qui génère un long rapport et j'ai besoin de l'imprimer. Si je n'imprime que la page, elle se cassera à la fin de la page physique. Comment puis-je calculer où faire une pause dans la page Web afin que les sauts de page s'alignent avec les pages physiques lors de l'impression?


J'évite habituellement l'impression de page Web (HTML) tous ensemble. Si l'impression formatée est requise, je génère des formats PDF ou CSV / Tableur pour que mes clients puissent imprimer comme ils le souhaitent.

Je génère généralement des impressions pour une utilisation globale, ce qui signifie que tous les types de paramètres diffèrent (par exemple, la taille du papier: Légal, Lettre, A4, etc.) du lieu de travail au lieu de travail. J'ai trouvé que c'était une trop grande tâche pour garantir la sortie esthétique partout.


Soit avec CSS page-break-before/after

D'autres moyens:

  • utiliser JasperReports et charger les données dans un rapport, au lieu d'une page html
  • utiliser Apache FOP avec XSL pour traduire votre HTML (ou les données brutes) en FOP et plus tard en PDF

Les deux méthodes sont assez étendues, donc si vous ne voulez pas passer un peu mieux, passez directement à une autre réponse ....