J'ai lu Impression en format paysage à partir de HTML mais mon problème est plus spécifique. Et avant de reconnaître ma défaite et d'envisager une autre carrière, j'ai pensé poster ici.
Voici ma situation :
J'écris un programme d'affichage et d'impression des horaires en HTML. L'utilisateur clique sur diverses options telles que la salle, les dates, etc. Un appel AJAX est ensuite effectué pour récupérer les données et les blocs d'horaires sont positionnés de manière absolue à l'aide de Javascript. La largeur de l'horaire est supérieure à la hauteur de l'horaire. J'ai donc besoin d'imprimer en format paysage, afin d'optimiser la taille de la page.
Tout d'abord, @media print{@page {size: landscape}}
ne fonctionne en aucune circonstance, j'ai essayé.
Ça marche en quelque sorte : filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
.
J'ai essayé d'appliquer le CSS ImageTransform à l'un ou l'autre des éléments HTML ou BODY, avec des résultats différents.
Lorsqu'il est appliqué à l'élément HTML, il semble que la page soit rendue en mode portrait (qui est le paramètre par défaut pour les utilisateurs de mon organisation), puis pivotée de 90 degrés. Il est clair que cela ne m'aide pas.
Lorsqu'il est appliqué à l'élément BODY, tout fonctionne, sauf pour les éléments qui sont positionnés de manière relative ou absolue (qui apparaissent toujours en portrait). Je ne peux pas abandonner le positionnement absolu, sans réécrire à partir de zéro, ce dont je n'ai pas le luxe.
Que dois-je faire ?