Page 1 sur 1
Imprimer JUSTE UNE PARTIE de ma page PHP ?
Posté : 23 mars 2005, 13:01
par syrius qui s'invite
bonjour!
je souhaite ajouter un bouton "imprimer" dans les pages de mon application (html+php).
pour l'instant j'ai ça au milieu de mon code :
<a href="javascript:window.print()"><img src="print.jpg"></a>
le "hic", c'est que je ne voudrais imprimer qu'une partie de ma page, qui se trouve en plein milieu (un tableau + un jpeg).
Existe il des balises HTML qui permettent de faire ça? un javascript? une fonction PHP?
toutes les idées sont les bienvenues !

Posté : 23 mars 2005, 15:33
par Damien
Bonjour, tu peux utiliser une feuille de style :
http://openweb.eu.org/articles/css_impression/
Posté : 23 mars 2005, 16:25
par Invité
oui j'ai vu qu'on pouvait utiliser les CSS, mais ça me parait super lourd a faire...
je pensais plutot a un truc du genre :
mettre 2 balises dans mon html <!--debut impression--> et <!--fin impression-->
lire ça avec un javascript (comment??)
ouvrir un popup,
copier dedans le contenu des balises
et imprimer avec window.print()
mais je sais pas comment faire...

Posté : 24 mars 2005, 10:49
par Cyrano
Pour faire ça avec du JavaScript, il faut rentrer à fond dans le DOM (Document Object Model) pour isoler la partie à imprimer, j'avoue que tout bien pesé, je préfère de très loin la feuille de style: ce n'est pas très compliqué: tu fais une copie de ta feuille de style de base mais tu modifies l'affichage des éléments indésirables à l'impression en mettant {display: none}; en en-tête de ta page, tu fais un lien vers les deux feuilles, mais dans ta balise <link>, tu précises l'attribut media="screen" pour l'affichage écran et media="print" pour l'affichage impression.
Que tu fasses ça en CSS ou JavaScript, il va te falloir de toutes façon bien identifiers les éléments dans ta page (attributs "name" ou "id"). De là à dire que c'est lourd, j'en suis moins certain et il y a toujours le risque que JavaScript soit désactivé sur l'ordinateur de l'internaute. Il est beaucoup plus rare en revanche que l'internaute impose sa propre feuille de style et même là, je ne suis pas certain que ça change au niveau de ta feuille de style d'impression.
Posté : 24 mars 2005, 12:24
par syrius qui s'invite
ok merci....
je suis pas hyper motivée là tout de suite, mais je pense en effet que je vais devoir essayer avec un CSS.
merci de votre patience!

Re: Imprimer JUSTE UNE PARTIE de ma page PHP ?
Posté : 16 avr. 2005, 18:38
par Marielle
je souhaite ajouter un bouton "imprimer" dans les pages de mon application (html+php).
Est-ce que tu as trouvé - vois-tu j'ai le même problème même après 2 jours de recherche !!
Marielle
Posté : 16 avr. 2005, 23:22
par pjl
La solution est au dessus : CSS (c'est le plus simple)
ou page spécifique style libe.fr
Posté : 17 avr. 2005, 00:27
par Cyrano
Une petite visite sur
cette page peut grandement faire avancer le schmilblik

Posté : 17 avr. 2005, 09:34
par Ripat
Ou bien
ce lien, traduit d'un article original d'Eric Meyer himself.
C'est une solution élégante mais il faudra modifier toutes les classes et id de style!
J'ai failli avaler mon croissant de travers quand j'y ai lu:
Code : Tout sélectionner
#content a[href^="/"]:after {
content: " (http://www.alistapart.com" attr(href) ") ";
}
Aaaargh! C'est quoi c'te bête là? (css3 !)
Pour n'imprimer qu'une seule partie d'un document et si tu n'as pas de style "inline", ça doit être possible, comme tu l'as suggéré, de marquer le texte à récupérer et ensuite l'isoler, mais côté serveur, avec des fonctions chaîne (strpos) ou regex (preg_replace). Faut y réfléchir.
On réinvente la roue !?
Posté : 18 avr. 2005, 02:10
par Marielle
Bon....
V'la que Netscape s'en mêle et veut pas compatir.... #/$% !!
Est-ce utopique d'imaginer qu'il y a une façon de l'amadouer?
Merci les gars pour les trucs,
Marielle
Posté : 18 avr. 2005, 09:05
par Cyrano
Ben oui on peut amadouer Netscape: mais il faudrait nous préciser ce qui cloche : décris l'élément incriminé et envoie le bout de code CSS que tu utilises : il y a toujours des astuces pour rendre un site complètement compatible pour plein de navigateurs différents y compris en mode texte seul genre lynx (quoique là, la mise en page est plus pauvre

)