[spip-dev] [Pré-annonce] Génération de PDF

Bonsoir à tous,

c'est la dernière ligne droite pour la nouvelle génération de PDF à partir d'un article SPIP.

Merci à tous ceux qui veulent tester la chose de lire l'article numéro 75 (http://www.uzine.net/spip_contrib/ecrire/articles.php3?id_article=75), puis d'installer la chose chez eux.

Les messages dans les forums peuvent aussi vous filer un coup de main, et mon adresse mél est ouverte à vos questions.

Pré-requis :
- PHP4 (certaines fonctions le nécessitent)
- extension PHP-GD pour les formats de fichier image qui seront à intégrer dans les PDF (attention, le GIF peut poser problème à cet endroit en fonction de votre hébergeur|EasyPHP|distro Linux|./configure)
- extension PHP-zlib _optionnelle_ pour compresser le contenu des fichiers PDF.

Les nouveautés :
- traitement des images GIF (attention, c'est fait en pur PHP par la classe de Yamasoft, donc ça rame, ça reste du PHP...) ;
- traitement des marqueurs <code> et <cadre> (pratique pour de la doc technique) ;
- traitement correct des listes à puces qq soit le niveau de sous-liste (-, -*, -**, -#, -##, etc.) avec numérotation le cas échéant ;
- traitement correct (et à la charge graphique de mon employeur :wink: des tableaux ;
- nettoyage avancé des entités HTML dans le squelette ;
- traitement des images en fonction de leur taille (en gros, les puces et les autres, évitez d'avoir une puce de plus de 30px de H ou L).

J'ai besoin de rapports de bugs circonstanciés (si possible avec le contenu de l'article et les images pour reproduire le bug) voire des correctifs (je peux m'en charger, mais si vous avez, et en plus au format diff, je prends) sur :
- la gestion des images de toute taille dans une page (saut de page sur grande image, décalages observés) ;
- la vérification de l'intégrité du contenu du PDF quant à l'article SPIP original, à cause du transcodage des entités HTML ;
- la gestion des liens PDF qui changent en fonction du lieu de stockage sur le serveur des PDF (liens relatifs et pas absolus, utiliser $PHP_SELF - ou $_SERVER['PHP_SELF'] ? je sais pas, pas eu le temps, ni le besoin, de regarder)
- si vous avez une idée sur les petits bugs d'affichage, comme les décalages dès qu'il y a une puce, je suis preneur.

Pour lire tout ça, l'article n'étant pas encore publié, il faut s'enregistrer comme auteur sur SPIP-contrib (ou SPIP_contrib ?), bref, là : http://www.uzine.net/spip_contrib/. Mais ça, vous savez faire, je pense :wink:

Bon courage,

Jérôme

Bonjour,

J'ai essayé tout cela, et ça fonctionne plutôt bien. Par rapport à la version que j'avais testée en juin, ça c'est beaucoup amélioré. Bravo!

J'ai eu un problème avec le fichier pdf-dist.png qui contenait un canal alpha (je n'ai pas la moindre idée de ce que c'est). Je l'ai résolu en ouvrant ce fichier avec IrfanView et en le sauvegardant en png, ce qui l'a fait un tout petit peu maigrir, et surtout il est maintenant accepté.

Comme l'article sur SPIP-Contrib le dit, il y a un problème avec les liens internes qui se réduisent à #pb1 pour pointer vers la première note de bas de page, et #ph1 pour la note elle-même. Il manque l'url de l'article avant ces liens.

J'ai aussi constaté que dans la date de l'article, sur la première page du PDF engendré, une entité HTML comme &eacute; n'est pas traduite, ce qui donne le mois de f&eacute;vrier!

Je regrette que le texte des articles ne soit pas justifié, mais dans le site original, cela est fait avec la feuille de style...

Sinon, des articles qui contiennent pas mal d'images jpeg (qui sont plutôt grandes) passent bien après traitement en pdf.

Encore bravo.

Yves Grenier

Jérôme Fenal wrote: