Cette contribution est largement inspirée de celle-ci : Génération améliorée de fichiers PDF
et de celle-ci :Génération de PDF pour SPIP - Drop Zone City
Je vous invite donc à lire ces contributions avant la mienne.
Installation
Vous trouverez en pièce-jointe (prenez l’archive intitulée PDF Nouvelle Version), les fichiers nécessaires à la génération des articles au format PDF.
N’oubliez pas de créer un dossier nommé : _article_PDF dans le répertoire IMG et de lui attribuer les permissions à 777 (comme vous l’aviez fait lors de l’installation de SPIP pour le répertoire IMG par exemple).
Ensuite, vous installez les fichiers joints à la racine de votre site SPIP.
Attention : Si vous utilisez déjà un fichier mes _fonctions.php3, recopiez le code contenu dans notre fichier mes_fonctions.php3 entre les balises
<?php et ?>
dans votre fichier mes_fonctions.php3.
Puis, faîtes un lien dans votre squelette article.html vers article_pdf.php3 comme ceci :
<a href="article_pdf.php3?id_article=#ID_ARTICLE" target="_blank">Voir au format PDF</a>
Démo articles SPIP au format PDF
Voici un récapitulatif des fonctionnalités ajoutées aux PDF :
- Les PDF se régénèrent automatiquement quand vous modifiez un article, alors qu’avec les contrib. proposées vous devez effacer à la main les pdf dans votre dossier IMG/_article_PDF à chaque fois que vous modifiez un article.
- Le problème de titre trop long qui était coupé et donc qui ne revenait pas à la ligne a été corrigé.
- Amélioration de la génération de certains caractères spéciaux.
- Les logos d’articles apparaissent correctement, par contre il faut que je règle le problème de liens sur les logos, pour l’instant, j’ai tout simplement retiré les liens qui finalement ne servent à rien.
- Les images insérées dans les articles apparaissent correctement.
- Cette contribution est compatible avec la contribution : Découper un article en plusieurs pages et lui ajouter un sommaire, ainsi les <hr>
générés n’apparaissent pas dans le pdf.
- Les fichiers au format GIF sont gérés de 2 façons. Soit en pur PHP et le résultat n’est pas terrible bien qu’il reste utilisable. Soit, avec utilisation de la librairie GD dans une version capable de manipuler les GIF, et la, vous aurez un resultat parfait.
- Les fichiers PNG avec couche Alpha sont gérés mais le fichier PNG généré dans le PDF aura forcément un fond blanc ### On peut peut être ressortir la couleur dans une variable en tête de fichier si qq1 veut pouvoir la changer facilement ###
- Nous utilisons la dernière version de FPDF qui est à l’heure où parait cet article la 1.53. Pour plus d’infos sur l’historique des versions, il faut se rendre ici.
Un PDF simplifié sans page de garde
Vous trouverez aussi en pièce-jointe le fichier permettant de générer un article au format PDF, de présentation plus simple, sans page de garde.
Installation :
Pour cela, vous installez comme décrit précédemment le « package PDF Nouvelle Version », puis il suffit de remplacer le fichier lib_pdf_spip.php qui se situe
dans le répertoire : lib/class_pdf
par celui fourni en pièce jointe (dont le titre du zip est PDF simple sans page de garde).
Vous obtiendrez alors un fichier simple sans page de garde, avec un footer (pied de page) où l’on retrouve l’auteur, le nombre de pages, la date de publication et le nom du site.
Vous pourrez facilement modifier la taille et le type de police et les espaces entre chaque balise surtitre, titre sous-titre et texte.
Exemple :
//Titre
$this->SetFont(’helvetica’,’B’,12) ;
$this->WriteHTML($titre) ;
$this->Ln(12) ;
- SetFont permet de définir la police B=Gras 12=Taille (comme d’habitude)
- WriteHTML sert à transformer les balises html en codes interprétables par le PDF
- Ln(12) = Effectue un saut de ligne, et 12 = amplitude du saut de ligne.
Pour plus d’infos, aller sur http://www.fpdf.org
Pour aller plus loin : ajouter des champs extra dans la génération des PDF
Pour ce qui est des champs extras, il faut les déclarer dans le fichier : lib_pdf_spip.php comme ceci :
ligne 137 remplacer : global $texte, $chapo, $ps, $notes ; par : global $texte, $chapo, $extra, $ps, $notes ;
ligne 146 environ, ajoutez en dessous de ce code :
//Texte - justifie $this->SetFont('helvetica','',10) ; $this->WriteHTML($texte) ; $this->Ln(12) ;
le code suivant :
if ($extra) // extra $this->SetFont('helvetica','',10) ; $this->WriteHTML($extra) ; $this->Ln(12) ;
Dans cet exemple, les champs extra apparaitront dans vos pdf sous le texte de l’article et avant le Post-scriptum de l’article.
Vous pouvez donc positionner le code ci-dessous ailleurs, avant le texte de l’article, avant le chapo, après le PS...
et dans article_pdf.html : ligne 11 : insérez en dessous de :
$conf_nom_site = "[(#NOM_SITE_SPIP|pdf_first_clean)]" ;
Les champs extras que vous voulez faire apparaitre, ici un exemple avec 2 champs extra (Mission, Competences) :
$extra = "Missions : "."[(#EXTRA|Mission|pdf_first_clean)]"."
"."Compétences : "."[(#EXTRA|Competences|pdf_first_clean)] ;
Vous ajoutez ainsi autant de champs extra que vous le souhaitez.
Pour plus d’infos sur les champs extra, allez dans la partie privé de spip-contrib.net et faites une recherche sur extra, vous trouverez toute la doc sur les champs extra et leur utilisation.
Voilà, je crois que je n’ai rien oublié, à part vous dire que cette contribution n’est qu’une collecte d’infos glanées sur spip-contrib et ses forums.
Donc je ne suis qu’un assembleur de ce que j’ai trouvé et non le créateur (juste des petits bouts ici et là). Merci à Chag qui a complété cette contrib. en améliorant la gestion des images, des tableaux et en intégrant la dernière version de FPDF.
Intégration des images dans les PDF grâce à la librairie GD
Commençons par rendre à César ce qui appartient à César. Ces modifications sont inspirées de ce commentaire.Cette librairie de manipulation d’images permet d’améliorer la qualité de certaines images intégrées dans les PDF. Les formats de fichiers concernés sont :
- GIF (Graphics Interchange Format). Ce format d’image était soumis à licence. Afin de ne pas risquer de poursuites et pour ne pas payer, la librairie GD ne manipulait plus les fichiers GIF entre sa version 1.6.0 (correspondant à la date à laquelle UNISYS a commencé à vouloir faire payer les utilisateurs) et la version 2.0.28 (date à laquelle son algorithme principal est passé dans le domaine public). L’avantage de la librairie GD est qu’elle manipule très bien les images au format GIF. Pour savoir si vous pouvez l’utiliser, utilisez la commande <?PHP phpinfo(); ?>
dans une page. Vous devriez obtenir plusieurs rubriques dont une qui concerne GD et qui pourrait ressembler à ca :
GD Support | enabled |
GD Version | bundled (2.0.28 compatible) |
FreeType Support | enabled |
FreeType Linkage | with freetype |
GIF Read Support | enabled |
GIF Create Support | enabled |
JPG Support | enabled |
PNG Support | enabled |
WBMP Support | enabled |
XBM Support | enabled |
Il faut au moins que le support des GIF en lecture soit possible pour pouvoir utiliser la librairie GD.
Que ce soit le cas ou pas, notre modification pourra inclure dans le fichier PDF une image au format GIF. Mais elle sera plus belle avec l’utilisation de GD :)
- PNG (Portable Network Graphics) : Quand UNISYS a commencé à vouloir faire payer des licences pour le format GIF, le format PNG a émmergé. La librairie FPDF utilisée pour créer les PDF de cette contribution sait déjà gérer les fichier PNG. Mais pas les PNG avec couche alpha. Pour résumer, la couche Alpha, c’est une méthode de transparence sur les images qui permet d’avoir des parties plus ou moins transparentes. Notre modification dans la librairie permet de gérer les fichiers PNG avec couche Alpha. le fichier sera obligatoirement replacé sur un fond blanc.
Même si vous n’avez pas l’impression/l’intention d’utiliser d’images PNG avec canal alpha, sachez par exemple que, si vous ajoutez un document PDF à un article, son icône est un PNG avec canal Alpha.
Sur l’image suivante, vous pouvez comparer 2 captures d’écran de PDF générés à partir de SPIP. Le premier ne gère pas correctement le canal alpha. Le second, si.
Discussions par date d’activité
32 discussions
Bonjour,
Je réalise des articles avec plusieur onglet (Car c’est pour la réalisation d’un catalogue)
Par contre quand je souhaite générer le PDF tout est dispatcher ; y a t il un moyen pour faire apparaitre chaque onglet sur une nouvelle page ?
Merci d’avance
Répondre à ce message
par exemple "« " est remplacé par "& #171 ;"
Répondre à ce message
Bonjour,
Est-ce que ce plugin est compatible avec FCKEDITOR...?
Merci d’avance
Répondre à ce message
J’ai mon site en utf-8 et les caractères accentués apparaissent ds mon PDF le langage martien (« é » => « é » par exemple). Est-ce qu’il y a moyen de corriger ce petit bug ?
Sinon, ce script est vraiment pratique, merci à l’auteur.
P.S : En utilisant
« $texte = ereg_replace( »Ã©« , »é« , $texte) ; »
dans mes_fonctions.php3 pour chaque caractère mal affiché ca corrige le tir, bien sûr... Et c’est ce que j’ai fais, mais n’y aurait-il pas un moyen plus propre ?
Bon, je m’excuse d’avoir poser une question à laquelle je répond en une 1/2 heure, j’ai posé ma question trop vite, la réponse était simple en fait... Si mon fichier PDF affiche ces caractères martiens, c’est parce que c’est sous cette forme que Spip enregistre mes caractères spéciaux dans ma bdd (rien d’anormal à ça je pense). Donc, pour corriger ce problème, il suffit de mettre la ligne :
« $texte = utf8_decode($texte) ; »
dans les fichier « mes_fonctions.php3 » juste avant « return $texte ; ». De cette façon, ça marche très bien et utf-8 est au rendez-vous... Du moins, autant que le permettent les polices utilisées, mais cela est une autre histoire.
C’est ce que j’ai fait mais ça ne marche qu’à moitié. Mes caractères ’ sont remplacés par des ?
J’ai ajouté une ligne
<HTML>
$trans["’"] = "\’" ;
</HTML>
(j’ai mis & # 146 mais là ça me le convertit, grrrrr !!!)
à mes_fonctions.php3 mais ça ne produit aucun effet.
Au secours !!!
pour ton probleme d’apostrophe, je te conseille d’utiliser la pokice cp1252 à la place de UTF8 en changeant dans mes_fonctions.php :
en plus, il contient le caractère « € »
Répondre à ce message
Suite au passage de notre intranet sous PHP 5, la génération des PDF ne marchait plus s’il y avait des images.
Un petit débuggage m’a permis de corriger le code du fichier gif.php (dans le répertoire /lib/classe_pdf de SPIP) :
- tous les appels de fonction avec initialisation lors de l’appel d’une variable passée en référence ne retourne pas la valeur modifiée (l’appel doit créer une variable anonyme en lui affectant la valeur initialisée, perdant ainsi le lien avec la variables que l’on souhaite référencer).
ex :
if(!$this->m_gih->load($data, $len = 0))
return false ;
ne retourne plus la valeur attendue dans $len (reste à 0), il faut maintenant :
$len = 0 ;
if(!$this->m_gih->load($data, $len))
return false ;
Il y en a plusieurs dans le fichier gif.php .
Répondre à ce message
Bonsoir
J’utilisais la version de génération du PDF sans image avant. J’ai changé la fonction pdf_first_clean du fichier mes_fonctions, supprimé les pdf dans IMG/_article_PDF et remplacé la lib par celle fournie dans le fichier ZIP mais rien n’y fait :
L’image de Form, de type 3 ou De motif est trop grande. Je clique OK, j’ai un rectangle gris en lieu et place de l’image.
Mes images en jpg font environ 440 pixels de large alors, si vous avez des idées je suis preneur.
Salut,
il faut que tu supprimes complètement tes anciens fichiers qui permettaient la génération des pdf et que tu installes ceux fourni dans le zip, plutôt que de faire un mix des 2. Tes images, même si elles sont grandes devraient apparaître.
@+
Bonjour,
Ben non, toujours pas. Le logo s’affiche mais pas les photos dans le texte. Il y a plusieurs illustrations par article. Y a t-il une limite ?
deca
Bonjour,
Ben non, toujours pas. Le logo s’affiche mais pas les photos dans le texte. Il y a plusieurs illustrations par article. Y a t-il une limite ?
Je vois que tes articles sont énormes (40 pages pour certains), essaye avec un article simple avec une image intégrée dans le texte et dis-moi si celle-ci apparait ?
Bonjour,
Sur un petit article (une page, deux photos, une vingtaine de lignes de texte), il n’y a pas d’erreur affichée par Acrobat Reader mais les images n’apparaissent pas et le texte en partie masqué.
Je sèche, à la prochaine marée, je me barre, le thon de ces échanges, aussi clair que du morse, me donne envie de changer d’eau.
Ok alors écoutes, déjà je perds mon temps à essayer de t’aider, tu es le seul qui a un problème pour afficher les images dans le pdf et pourtant, ils sont nombreux à avoir installer cette contrib. sans rencontrer aucun problème.
Pour exemple, voici le dernier extrait de mail reçu suite à une install. de la contrib. :
« Je cherchais à installer le générateur pdf pour spip. Alors je tape sous google : spip contrib pdf, et je tombe sur une page de Paul Sanches qui explique tout. J’essaye et en moins de 5 min c’était installé sur 2 sites.
Alors merci infiniment
Lilian Bacquet »
Si tu veux une solution rapide et fiable, je peux te facturer une journée de consulting à 300 euros (pas cher) et là je m’engage à résoudre ton problème.
Je veux bien t’aider mais je refuse ce type de phrase agressive : « Je sèche, à la prochaine marée, je me barre, le thon de ces échanges, aussi clair que du morse, me donne envie de changer d’eau. »
Donc, si t’es pas content, t’as qu’a effectivement « changer d’eau » et revenir à l’ancienne version.
Bon ce coup de gueule passé, j’ai pris des images de ton site, qui au passage ne sont pas du tout optimisées, et j’ai donc testé avec 5 images d’un poids total de 100 KO environ, aucun problème le pdf est généré proprement.
Donc le problème ne vient ni de la taille ni du poids des images.
Maintenant je te fais une dernière suggestion concernant ton problème, il y a peut-être, je dis bien peut-être un problème de chemin vers tes images, si tu regardes cet article, la puce s’affiche, elle est à la racine du site :
http://www.archeographe.net/charte_redactionnelle_article13.html
Questions :
Est-ce que ton fichier article_pdf.html est bien à la racine de ton site ?
Est-ce que le repertoire _article_pdf a bien les droits à 777 ?
@+
Paul Sanches
Bonjour,
C’était de l’humour en rapport avec l’aspect marin de spip-contrib. Donc je m’excuse pour le thon agressif de cette phrase. Merci aussi pour le travail réalisé même si en définitve, je n’arrive pas à implémenter cette fonction.
J’ai étudié ta propsition : sur un article il indique une erreur : FPDF error : GIF parser : unable to open file http://www.archeographe.net/IMG/art18-2.gif , hors cette image est bien à cet emplacement.
Les droits sont bien en 777 et article_pdf.html est bien à la racine du site. Peut être, le script n’est pas compatible avec la réicriture d’url.
A bientôt.
PS j’aimerais beaucoup te verser 300 euros pour la résolution du problème mais mon site est perso, bénévole et manque donc cruellement de moyens financiers.
Par rapport a l’ erreur FPDF error : GIF parser : unable to open file j’ai eu le meme probleme.
Ca venait du passage a php5. En effet, dans la librairie gif.php il y a un certain nombre d’ appels de fonction avec une initialisation de variable dans l’ appel :
ex :$this->m_img->load($this->m_lpData, $imgLen = 0)
Or, ces fonctions doivent retourner une valeur de ce parametre en sortie (passage par reference).
En php4, il semble que l’ affectation de la variable se fasse AVANT l’ appel de la fonction alors qu’ en php5 elle se fait APRES... conclusion, $imgLen est remise a zero.
Qui plus est, ces affectations dans l’ appel sont inutiles car les fonctions appellees font deja l’ initialisation.
Il suffit donc de supprimer l’ affectation dans l’ appel.
Ca revient a modifier comme suit le fichier gif.php :
Répondre à ce message
les apostrophes ne passent pas :
dans les titres elles sont remplacées par ’
dans les textes elles sont remplacées par un espace
j’ai essayé
<code>$trans[’’’] = "’" ;</code>
et
<code>$trans[’’’] = " ;’" ; ;< ;</code>
ça marche pas
un petit coup de main svp ?
les apostrophes sont remplacées par & # 8217 ;
chez moi les apostrophes sont remplacées par rien du tout, les mots sont collés
Répondre à ce message
Ci dessous une modif du filtre pour le PDF qui convertie l’UTF-8 en ISO-8859-1 pour supporter les accents sous SPIP 1.9 (si UTF-8 est activé, comme dans le cas d’une nouvelle installation), + conversion des retour chariots (\n) en BR pour les « cadre » :
A remplacer/compléter dans mes_fonctions.php.
Salut, cette modife dans mon fichier mes_fontions.php me fait le même effet qu’une autre contrib pour avoir les PDF en UTF-8 c’est à dire que les pages de mon site deviennent toute blanches.
A+
Répondre à ce message
Bonjour,
J’ai un message d’erreur suite à l’installation de cette contrib qui me parait fort efficace. Le fichier pdf est correctement créé au bon endroit, mais le soucis c’est que j’ai un warning sur la page qui s’ouvre et je ne peux voir le fichier pdf. Que faire ?
Message :
Warning : Cannot modify header information - headers already sent by (output started at /var/www/html/etablissements/0601882v/mes_fonctions.php3:15) in /var/www/html/etablissements/0601882v/inc-public.php3(60) : eval()’d code on line 107
Site en question
Merci d’avance
++
Ben
Répondre à ce message
la conversion des .gif par gif.php ne fonctionnant pas bien pour moi (il s’obstine a me dire qu’il ne trouve pas le fichier .gif alors qu’il est bien la...), j’ai parcouru le fichier fpdf.php.
a la ligne 933 :
meme si GD est bien installe,
if ($readgif[3])
n’est jamais verifie, unecho gd_info();
donne dans mon cas :je ne sais pas bien ce que devrait verifier $readgif[3], toujours est-il qu’en supprimant ce test, ca fonctionne...
seb
Répondre à ce message
Ca serait bien d’avoir aussi un squelette rubrique_pdf pour mettre dans un même fichier PDF tous les articles rattachés à une rubrique. C’est compliqué à faire ?
Non c’est pas compliqué mais ça prend du temps, on est en train de s’y pencher (à consulter ici dans les prochaines semaines).
Ce développement pour mettre en pdf une rubrique dans sa totalité n’a finalement jamais été fait ?
Répondre à ce message
Salut,
moi se ne marche pas, j’ai une erreur :
Fatal error : Call to undefined function : gd_info() in /www/sites/1/ifrance.com/d/e/deltadzeta/site/spip/lib/class_pdf/fpdf.php on line 933
Que faire ?
J’ai exactement le même problème sous beespip.
la libraiie GD ne semble pas installée. creez une page nommée ’info.php’ et collez y ce code :
ouvrez ensuite cette page dans votre navigateur et cherchez cette ligne
GD Support enabled
Si elle n’est pas presente ou si vous avez ’disabled’ a la place de ’enabled’, c’est que GD n’est pas installé. Comme c’est cette libririe qui permet de traiter les images des pdf, c’est la raison de votre message d’erreur.
Chag
Répondre à ce message
Bonjour et bravo pour cette contribution,
Cependant, j’ai deux difficultés avec :
- dés qu’il y a des images, ca ne marche pas. Exemple avec cet article qui contient 3 ou 4 JPG : http://ethnographiques.org/article.php3?id_article=121
La génration en PDF me donne l’erreur suivante :
FPDF error : Image file has no extension and no type was specified :
Voilà le lien : http://ethnographiques.org/article_pdf.php3?id_article=121
D’autre part, les textes ne sont absolument pas justifiés et je ne trouve pas comment je peux modifier ça.
Merci ++
Yves
moi aussi j’ai le meme probleme avec mes articles qui ont des images en jpeg (IMG/jpg/image.jpg)
La génération en PDF me donne l’erreur suivante : FPDF error : Image file has no extension and no type was specified :
pour mes artcicles sans images aucun problem..
merci si vous avez la solution...... ;
sic
hello,
Je ne vois pas vraiment de raisons pour lesquelles ca ne marcherait pas. j’ai genere des PDF avec images JPG il y a a peine quelques jours sans aucun probleme. en regardant vite fait, voici un bout de code qui doit generer l’erreur :
grosso modo, cela signifie que si il n’y a pas de . dans le nom du fichier, cela genere une erreur. Assurez vous bien que vos fichiers ont nom du type : ’monimage.jpg’
et pas ’monimage_jpg’ ni ’monimage’
Sam
Répondre à ce message
Bonjour - tout d’abord merci pour cette extension magnifique !
Petite question : quand je génère le pdf, le titre et le soustitre sont identiques. Est-ce un fait connu ?
thx
Répondre à ce message
Merci pour cette contrib qui fonctionne parfaitement.
Par contre je ne saisi pas comment on peut changer l’apparence du resultat comment le presenter autrement.
Merci
Eh bien, il te suffit d’éditer le fichier lib_pdf_global.php : tu peux ajouter d’autres balises (par exemple, h1 et h2), définir les styles correspondants (fonction SetStyle), sauter des lignes (fonction Ln), etc.
Merci ben,
Répondre à ce message
En reprenant les messages ci-dessous, je n’ai pas pu résoudre un problème bizarre :
Lorsque j’essaie d’avoir des liens correctes dans les fichiers PDF produits avec
[$texte= "(#TEXTE|liens_absolus|pdf_first_clean)";]
alors je n’ai de page PDF qui s’affiche (ni ne se crée) s’il y a des puces à l’intérieur du fichier.
Si j’essaie de modifier les puces (puce-gif) par un simple tiret, cela n’empêche pas le problème de se produire.
Est-ce que quelqu’un aurait la solution afin d’avoir des liens valides dans les fichiers PDF produits ?
Sinon, il semble fonctionner à merveille (sauf sous Apinc avec les .gif, mais c’est une autre histoire !)
J’ai même essayé de résoudre le problème des puces en ajoutant
dans mon fichier mes_fonctions.php3 mais rien n’y fait... J’ai toujours la puce de SPIP qui s’affiche alors que cela fonctionnait très bien sur le même site avec SPIP 1.7... Serait-ce un bug de SPIP 1.8.2e ou une incompatibilité entre la $puce et d’autres fonctionnalités (j’utilise la fonction pagination et pdf-firt-clean uniquement dans mes_fonctions et la fonction url propres2 et le repertoire de squelette = biospip dans ecrire/mes_options.php3)
Si quelqu’un à une idée
Répondre à ce message
Bonjour,
Merci pour cette superbe contrib, un bonheur !
J’ai 2 questions à vous poser :
- Comment centrer (et encadrer) la légende en-dessous d’une image, comme sur l’exemple http://www.netdeveloppeur.com/emploi/article.php3?id_article=269 mentionné dans cette contrib ?
- Serait-il possible d’indenter la première ligne d’un paragraphe, pour reprendre un style journalistique ?
Merci d’avance !
Répondre à ce message
Bonjour,
je voudrais utiliser votre contrib, mais j’ai deux problèmes, l’un plus important que l’autre.
1. Comment pourrais-je avoir un texte PDF justifié (important)
2. la transformation en PDF garde l’italique, mais perd le gras des paragraphes d’introduction
Il y a sans doute une solution simple (ajouter une ligne à mes_fonctions.php3 ?), mais je n’y connais pas grand chose
Merci d’avance.
Nicolas
Ah, justifier ou pas, telle est la question... que je me suis posée aussi. D’après mes recherches, c’est un problème plus complexe qu’il n’y paraît. Seul un script (http://www.fpdf.org/fr/script/script23.php) permet de le résoudre, en triturant le code. Mais il est à utiliser avec parcimonie car le temps d’exécution augmente dangereusement. Du coup, je vais me résoudre à abandonner la justification du texte (la performance prime sur la qualité).
En conclusion, il faut tester !
Je confirme après comparaison des deux : WriteHTML est beaucoup plus efficace, en vitesse et en poids de fichier, que WriteTag (http://www.fpdf.org/fr/script/script76.php), mieux vaut donc privilégier ce premier... et abandonner la justification du texte jusqu’à nouvel ordre.
Répondre à ce message
Salut,
superbe script qui marche pas trop mal, je voulais juste savoir s’il etait possible de limiter la taille des images comme je le fait dans les articles.
Et j’ai découvert un bug lors de la creation de tableaux contenant des images, les images sortent en premier puis le tableau est à la suite...
merci pour votre aide
Christophe
http://www.helidoc.com
Répondre à ce message
Le caractère « N° 82 » est traduit sur la page de garde par
Par ailleurs un tableau en 3 colonnes n’est pas correctement généré.
Merci
Concernant le caractère ° il faut ajouter dans mes_fonctions.php3 sous la ligne :
la ligne suivante :
$trans["°"] = "°";
Concernant la justification du texte c’est plus complexe et j’ai pas trop le temps de voir ça pour le moment.
Paul
http://www.netdeveloppeur.com
Heu pardon la justification du texte concerne le message de Nicolas, ci-dessous.
Répondre à ce message
Bonjour,
Merci pour cette version simplissime tant à installer qu’à utiliser.
Je voulais juste signaler deux bugs(?)
http://www.buscasalsa.com/mot.php3?id_mot=88
deviennent dans le pdf deviennenthttp://www.buscasalsa.com/IMG/_article_PDF/mot.php3?id_mot=88
N’étant pas spécialiste ni de php ni de pdf, je ne vois pas comment corriger cela simplement...
@+
Salut,
Concernant le problème des url internes, il suffit, en SPIP 1.8.2, de remplacer dans le fichier article_pdf.html la ligne :
par
En SPIP 1.7, il faut ajouter ce filtre dans mes_fonctions.php3 (c’est donc à faire...)
Concernant ton problème de tableau, utilises-tu les raccourcis typographiques de SPIP ou tu mets du html ?
Paul
En fait ça ne fonctionne plus dès que l’on utilise les puces de spip...
Je vais corriger pour les liens.
Par contre pour les tableaux c’est bizarre car je n’utilise que du code spip, et pas de puces...
C’est le cas pour tous les articles de cette rubrique
En particulier pour cet exemple le tableau est renvoyé page suivante, et la police de caractère est trop petite.
Pour info, voici le code source de la partie texte de cet article :
en tout cas, merci encore pour la contrib, et pour le truc du filtre !
le filtre fonctionne super.
Pour la table, j’ai cur comprendre en regardant le code que les TAG à l’intérieurs des cellules d’une table ne sont pas traités...
Du coup, les saut de paragraphes ou de ligne ne sont pas traité, et l’effet obtenu quand il y a trop de texte dans une cellule est une taille de police de 1.
@+
Répondre à ce message
salut,
j’ai installé le contrib comme d’instructions mais j’ai des problémes avec l’exportation des images gif.
Quelque fois apparait ces messages :
FPDF error : Image file has no extension and no type was specified :
FPDF error : GIF parser : unable to open file http://www.craniosacrale.it/img/sistema/fig1.6.gif
Tu peux m’epliquer la raison ?
Merci,
Francesco
Yop,
toujours avec les memes images ?
il n’y a pas un probleme de droits ?
les fichiers ont bien la bonne extension (gif en l’occurrence) ?
les extensions des fichiers sont elles en minuscule, majuscule, mixte ?
Chag
salut chag,
le dossier _article_PDF a les permissions à 777
le noms sont tous minuscules
j’ai exporté encore les images en .jpg et changé le nom plus simplement (a, b, c...) mais le problème persiste :
FPDF error : Image file has no extension and no type was specified :
Peut-etre qui’il ya un limite au nombre des images dans le document (ma page a 27 images..)
Merçi encore pour ton aide,....
Tu peux nous donner le lien vers un article, pour qu’on puisse tester.
l’url est
http://www.craniosacrale.it/Biodinamica-craniosacrale
(le site est en italkien...cliquez sur » salva in formato pdf)...merci encore..
Répondre à ce message
Ola Anton,
Quelle version de Acrobat ?
Chag
Adobe 6.03. 30
Il y a beaucoup de problemes avec IE et le plugin Acrobat. peux tu essayer avec la derniere version de Acrobat stp ?
Chag
Je voudrai être plus clair
le problème se gère de la manière
1. Clik on article pour obtenir la version PDF
2. Le PDF se gère bien sur une fenêtre que emerge
3. Je ferme cette nouvelle fenêtre e ....
Ploff
4. Le IE demande de se fermer et on ne peux continuer
Pour tant le problème n’existe pas en tant on ne ferme pas la fenêtre nouvelle
Tout solutionné,
Apres avoir installé la version 7.0.3 de Acrobat Reader.
Merci beacoup, Chag
Répondre à ce message
Ola Chag, (je ne suis francophone mais je comprends)
J’ai une problème aprés l’instalation. Le IE (6.02... e DirectX 9.1) Explorer se ferme aprés la production de le PDF (sur la fenêtre de creation de PDF). Avec Firefox tout va bien. Non soulement por moi mais por diferents visiteurs
Parce que IE ait des problemes avec
Archivo : pdf.ocx
Le même success on
http://paul.1formatik.com/emploi/
et
http://www.gaiaservice.fr/rubrique.php3?id_rubrique=5
Aucune solution ? parce que si non on est possible l’utiliser pour mes webs
Répondre à ce message
Bonjour,
Moi j’ai un problème avec les caractères spéciaux, par exemple "« " est remplacé par "« "
De plus j’ai parfois des citations en arabe dans mes articles et elles ne s’affichent pas correctement. Par exemple :
لابد من شكوى إلى ذي مروءة يواسيك أو يسليك أو يتوجع
(qui veut dire : « C’est à un esprit chevaleresque que la plainte doit être adressée, il te réconfortera, te soulagera ou en souffrira »)
s’affiche :
D’(/ EF 4CHI %DI 0J E1H !) JH’3JC #H J3DJC #H J*H,9
Enfin quand je met la référence à une note je la met en exposant entre des balise « sup » comme 1 et dans le PDF elles ne s’affichent pas en exposant.
Voila, je ne sais pas comment corriger ce problème, si vous avez une idée...
par exemple "« " est remplacé par "& #171 ;"
Répondre à ce message
Comme je trouve que la puce image de SPIP est bien moche dans le PDF, et en plus mal alignée sur la marge gauche, je l’ai remplacé par un simple tiret en ajoutant une ligne dans mes_fonctions.php3 à la fonction pdf_first_clean :
Tu as bien fait, il faut que j’améliore aussi cet affichage de puce.
@+
Paul
Répondre à ce message
Je viens d’installer cela sur mon propre site et tout d’abord, merci car cela fonctionne fort bien. Mais, car il y a toujours un mais, je rencontre le problème suivant :
Je me sers de la balise
disponible dans les dernières versions de Spip et pour tous les textes figurant entre ces deux balises, le pdf généré ne contient aucun saut de ligne. Cela est d’autant plus gênant qu’il s’agit de poèmes. J’aiédité le fichier « lib_pdf_spip.php » mais je reconnais etre un peu perdu pour régler ce problème. Quelqu’un a-t-il une idée de la solution ?
D’avance merci.
Oups. La balise en question n’apparait pas dans mon précédent message.
Il s’agit donc de la balise « poesie ».
Oups. La balise en question n’apparait pas dans mon précédent message.
Il s’agit donc de la balise « poesie ».
Répondre à ce message
J’ai essayé le script qui a fonctionné du premier coup :-) Un regret : j’utilise de manière intensive les notes de bas de page, et cette fonctionnalité ne semble pas très bien prise en charge. Comme dans la version HTML, elles sont affichées sous la forme d’un lien, mais ce lien n’affiche pas la note correspondante, il ouvre une nouvelle instance d’Acrobat Reader ou du navigateur (avec erreur 404 page non trouvée). Egalement la gestion des tableaux est un peu brutale quand ils contiennent beaucoup de texte (réduction de la police de caractères pour que le texte de la cellule tienne sur une seule ligne).
Ceci dit globalement c’est un script vraiment très utile, merci de l’avoir mis à disposition.
Salut,
merci pour les commentaires, je m’occupe de ce PB de notes cette semaine.
J’ai regardé le pb de notes, elles s’affichent bien mais le lien est faux, on peut supprimer le lien comme ça plus d’erreur.
Les notes apparaitront normallement mais il n’y aura plus de liens de notes dans le pdf ce qui serait plus logique.
Est-ce que cette soluce te conviendrait ?
Oui ca me semble très bien, ce serait finalement plus lisible si les liens de notes étaient tout simplement désactivés.
Pour pouvoir désactiver les liens des notes dans la génération des pdf, il suffit d’ajouter les 2 lignes ci-dessous dans le fichier mes_fonctions dans la fonction : « pdf_first_clean » :
A ajouter par exemple après la ligne :
J’ai essayé ca marche mais seulement pour la 1re note de bas de page. Les autres sont conservées.
Oui excuse-moi, j’ai répondu un peu précipitement et n’ai pris en compte que la première note de bas de page.
Voici la ligne à ajouter dans mes_fonctions.php3 :
@+
Paul
Répondre à ce message
C super mais il y a quand même un problème. Il ne comprend pas les retrait. En effet, j’utilise zEditor sur mon site SPIP et il met du code HTML. Quand je gènere le PDF, il ne met pas les retraits
Répondre à ce message
J’ai essaye et tres sympa merci.
Mais etrangement je rencontre ce probleme : mes images JPG et GIF passent bien mais pas celles au format PNG (qui me plantent carrement le processus de creation du PDF)
Quelqu’un a-t-il aussi rencontre ce probleme ?
Oui, pareil, j’ai un message « FPDF error : Alpha channel not supported : IMG/rubon0.png ».
Comme j’ai beaucoup d’image en png, ça pose me pose effectivment un problème...
François
On ne lit jamais assez...
Dans la contrib Génération améliorée de fichiers PDF il est dit clairement que le canal alpha des png n’est pas supporté.
Au temps pour moi.
Mais j’ai aussi cette erreur là :
« FPDF error : Interlacing not supported : IMG/rtk.png ».
L’interlacing des png n’est pas supporté non plus ??
François
Regarder la doc ici : http://www.fpdf.org/fr/doc/image.htm pour les formats supportés.
On a ajouté le gif, par rapport à ce qui est dit dans cette doc.
@+
Paul Sanches
Répondre à ce message
Un truc qui serait bien, ce serait de pouvoir récupérer cet article au format PDF..
(la nouvelle mise en page me pose des problèmes pour imprimer....)
François
Répondre à ce message
Cela donne un bon résultat sur SPIP 1.7.2, mais les photos insérées dans l’article d’origine n’apparaissent dans la version PDF
Salut,
Je trouve ça bizarre, cette contrib. a été testée par pas mal de personnes et je n’ai eu aucun retour de ce genre, tu peux voir un exemple ici et tu cliques sur l’icone pdf qui se trouve à droite juste au dessus du titre de l’article :
http://paul.1formatik.com/emploi/article.php3?id_article=269
Envois-moi une adresse pour voir et/ou tes fichiers.
Est-ce que tu inséres tes images dans les articles avec la méthode de SPIP ou utilises-tu un éditeur (type FckEditor, HtmlArea) ?
Je viens de voir le lien vers ton site.
Tu es sur que tu as mis le zip qui est fourni avec cette contrib.?
Parceque j’ai ouvert sur ton site le fichier article_pdf.html, et ce n’est pas le même que celui du zip.
Bonjour,
Pour ce qui est de l’insertion des photos, j’utilise le système de SPIP, donc de ce coté, normalement, pas de problème.
Une petite phrase me fait bondir, c’est lorsque l’ont me dit que ma page article_pdf n’est pas la bonne ! C’est étonnant ! C’est celle que j’ai trouvée dans le lien tout en haut de la page. Voici d’ailleur le début de vottre article = « Cette contribution est largement inspirée de celle-ci : Génération améliorée de fichiers PDF et de celle-ci : Génération de PDF pour SPIP - Drop Zone City » => j’ai cliqué là et j’ai eu mes fichiers !
Je vien d’apporter les modifs en mettant les fichiers des icones de téléchargement du bas de page.
Pour ce qui concerne ma rubrique Jules VERNE, le Logo de Jules VERNE apparait en PDF, mes les photos d’autres articles, toujours pas. Je soupçonne que mon serveur me fait de superbes misères.
Je vais voir à l’occasion si il y a un moyen de résoudre le problème
Francis,
Tu as bien pris le zip en bas à gauche, tu suis les instructions d’install. de la contrib à la lettre et ça devrait fonctionner.
Surtout, effaces avant de faire l’install tes anciens fichiers et vérifie que tu as bien le fichier mes_fonctions.php3 avec le code correct que je fourni aussi dans le zip.
Si malgré tout, ça ne fonctionne pas, faudrai que je puisse jeter un oeil à ton install. si tu es d’accord bien sûr.
@+
C’est ce que j’ai fait ce matin, est c’était la catastrophe ! Des erreurs pleins pot ! Lors de l’affichage d’un article, pris au hasard, le système me mettait une belle erreurs en ce qui concerne le logo de l’article (*.png), mais avec cette subtilité = cette anomalie ne se faisait pas avec tous les articles ! De toute façon, cela vient principalement de ce foutu serveur Wanadoo Premium qui est particulierement mal paramétré par Wanadoo. Un exemple concret = le portail Guppy, qui fonctionne très bien sur FREE, est une véritable catastrophe sur wanadoo premium ! C’est une vrai galère, ce serveur !
C’est pour cela que j’ai désactiver cette option PDF qui est pourtant quelque chose de bien.
Au passage, connait-tu un lien où je pourrait trouvait un squelette pour imprimer un article SPIP ? J’ai veinement cherché, j’ai rien trouvé. Ce serait une option super pratique ! Peut-être ai-je mal cherché ?
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 : |