Présentation
Le plugin article PDF est encore développé sur la zone. Il est parfaitement fonctionnel mais possède peut être encore quelques bugs. Il permet de convertir votre article sous forme de fichier PDF. Vous pouvez alors à loisir l’enregistrer ou l’imprimer.
Le fichier pdf généré gère les liens html ainsi que les images de l’article.
Installation
L’installation se déroule ensuite comme pour tous les autres plugins, cf. http://www.spip.net/fr_article3396.html.
Une fois le plugin activé vous disposez d’une balise #ARTICLE_PDF
à placer dans votre squelette sous la forme #ARTICLE_PDF{id_article}
, et d’une balise #RUBRIQUE_PDF
à placer sous la forme #RUBRIQUE_PDF{id_rubrique}
.
La balise génère alors un bouton qui vous permet d’afficher la version au format pdf de l’article
Il est aussi possible d’ajouter, dans la partie head
du squelette html d’article, <link rel="alternate" type="application/pdf" href="#URL_PAGE{article_pdf}|parametre_url{id_article,#ID_ARTICLE}" />
et/ou <link rel="alternate" type="application/pdf" href="#URL_PAGE{rubrique_pdf}|parametre_url{id_rubrique,#ID_RUBRIQUE}" />
, afin de lier sémantiquement la version pdf à l’article en cours.
Nota : ce plugin nécessite d’avoir la bibliothèque image GD2 sur votre serveur (ce qui est souvent le cas).
installation SPIP 3
Sous SPIP 3, il est nécessaire d’installer la librairie FPDF dans le répertoire /lib/h5c1accba-fpdf17 (le créer au besoin si l’installation automatique échoue)
Limites
Le plugin a quelques limites, notamment le générateur de pdf, qui n’accepte pas de texte en utf-8 en entrée, ce qui nécessite une conversion préalable.
Personnalisation
Vous pouvez remplacer l’icône du bouton article pdf en remplaçant le fichier plugins/article_pdf/img_pack/article_pdf.png par le votre
Quelques icônes alternatives
Vous pouvez aussi adapter la page PDF générée, en modifiant des copies des squelettes d’origine article_pdf.html
et rubrique_pdf.html
dans votre propre dossier ./squelettes/
.
Auteurs du plugin :
Ajouts
Cette documentation est sommaire et pourrait être enrichie.
Discussions par date d’activité
184 discussions
Bonjour,
ayant mis à jour la version de mon spip suite à alerte sécurité, j’ai eu l’idée saugrenue de mettre également à jour ce plugin
Résultat, il est clair qu’il a été profondément modifié car il renvoie le « Ce plugin nécessite la librairie h5c1accba-fpdf17 »
De plus, il exige ce nom exact au niveau du dossier alors que le dossier de la librairie récupérée a un autre nom.
Ce serait sympa que ces informations apparaissent dans la partie installation de l’article
Clt
Répondre à ce message
Bonjour,
j’ai utilisé ce plugin pour produire un pdf avec les textes de tous les articles d’une rubrique, je me suis débrouillé pour que ça fonctionne mais j’ai pas mal galéré parce que je suis un peu neu-neu... mais bon, une question me reste : comment ajouter une $variable dans le fichier rubrique_pdf.html pour qu’elle soit utilisable dans /pdf/lib_pdf_spip.php
(si j’arrivais à le faire j’agrémenterais cette page de doc...)
merci,
;o)
Pourrais tu préciser ta demande, je ne vois pas ce que tu cherches à faire
oui : en utilisant le squelettes rubrique_pdf.html tel qu’il est, on a toutes les infos de la rubrique, c’est super et parfait, et on gratte dans pdf/lib_pdf_spip.php pour affiner la présentation...
mais si on veut modifier ces infos pour avoir en plus, par exemple, tous les titres des articles, comment puis-je ajouter une variable dont la valeur sera affichée dans le document pdf...
en faisant dans rubrique_pdf.html
je ne récupère rien dans pdf/lib_pdf_spip.php qui aurait pu être la variable
$titres_articles
Mes essais sont pas convaincants, mais je m’y prend peut-être mal...?
merci !
n’utilisant pas rubrique_pdf, il a fallut que je me plonge un peu dans le code,
Il suffit que tu déclares ta nouvelle variable (en plus des modifs que tu as déjà faites) dans la fonction
function GenerateTitlePage()
ligne 66 pour la page de garde ou la fonctionfunction GenerateText()
ligne 170 pour la 2e page.modif à effectuer :
j’ai fait un test rapide de mon côté et sa fonctionne sans problème.
c’est vrai que c’est un manque, la page rubrique_pdf mériterait d’être retravailler, si le coeur t’en dit n’hésite pas à commiter ou à m’envoyer tes fichiers modifiés
oui, super, ça marche... je pense que c’était un problème de cache... ?
on peut tout aussi bien ajouter une fonction à côté de GenerateText() qui sera utilisée pour notre variable perso...
en fait l’idéal serait d’avoir le choix de plusieurs modèles, je ne veux pas refaire ce qui a été fait et qui correspond à une utilité... on pourrait envisager plusiquers modèles à inclure qui appelleraient chacun un fichier différent pour une mise en page et squelettes différents ?
on peut aussi faire une petite explication pour les modèles à inclure par les rédacteurs :
par exemple...
Répondre à ce message
Bonjour,
Ce plugin marche très bien, mais comment faire pour faire apparaître le(s) noms(s) des auteurs sur le document PDF ?
Merci d’avance
Philippe G.
Je me permets de reposer la même question : comment faire apparaître le nom des auteurs de l’article sur le document PDF ?
Tu as bien fait de re-poster j’avais loupé ton premier message.
Le non affichage des auteurs est un bug je vais essayer de commiter ça rapidement en attendant tu peux faire les modif toi même :
- dé-commente la ligne 25 du fichier /article_pdf.html
- dans le fichier /pdf/lib_pdf_spip.php ligne 137 ajoute :
Répondre à ce message
Bon, je n’ai pas de chance, ce plugin ne fonctionne pas sur mon site : j’ai une erreur qui me demande d’installer la librairie fpdf, alors qu’elle est installée.
Avez-vous un tuyau ?
Merci
Je précise : voici le message obtenu quand j’essaie d’activer le plugin article pdf :
Quand je clique sur le bouton « télécharger », j’arrive à ça :
J’ai donc téléchargé et installé manuellement la librairie par ftp, dans dossier /lib/fpdf
J’ai essayé de la placer à la racine du site, dans le dossier du plugin article pdf, dans la dossier du plugin sarkaspip, mais je ne peux toujours pas activer le plugin.
Pourtant, la lib est bien installée puisqu’elle apparaît dans la liste des librairies installée dans l’espace privé de spip.
Merci
Essaye de placer le contenu http://www.fpdf.org/fr/download/fpdf17.zip dans le répertoire lib/h5c1accba-fpdf17 situé à la racine de ton site.
Merci, il y a des progrès, j’ai pu activer le plugin article pdf !!!
Malheureusement, en cliquant sur le bouton en haut d’un article, j’obtiens ceci :
???
est-ce que cela fait également ça avec des photos en jpeg ?
De plus pour aider pourrais-tu préciser :
- ta version de spip
- la méthode utiliser pour générer les vignettes
- un lien qui permettrait de voir le pb in situ
Bonjour,
ma version de spip est le 2.1.11
la méthode pour les vignettes est gd2
le site est là : http://maths.lallemand.free.fr/
Je n’ai pas essayé avec des jpeg, mais les images latex générées par spip sont au format png et, apparemment, ce sont-elles qui posent problème.
Merci
En fait, ça marche avec une image png sur cette page-ci.
Mais ça ne marche pas avec les images latex : exemple.
En effet j’ai fait un test de mon côté et j’arrive au même résultat. J’ai bien peur de ne pas pouvoir t’aidé sur ce coup.
Après quelques recherche, le problème est lié à la librairie fpdf qui ne gère pas les images png 16 bit.
Regarde peut être du côté de cette contrib http://www.spip-contrib.net/Version-PDF-avec-SPIP2LaTeX ou alors poste un message sur la liste spip pour voir s’il est possible de générer les image latex dans un autre format.
Merci.
J’ai posté un message sur le forum de fpdf pour voir si il y a une solution.
Je reviendrai ici pour le signaler si c’est le cas.
Répondre à ce message
sur un spip en version 2.1.10 , impossible d’afficher les images d’un article.
J’ai a la place un lien du style :
<code
[http://monsite.fr/intranet/spip.php?action=acceder_document&arg=639&cle=e58ebcb2dcc7
393f9c6f7c7fbc3933e11f081a62&file=jpg_image003.jpg]
Et Quand je clique sur le lien, j’ai un message
Erreur 404 - Ce document n’est pas disponible
Une idée sur le problème
Bonjour,
J’ajoute un petit complèment d’information :
Les images de l’articles sont bien visibles lors de la consultation de l’article.
Le lien n’apparait que dans le fichier PDF généré.
Ce problème ne se présente que pour moi ?
Ou d’autres personnes ont ce soucis ?
un vrai lien serai un plus pour aider à résoudre le problème
Bonjour,
Je suis désolé, le serveur est sur un intranet inaccessible depuis internet...
Mais je peux répondre aux points qui vous intriguent
Bonjour,
J’ai toujours mon soucis d’images dans les pdf générés « à la volée ».
J’ai coupé le plugin Zpip pour revenir au squelette de base, le problème reste le même.
Dans mon article, si je fais clic droit, afficher l’image, on la trouve en :
http://IP de mon Serveur/intranet/local/cache-vignettes/L300xH300/cds-dd0e1.jpg
le lien généré dans le pdf est de la forme :
[http://IP de mon Serveur/intranet/spip.php ?action=acceder_document&arg=2608&cle=4932c26516702c6348f41a958da49f
af2986584a&file=jpg%2Fcds.jpg
si je clique sur le lien, j’ai le message cité au debut :
Erreur 404 - Ce document n’est pas disponible
Comment est généré le lien dans le fichier PDF ?
Version SPIP : SPIP 2.1.10 [17657]
Version Article PDF : 0.4.5 - stable
Je voulais supprimer le plugin Article PDF, mais des utilisateurs y ont prit goût pour les articles sans photo ...
Alors maintenant faut que je trouve une solution !
quelques approfondissement pour essayer de cerner le problème :
- as-tu GD2 installé sur ton serveur
- spip gére-t-il la création des miniatures sur ton site
- quelle version de php sur ton serveur.
Le fichier pdf est généré par ce fichier
As-tu essayé l’autre plugin pdf ?
encore une chose, je remarque que ton site est placé dans un sous-répertoire, l’as-tu configuré dans le .htaccess
- version php : PHP Version 5.3.8
- SPIP gére les miniatures
- GD2 installé
- Rien n’est parametré dans le .htaccess ...
je ne l’utilise pas. Mais peut etre est-ce une erreur ???
en effet, je ne suis pas spécialiste mais il me semble que c’est plutôt préférable.
modifie le .htaccess à la racine de ton spip pour préciser le chemin de la racine du serveur jusqu’au répertoire de ton spip
Répondre à ce message
Bonjour,
Si je veux modifier la mise en page du PDF je vais dans quel fichier ?
A bientôt,
G
Re-bonjour,
J’ai trouvé le fichier à modifier ( pdf/ lib_pdf_spip.php ) pour créer ma mise en page perso !
c-à-d sans la page de titre, que je trouve trop lourde surtout quand le texte à transformer en PDF fait qu’une page.
...
Maintenant vient la question suivante :
Je dois placer mon fichier modifié où pour qu’il ne soit pas écrasé à la prochaine mise à jour du plugin ?
logiquement tu places pdf/ lib_pdf_spip.php dans ton dossier de squelette et cela devrait fonctionnner.
Super merci. Ça marche.
Mon erreur : j’avais placé article_pdf_2_0/ pdf/ lib_pdf_spip.php dans le squelette
au lieu de seulement pdf/ lib_pdf_spip.php
Répondre à ce message
Bonjour,
La génération du pdf fonctionne,
Seulement, dans le texte de l’article généré dans le pdf, passé une certaine taille de police (mettons 18) les titres qui s’étalent sur 2 lignes se chevauchent (cf image)
En d’autres termes je cherche à modifier l’interlignage mais ne trouve pas la méthode sur le site http://www.fpdf.org.
Je génère le texte avec la méthode :
$this->WriteHTML($texte,5);
Et j’utilise les balises html (notamment les titres...) via ckeditor pour la rédaction des articles
Quelqu’un a t’il déjà eu le cas ?
Cordialement,
Pierre-Yves
Répondre à ce message
Bonjour,
J’ai mis à jour le plugin « Article PDF » et j’obtiens le message d’erreur « FPDF error : Could not include font definition file ».
Avant cette mise à jour tout fonctionnait bien.
J’utilise :
- SPIP 2.1.10 [17657]
- squelette EVA-Web 4.1
- Couteau Suisse 1.8.43.01
- Article PDF 0.4.5
D’avance merci.
Cordialement.
H. LACROIX
Répondre à ce message
Bonsoir,
Chez moi (SPIP 2.1.10) ce plugin ne fonctionne pas. Voir article :
http://www.oulala.net/Portail/spip.php?article5231
Et comme la notice d’utilisation n’est pas a jour..... je patauge.
Une idée ?
Cordialement
Répondre à ce message
Bonjour,
j’utilise Article Pdf avec un SPIP 2.1.10,
mon souci vient du fait que j’utilise la fonction glossaire interne du couteau suisse : et malheureusement, le PDF généré affiche tous les mot-clés avec leurs définitions (ce qui perturbe la lecture) :
exemple de page que vous pouvez générer en pdf : http://www.snetap-fsu.fr/BOYCOTT-DU-ROLE-DE-CONSEILLER.html
comment peux-t-on lui demander de supprimer ces span dans article_pdf.html ?
merci d’avance pour votre réponse !
A la lecture du code, il semble que ce plugin utilise le squelette article_pdf.html pour produire le PDF. Il semble aussi que les traitements sur #TEXTE (ou #RUBRIQUE) soient ignorés car la fonction pdf_first_clean_prepropre() ne lance que propre(), ce qui est anormal. Dans tous les cas, il vaut mieux éviter d’utiliser #TEXTE*.
Bref, ça c’est une chose... Maintenant trois pistes pour résoudre le problème évoqué :
- Soit Article PDF applique les classes CSS...
- Soit Article PDF repère les classes du CS et les supprime.
- Soit le Couteau Suisse repère que le fond article_pdf est utilisé et modifie son affichage en conséquence.
Bonjour,
merci pour les pistes >> je pense qu’il faut explorer la piste du fichier article_pdf_mes_fonctions.php et la fonction preg_replace pour remplacer les span du couteau suisse...
le problème, c’est que je ne connais pas le php, aussi, je n’arrive pas à écrire mon expression...
voici par exemple l’expression qui enlève les remarques HTML :
sur le même modèle, moi j’ai écris cette expression pour enlever un premier span du glossaire
mais ça ne fait rien...
si quelqu’un peut m’aider à écrire l’expression correcte, je suis preneuse !
Ton expression sur les span n’est pas bonne, il faut « >.*< » sans espaces et non « > * < »... De plus, la classe que tu cherches à supprimer n’est pas la bonne : c’est « gl_dl » (méthode CSS) et non « gl_mot ».
Essaie le Couteau Suisse version 1.8.41.04. Après recompilation des outils et vidange du cache, tu me diras ce que ça provoque. En principe, le CS détecte le fond article_pdf.html et applique le mode impression (celui qu’on peut provoquer en ajoutant cs=print dans l’URL) si toutefois le paramètre « cs » est bien propagé dans les inclure.
merci Pat pour tes explications,
> pour infos, la correction de mon expression ne change rien....
> J’ai mis à jour le couteau suisse >> ça ne change rien à mon souci.
Je suis allée relire les informations sur les particularités du « mode impression » sur la page du couteau suisse, et je n’ai pas d’inclure pour le corps de l’article.
En relisant, les explications :
>> le glossaire interne n’est pas cité parmi les trois outils, une action du couteau suisse sur article_pdf a t-elle bien lieu dans le cas d’un glossaire interne ?
pour info, j’ai testé un article avec une découpe en onglet >> le pdf s’affiche avec la correction des trois paragraphes les uns sous les autres...
Ta version du CS est à jour, peut-être ne l’as-tu pas recompilé ?
Le glossaire devrait prendre compte le mode impression, je vais compléter l’article en ce sens. Quel est l’adresse de ton article de test ? S’il y a un bug, on va le corriger...
Bonjour,
bcp de temps à répondre pour ma part (>>vacances de juillet)...
Merci Patrice, puisque que tous tes apports sur le couteau suisse ont permis de résoudre le problème et la génération pdf fonctionne correctement avec le glossaire interne du couteau suisse.
PB résolu !!
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 :
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.
Suivre les commentaires : |