2010-07-14 5 views
5

J'ai lu Landscape printing from HTML, mais mon problème est plus spécifique. Et avant que je concède la défaite et envisage une carrière différente, j'ai pensé que je posterais ici.Impression paysage de IE8

C'est ma situation:

Je vous écris un affichage de calendrier et programme d'impression en HTML. L'utilisateur clique sur diverses options telles que la pièce, les dates, etc. Un appel AJAX est alors effectué, pour récupérer les données et les blocs horaires sont positionnés de manière absolue en utilisant Javascript. La largeur de l'horaire est supérieure à la hauteur de l'horaire. Donc, j'ai besoin d'imprimer en mode paysage, afin de maximiser la taille sur la page.

Tout d'abord, @media print{@page {size: landscape}} tout simplement ne fonctionne pas en toute circonstance, j'ai essayé. Cela fonctionne en quelque sorte: filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);.

J'ai essayé d'appliquer CSS ImageTransform à l'un 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 tant que portrait (paramètre par défaut des utilisateurs de mon organisation), puis pivotée de 90 degrés. Clairement, cela ne m'aide pas.

Lorsqu'il est appliqué à l'élément BODY, tout fonctionne, sauf pour les éléments qui sont soit relative ou absolue positionné (qui apparaissent toujours portrait). Je ne peux pas abandonner le positionnement absolu, sans réécrire de zéro, ce dont je n'ai pas le luxe.

Que dois-je faire?

+0

Qu'avez-vous fait? – misterManSam

+2

Vous pourriez envisager de publier un PDF pour chaque horaire. Par exemple. voir ici: http://stackoverflow.com/questions/3953821/printing-landscape-html-pdf-using-abcpdf – Kerstomaat

+0

PDF est fait pour imprimer des documents ... HTML ne l'est pas. –

Répondre

0

En raison des caprices dans IE8 vous devez réappliquer le filtre (filtre: progid: DXImageTransform.Microsoft.BasicImage (Rotation = 3);) à n'importe quel élément qui est positionné en absolu.

+1

Je vais accepter la réponse, car il semble évidemment logique que cela fonctionne . Mais je n'ai aucun moyen de tester cela sur le logiciel original, comme j'ai posé la question il y a quatre ans. –

+0

Oui, je sais que c'est un peu tard! Bit a juste trébuché sur celui-ci et a pensé que j'y répondrais pour n'importe qui d'autre qui a ce même problème ... nous devons toujours soutenir IE8 à la compagnie que je travaille pour notre site E-commerce. – Sutty1000