28173 sujets

CSS et mise en forme, CSS3

Bonjour,

Je travaille sur le développement d'un ENT (Environnement numérique de travail) et dans ce cadre j'utilise une iframe pour afficher les ressources mise en place par les tuteurs.

J'aimerais lors de l'impression, n'imprimer que la ressource affichée sans l'interface autour.

J'ai déjà mis un lien 'imprimer ce document' avec du javascript et cela fonctionne bien mais je préfererais m'en passer et utiliser du CSS avec media="print".

Pour le moment, j'arrive à cacher l'interface via des display:none mais l'iframe ne s'affiche pas correctement, le document est coupé et je n'ais que la première page.

Si quelqu'un à une idée...

Pour visualiser le problème, http://wuji.pleiad.net puis le lien "démonstration".

Merci
Modifié par dhalsim (15 Oct 2007 - 10:08)
Je continue mes tests sans succès pour l'instant.

J'ai ouvert un environnement pour visualiser plus facilement le problème.

Allez sur le site http://wuji.pleiad.net, puis utiliser le lien de démonstration (ou connectez-vous en utilisant utildemo/utildemo).

Naviguez dans le cours de mécanique et essayer de l'imprimer (aperçu avant impression).
dhalsim a écrit :
Je continue mes tests sans succès pour l'instant.

D'après une recherche que je viens de faire, les iframes ne peuvent pas s'imprimer sur plusieurs pages.

Solution: ne pas utiliser d'iframe. Ou bien passer par Javascript pour imprimer le contenu de l'iframe.
Les iframes (et les cadres en général) sont essentiellement destinées à la composition de pages à l'écran, et sont une solution dédiée à un seul media. C'est l'une de leurs faiblesses intrinsèques.

(En d'autres termes, les dimensions d'un iframe sont indifférentes à son contenu).
Merci de vos réponses. Je vais intégrer le lien javascript puisque je peux pas vraiment me passer de l'iframe pour ce genre d'application.
Un truc sympathique que tu peux faire: par défaut, tu intègre juste après l'iframe une phrase du type: «Pour imprimer cet article, suivez ce lien puis faites "Fichier > Imprimer" ou Ctrl+P.» Ensuite, tu place un script JS qui remplace cette phrase par un lien «Imprimer cet article» qui porte la fonction JS.

Ainsi, que JavaScript soit activé ou pas, tu proposes un moyen relativement aisé d'imprimer l'article.