Plugin version imprimable

Permet d’obtenir une version épurée de la page en cours pour en faciliter l’impression.

Parfois une personne qui visite votre site peut vouloir une copie du contenu d’un article ou d’une brève sans entête ni élément de navigation. Ce plugin permet d’installer facilement la fonction version imprimable dans vos articles.

Utilisation

Insérer dans votre squelette la balise

#IMPRIMIR_DOCUMENTO**

(nota : les deux ** sont indispensables) à l’endroit où vous désirer afficher le bouton qui permet d’afficher une version imprimable de l’article.

Lorsque l’on clic sur ce bouton, s’affiche une pop-up avec l’article épuré de toute interface graphique du site ainsi que la boite de dialogue d’impression.

Personnalisation

Pour personnaliser la typographie du lien vous pouvez placer la balise IMPRIMIR_DOCUMENTO ** entre

<span style="font-size:65%">...</span>

, par exemple.

Vous pouvez aussi modifier le style de la page imprimée (typo, taille, couleur...) directement dans le squelette entre les balise <style> des squelettes imprimir_articulo.html ou imprimir_breve.html (voir le dossier du plugin)

Pour d’autres modifications ouvrir le fichier baliza_imprimir_documento.php et retouchez ce que vous voulez, par exemple les valeur « 700 » et « 470 » à la ligne 28 qui fixe la taille de la fenêtre ouverte.

Pour modifier l’icône de la balise remplacer le fichier plugins/imprimir_documento/impresora.gif par le vôtre

Quelques icônes alternatives

Vous pouvez aussi concevoir vos propres squelettes d’impression en les substituant à ceux-proposé par le plugin (s’inspirer de ces exemples)

Ce qu’il reste à faire encore sur ce plugin


Apports d’Alexandra

-  Rendre le javascript d’appel de la popup compliant et valide.
-  dans baliza_imprimir_documento.php, ligne 28, rajouter un attribut alt et title dans la balise img pour que cela valide xhtml.

<img src=\"$logo\" title=\"Impression\" alt=\"Impression\" />

Auteur

Le plugin « imprimir_documento » est développé par Joseluis sur la Zone en Espagnol. L’article de documentation d’origine est aussi sur SPIP-Contrib.

Pour en savoir plus

L’historique et le pourquoi du comment de versions imprimables sont racontés dans cet article

Discussion

30 discussions

  • Ce plugin est parfait, mon seul problème est d’empêcher l’impression des images qui ne font que bouffer de l’encre alors que l’essentiel dans mon site est le texte. Comment puis-je faire pour empêcher l’impression des images ? Que faut-il écrire comme code et où ?
    Merci pour votre aide

    Répondre à ce message

  • Trop bien ce plugin. Félicitations au programmeur.

    Toutefois j’ai un petit problème avec mes images. Pour que mes photos apparaissent en diaporame, j’ai mis le plugin Thickbox et dans l’article j’utilise la balise <docxxx|left>. Quand je souhaite imprimer l’article avec ce plugin les vignettes de mes photos sont bordurées de bleus. Je sais bien que c’est dû au fait qu’il s’agisse d’un lien, je voudrais mettre la bordure à 0. Mais je ne sais pas où.

    Répondre à ce message

  • 7

    Je ne comprends pas bien l’intérêt d’un plugin comme celui-ci quand il est si simple de déclarer une feuille de style de type « media=print » qui permet de contrôler très finement l’impression (et en plus on économise un clic)... Où est l’avantage du plugin ? Aurais-je zappé quelque chose ?

    • L’avantage réside dans la facilité de mise en oeuvre pour des non spécialistes sans avoir à coder une feuille de style

    • Non non, c’est aussi mon avis. Le passage à la css d’impression a été fait il y a qq temps déjà et depuis la problèmatique liée à l’impression s’est estompée. Pour l’instant une css dédiée à l’impression reste ce qu’il y a de mieux. On sera confronté a une nouvelle problématique d’impression quand les navigateurs intégreront enfin les règles conçues pour les média paginés (@page ...).

      Ça vaudrait peut être le coup de commettre un article à ce sujet. j’y pense, mais où contrib Zine ?

    • Désolé ,mais je trouve ce type de plugin TRES interressant.

      En effet, les personnes qui utilisent SPIP avec des squelttes généralistes (comme EVA) ne maitrisent pas forcement les techniques utilisées (PHP, CSS, MySql, ...) et n’ont aucun interêt à les connaître.

      Des plugins comme celui-ci prennent donc une grande valeur puisqu’ils permettent d’échanger, entre utilisateurs de SPIP, les connaissances de chacun : C’est le but d’une communauté, non ?

      Abou33.

    • Tout à fait d’accord — certains sont d’ailleurs tellement limités, comme moi, que je ne sais pas où exactement faire cette intervention (dans quel répertoire, quel fichier ???) :

      « Insérer dans votre squelette la balise

      #IMPRIMIR_DOCUMENTO** »

      Quelqu’un peut-il me le dire ? C’est d’ailleurs souvent un pb pour les plugins quand apparaît ce genre d’instruction : on ne précise presque jamais où précisément doit se faire la manip.

    • C’est le but principal de ce plugin que d’offrir la fonction impression sans avoir besoin de coder quoi que ce soit, excepté la balise bien sur.

      Le fichier que tu dois modifier est celui où tu désire que la fonction apparaisse. dans notre cas il s’agit du fichier article.html.
      Si tu utilises la version standard de spip sans avoir fait de squelette personnalisé, alors le fichier se trouve dans le répertoire /dist sinon c’est dans le répertoire qui contient tes propres squelettes.

      Une fois dans le fichier article.html il faut placer la balise dans le code. Pour ce qui est de l’endroit précis, c’est fonction d’où tu veux que cela apparaisse
      par exemple ce code :

      <div id="navigation">
      
      			[(#REM) Menu de navigation par rubriques ]
      			<INCLURE{fond=inc-rubriques}{id_rubrique}>
      
      
                          #IMPRIMIR_DOCUMENTO**
      
      
      			[(#REM) Articles dans la meme rubrique ]
      			<B_articles_rubrique>
      			<div class="breves">
      				<h2 class="menu-titre"><a href="#URL_RUBRIQUE"><:meme_rubrique:></a></h2>
      				<ul>
      					<BOUCLE_articles_rubrique(ARTICLES) {id_rubrique} {par date}{inverse} {0,10}>
      					<li><a href="#URL_ARTICLE"[ class="(#EXPOSE)"]>#TITRE</a></li>
      					</BOUCLE_articles_rubrique>
      				</ul>
      			</div>
      			</B_articles_rubrique>

      placera le raccourci sous le menu de navigation par rubrique (avec les squelettes standards)

    • même problème que mon prédécesseur j’ai un squelette evaweb 3.0 et voudrait placer l’icone sous le nom de l’auteur mais je ne sais quel fichier modifier et où placer la balise si vous pouviez m’aider.
      merci d’avance

    • il est un peu caché mais tu le trouveras ici : plugins\auto\eva-web30\article.html

    Répondre à ce message

  • mherbelin

    Bonjour,

    j’ai installé ce plug-in sur Spip et il me reste un souci à règler au niveau de la gestion de l’impression des images.
    J’ai besoin d’imprimer tout une rubrique au format PDF, mais je suis bloqué quand j’ai une image dont la largeur dépasse le format A4 portrait.
    Celle-ci est redimensionnée automatiquement et donc elle perd en lisibilité.
    Dans les paramètres d’impression du PDF je n’ai pas la possibilité de tourner la page padf en fonction des dimensions des iamges.

    Y’a-t’il un moyen de faire tourner une image en php ou css si cette image dépasse une certaine largeur ?

    Répondre à ce message

  • Sur SPIP 1.9.2b apres téléchargement et activation du plugin, puis insertion de la balise dans le squelette article, il semble que celle-ci ne soit pas correctement traitée. RIEN n’apparait dans le code source de la page (plus de trace de la balise mais pas trace d’un quelconque code pour la remplacer). Une idée ???

    Répondre à ce message

  • 4

    Bonjour.
    Le plugin fonctionne bien dans dans la page article mais pas dans la page breve. L’url ouverte est toujours pour un article mais sans passage d’id :
    spip.php ?page=imprimir_articulo&id_article=

    Une idée ?

    • Alors j’ai eu le même problème : Dans baliza_imprimir_documento.php j’ai remplacé :

      (ligne 37)

      $_id_article = champ_sql('id_article', $p);
      $arg = "'page=imprimir_articulo&id_article=test'.".$_id_article;
      $url = generer_url_public('',$arg);
      if (!$_id_article){
      	$_id_breve = champ_sql('id_breve', $p);
      	$arg = "'page=imprimir_breve&id_breve=test'.".$_id_breve;
      	$url = generer_url_public('',$arg);
      }

      Par :

      if (!$_id_article){
      	$_id_breve = champ_sql('id_breve', $p);
      	$arg = "'page=imprimir_breve&id_breve=test'.".$_id_breve;
      	$url = generer_url_public('',$arg);
      } else {
      	$_id_article = champ_sql('id_article', $p);
      	$arg = "'page=imprimir_articulo&id_article=test'.".$_id_article;
      	$url = generer_url_public('',$arg);
      }

      Et chez moi ça fonctionne...

    • Je retire ce que j’ai envoyé, ça ne fonctionne plus pour les articles maintenant... c’est autre chose.

    • Essaie ça...

      $_id_article = champ_sql('id_article', $p);
      $_id_breve = champ_sql('id_breve', $p);
      	
      if ($_id_breve!=''){
      
      	$_id_breve = champ_sql('id_breve', $p);
      	$arg = "'page=imprimir_breve&id_breve='.".$_id_breve;
      	$url = generer_url_public('',$arg);
      
      } else {
      			
      	$arg = "'page=imprimir_articulo&id_article='.".$_id_article;
      	$url = generer_url_public('',$arg);
      
      }
    • je viens d’essayer ton patch et cela ne marche toujours pas pour les brèves.

      j’ai vidé le cache et tout et tout mais lorsque je clique sur l’icone de l’imprimante j’ai le message d’erreur : « /spip.php ?page=imprimir_articulo&id_article= »
      merci

      dd

    Répondre à ce message

  • 1

    Bonjour,
    super ce plugin, mais voilà : j’ai mis en place une pétition et je voudrais imprimer les signatures mais cela ne fonctionne pas, il n’y a que le texte de la pétition qui s’imprime mais pas les signatures...
    que puis-je faire ?

    merci d’avance, jmarco

    le lien vers la page est :

    http://www.rocandbloc.com/rocandbloc/spip.php?article41

    • Résolu :

      Désolé pour le bruit,
      c’est comme d’hab., à chaque fois que je pose une question je trouve la soluce dans le quart-d’heure....çà m’inerve....

      bon, j’ai regardé le fichier :

      imprimir_articulo.html

      et je l’ai modifié, (en prenant soin de le copier dans mon dossier squelettes, pour garder l’original dans le dossier plugins), maintenant tout s’imprime à merveille

      voici ce que j’ai rajouté ( en reprenant une partie du fichier « inc-petition.html »)pour ceux que çà intéresse :

      <B_signatures>
      <div id="signatures">
      
      	<table summary="<:signatures_petition:>">
      	<caption><h4>#GRAND_TOTAL <:signatures_petition:></h4><br /><br /></caption>
      	<thead>
      		<tr>
      		<th scope="col"><div style="font-size:14px; background-color:orange;">&nbsp;&nbsp;Date&nbsp;&nbsp;&nbsp;&nbsp;</div><br /><br /></th>
      		<th scope="col"><div style="font-size:14px; background-color:orange;">&nbsp;Nom</div><br /><br /></th>
      		<th scope="col"><div style="font-size:14px; background-color:orange;">&nbsp;&nbsp;Profession</div><br /><br /></th>
      		
      		
      		</tr>
      	</thead>
      	<tbody>
      	<br /><br />
      <BOUCLE_signatures(SIGNATURES) {id_article} {par date}{inverse} {pagination 15}>
      		<tr>
      		<td class="signature-date"><div style="font-size:12px;">[(#DATE|affdate)]&nbsp;&nbsp;&nbsp;&nbsp;</div><br /></td>
      		<td class="signature-nom"><div class="#EDIT{qui}" style="font-size:12px;">&nbsp;&nbsp;&nbsp;&nbsp;#NOM</div><br /></td>
      		<td><div class="#EDIT{hyperlien}" style="font-size:12px;">&nbsp;&nbsp;&nbsp;&nbsp;#NOM_SITE</div><br /></td>	
      		</tr>
      </BOUCLE_signatures>
      	</tbody>
      	</table>
      
      </div>
      </B_signatures>

      merci pour ce plugin class.

      Jmarco

    Répondre à ce message

  • Hello,
    Merci au auteur de ce plugin, moi qui ne suit qu’un bredouilleur de code, ça m’a permi de sauver pas mal de temps :-)

    Cyril

    Répondre à ce message

  • Bonjour, je trouve tres sympa ce plugin mais j’ai qq soucis ...
    Dans ma page article, j’ai rajouté des « infos pratiques » avec les champs homonymes. Et je n’arrive pas à les imrpimer alors que je les ai bien mis dans le fichier « imprimir_articulo.html » ?
    Y’ a t-il une manip à faire en plus que je n’ai pas saisie ?

    Merci pour votre aide :)

    Répondre à ce message

  • Si si moi je trouve que c’est utile ce plugin.

    Pour certaines pages compliquées avec des documents joints, des vignettes, des portfolios la mise en page print en css ne se fait pas en 3 coups de cuillères à pot tandis qu’avec ce plugin la mise en page est claire même si je n’aime pas trop l’ouverture de fenetres multiples.

    DD

    PS est-ce que c’est normal si les deux fenetres (1. de l’imprimante et 2. de la page à imprimer) s’ouvrent en même temps ? ensuite je ne peux pas voir en entier la page dans sa version imprimable sauf si je ferme la fenetre de l’imprimante mais alors ensuite ne peux plus imprimer.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom