SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 192 visiteurs en ce moment

Accueil > Rédaction > Imprimer et PDF > Générateur de PDF

Générateur de PDF

25 décembre 2006 – par ericbay – 39 commentaires

4 votes

Attention, cette contribution est EN CHANTIER : elle n’est peut-être pas fonctionnelle.

Présentation du générateur

Ce document article_pdf_1_9, lequel ne fait la génération que pour un seul article à partir d’un icone à placer dans le squelette des articles.

Ce générateur permet de convertir tous vos articles SPIP en fichier PDF (1 article = 1 fichier pdf) et créer aussi un fichier sommaire.pdf (qui correspond au plan SPIP) qui fait le lien avec les articles générés en PDF.

Installation du générateur

Dans le répertoire de votre site spip
-  Créer le dossier article_PDF dans le dossier /IMG/
-  Placez à la racine de votre site le dossier zip joint après l’avoir dézippé (il s’appellera « pdf »)
-  Lancement du générateur, via votre navigateur avec l’url : urlsite/pdf/

Contenu du dossier « pdf »

fichier / sous-dossiertitredescription
index.php sommaire de la génération indique quelques regles nécessaires au fonctionnement de la génération
pdf.php génération automatique des articles et du sommaire contient le script de génération pdf automatique de tous les articles du site SPIP.

Lorsqu’il y a une erreur (du surement à un fichier pdf existant et pas fermé pendant la generation PDF auto), on affiche chaque erreur dans un tableau avec un bouton qui permet de relancer le script dans une autre fenetre (en cliquant sur le bouton) jusqu’à ce que le fichier soit générer car apres le fichier qui pose probleme disparait de la popup et donc on ne peut que la fermer (on peut aussi le faire avant sans avoir générer le fichier)

pdf_man.php génération manuelle d’un article ou du sommaire contient le script de génération manuelle d’un article (utilisé par le fichier ci-dessus s’il y a eu une erreur lors de la génération)
hjlh d’erreur (apres la ligne 1137 : $f=@fopen($name,’wb’) ; )

Notas Spip-contrib

Cette contrib, bien que non testée dans des situations diverses, ni aboutie sous la forme de plugin [1], est quand même proposée comme pouvant intéresser certains. Cependant chaque utilisateur doit la tester avant utilisation sur un site de production. En particulier pour le cas d’usage sur un site important (des centaines d’articles, iconographie riche), alors la taille des fichiers générés, et les temps de calcul sur le serveur, sont à vérifier avant. Merci d’avance de faire vos retours d’utilisation via ce forum.
aherdane

Notes

[1Si certains sont intéressés par ce chantier qu’ils prennent contact avec l’auteur

Dernière modification de cette page le 4 octobre 2011

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 14 septembre 2009 à 17:28, par allhambra En réponse à : Générateur de PDF

    bonjour et merci pour cette contrib.

    Par contre j’ai un soucis a l’installation :

    Warning : Division by zero in/xxx/xxx/xxx/pdf/pdf/lib_pdf_global.php on line 681

    soit :
    do
    $tableFontSize = $tableFontSize *min(1.0,$wrwi/$TableWidth)*0.99 ; // 0.99 pour converger plus vite

    Répondre à ce message

  • Le 16 avril 2007 à 18:16, par ? En réponse à : Générateur de PDF

    Bonjour
    J ai fait 2 install sur 2 serveurs et je rencontre toujours le meme probleme, les images
    ne sont pas generees.
    Voici un extrait du resultat :

    <img1|left> Fondée par le Premier Consul le 28 janvier 1802 à Fontainebleau. ...

    Est ce que j ai rate quelque chose dans la config ?
    Merci
    P. J

    • Le 16 avril 2007 à 18:36, par ericbay En réponse à : Générateur de PDF

      Salut,
      tu n’as rien raté dans la config car je n’ai tout simplement pas géré les images dans la génération des pdf
      plusieurs causes à cela :
      — pas le temps avec le boulot
      — pas nécessaire pour l’utilisation que je devais en faire (j’ai que du texte dans mes articles spip)

      Cordialement,
      Eric

    • Le 16 avril 2007 à 20:52, par ? En réponse à : Générateur de PDF

      Bonsoir
      Dommage pour les images.
      Merci tout de meme ;
      Amicalement
      P. J.

    Répondre à ce message

  • Le 13 avril 2007 à 11:02, par ? En réponse à : Mise en page du PDF

    J aimerai beaucoup changer le modele du PDF proposé.... bref faire ma propre mise en page ... est-ce possible et si oui quel fichier faut-il modifier ?

    Cordialement

    Répondre à ce message

  • Le 12 avril 2007 à 10:59, par ? En réponse à : Générateur de PDF

    Bonjour,

    Est-il posssible de modifier la présentation du pdf et si oui où se trouve la création du modéle ?

    Merci d’avance

    Répondre à ce message

  • Le 27 mars 2007 à 00:38, par lululaglue En réponse à : Générateur de PDF

    Bonsoir, et merci pour cette contrib.
    Malheureusement ça ne marche pas chez moi, enfin plus ou moin.

    En fait, j’utilise beaucoup la balise < c o d e > pour décrire des commandes informatiques, et sur chaques articles où j’utilise cette balise la génération se solde par un echec.
    Par contre sur les articles dépourvus de cette balise ça marche bien :)

    Il y aurait il possibilité soit de faire que ça marche :D soit de supprimer les balices code avant génération du pdf ?
    et encore mieux, supprimer les balises code et utliser une police baton pour le contenu (genre arial ou autre...).

    Merci pour les éventuelles réponses ;)

    • Le 27 mars 2007 à 08:07, par ericbay En réponse à : Générateur de PDF

      Bonjour,
      il est possible de supprimer cette balise et voila comment faire :
      dans la fonction raccourcis($texte) et dans $chercher_raccourcis = array :
      -  ajoute une nouvelle ligne tout au debut qui contiendra :
      /* 0 */                ",[<][c][o][d][e][>](.*)[<][\/][c][o][d][e][>]],Ums",                // balises code

      dans la fonction raccourcis($texte) et dans $remplacer_raccourcis = array :
      -  ajoute une nouvelle ligne tout au debut qui contiendra :
      /* 0 */                 "<div style=\"font-family:Arial, Albertus,Courrier;\">$1</div>",                        /* Suppression des balises code et encadrement par des balises div avec une police spéciale*/

      Remplace Arial, Albertus,Courrier par le nom des polices que tu veux avoir (il en faut au minimum 3 car si le navigateur ne reconnait pas la premiere, il passe à la suite)

    • Le 28 mars 2007 à 01:31, par lululaglue En réponse à : Générateur de PDF

      waouu merci pour cette réponse rapide, je test demain et te tiens au courant ;)

    • Le 28 mars 2007 à 21:55, par lululaglue En réponse à : Générateur de PDF

      bon c’est ok pour la conversion des balises [ code ] mais ça n’a pas résolu mon problème :’(

      Et si j’affiche le resultat de la moulinette avant que se soit converti en pdf, j’ai des problèmes dès le début avec des ancres du style :
      -*[présentation->#presentation]

      Je comprend pas trop :-/

    • Le 29 mars 2007 à 00:29, par ericbay En réponse à : Générateur de PDF

      pour les ancres du style [partie1->#partie2] c’est remplacé par partie1 dans tes articles

      si tu souhaite modifier ce qu’il va te remplacer, il faut :
      -  supprimer dans la fonction raccourcis, les 2 lignes suivantes :
      — /* 33 */        ",\[(.*)\-\>\#(.*)\],Ums",                                                /* lien vers ancre sur l'article lui meme */
      — /* 33 */        "$1",
      (cela te permettra ne ne plus tenir compte des ancres du style [partie1->#partie2])
      -  modifier dans la fonction raccourcis, la ligne suivante :
      — /* 33 */        "$1",
      $1 represente ce que contient partie1 et si tu veut aussi partie2 alors, il faut mettre $2

    • Le 1er avril 2007 à 02:37, par lululaglue En réponse à : Générateur de PDF

      Merci de m’aider eric, mais ça déconné de trop alors je suis passé à une autre solution, que je conseils à tous pour sa simplicité : http://www.htmldoc.org/
      htmldoc est un logiciel (libre) qui converti à la volé n’importe quel document html en pdf, du coup plus de soucis avec les ancres, les tableaux, les balises code puisque le logiciel s’appuie sur le code html et css.
      Et pour la mise en place 4 lignes de php suffisent.

    Répondre à ce message

  • Le 21 mars 2007 à 15:19, par Flo En réponse à : Générateur de PDF

    Bonjour

    Ce générateur est bien. Mais j’ai deux spip sur mon site, un à l’adresse principale et l’autre dans un sous-domaine. et il ne prend pas du tout en compte le sous-domaine alors que je lui précise l’adresse. Il génère systématiquement les pdf des articles du premier spip. Comment pourrais-je faire ?

    • Le 21 mars 2007 à 19:22, par ericbay En réponse à : Générateur de PDF

      Salut,

      Pour le 2e site, il faut faire une copie du dossier pdf qui se trouve à la racine en le renommant en pdf2

      Ensuite, il faut renommer dans tous les fichiers contenus dans le dossier pdf2 en modifiant tous les chemin contenant pdf/

      De plus, tu auras un souci car les articles générés par les sites porteront le meme nom pour tes 2 sites

      Cordialement,
      Eric

    • Le 21 mars 2007 à 21:17, par flo En réponse à : Générateur de PDF

      merci pour ta réponse, mais j’ai installé cette fonctionnalité que pour le sous-domaine en fait... donc normalement pas de parasite. et je me disais que j’avais peut etre oublier de modifier quelque chose. car la seule chose qui beugue c’est la transformation des articles en pdf...

    • Le 22 mars 2007 à 00:51, par ericbay En réponse à : Générateur de PDF

      Salut,

      Ce que tu peux avoir oublié de modifier est le nom des tables, de la base de donnée dans les requetes SQL si elles sont différentes pour tes 2 sites.

      Pour mon fichier zip, mes tables commencent toutes par spip_
      Il faut donc que tu remplaces le nom de chaque table par celui qui correspond à ton 2e site spip pour lequel tu n’arrive pas à générer les articles

      En espérant que cela t’aide,

      Cordialement,
      Eric

    • Le 22 mars 2007 à 13:51, par Flo En réponse à : Générateur de PDF

      Bonjour

      ca marche super merci, j’ai modifié le nom de la table dans chaque fichier. et j’ai testé un peu, le pdf généré correspond à l’article

      seuls petits hics,

      1- mineur j’espère...
      pour chaque article, au moment de la génération de pdf, apparaît cette erreur :

      Warning : in_array() [function.in-array] : Wrong datatype for second argument in /www/sites/1/D/E/depressionauquotidien.com/monblog/pdf/pdf/lib_pdf_global.php on line 122

      2- les caractères spéciaux, lettres avec accents etc n’ont pas l’air d’apparaître correctement...

    • Le 22 mars 2007 à 14:08, par Flo En réponse à : Générateur de PDF

      petite précision, qui pourrait intéresser certains.
      j’ai installé le plugin « fckeditor22-Spip191 » téléchargeable à cette adresse : http://electropol.free.fr/spip/spip.php?article8.

      elle permet une mise en page de l’article plus riche via l’espace privé (cliquer sur « modifier cet article » pour l’utiliser, « modifier cet article avec l’éditeur spip » étant destiné à utiliser la barre d’outil standard). donc, les pdf générés reprennent bien la mise en page effectuée grâce à cette barre de type word.
      attention, lorsqu’on passe d’un mode d’édition à un autre. si on modifie un article avec ce plugin et que l’on passe en mode édition spip simple, il affiche le code html nécessaire à la mise en page. br, font, etc

    • Le 22 mars 2007 à 18:18, par ericbay En réponse à : Générateur de PDF

      Désolé je ne vois pas d’ou peux venir cette erreur

      En ce qui concerne, le 2 il faut verifier que les caracteres spéciaux ne soit pas remplacés par la fonction lettre qui remplace comme son nom l’indique les caractères unicodes en caracteres pas unicode

    • Le 23 mars 2007 à 09:52, par Flo En réponse à : Générateur de PDF

      vu que tu supposais un problème d’interprétation du caractère. et comme moi je connais pas le php, j’ai préféré changer de préfixe dans spip pour qu’il n’y ait plus le 2.

      au départ j’avais modifié les fichiers suivants (modifiés de nouveau du coup) :
      config.inc.php
      ouvre_pdf.php
      pdf.php
      pdf_man.php
      sommaire.php

      mais toujours cette erreur. ai-je oublié de modifier un fichier ?

    • Le 23 mars 2007 à 18:54, par ericbay En réponse à : Générateur de PDF

      Salut Flo,

      Je ne vois pas d’ou peux venir ton erreur
      et non tu n’as pas oublié de modifier d’autres fichiers

      Cordialement,
      Eric

    • Le 23 mars 2007 à 21:21, par Flo En réponse à : Générateur de PDF

      ok, bon je vais laisser comme ca en attendant
      en tout cas merci d’avoir pris le temps de me répondre :)

    Répondre à ce message

  • Le 30 décembre 2006 à 16:54, par claudeD En réponse à : Générateur de PDF

    bonjour,

    j’essaye sur plusieurs sites. Sur 1.9.0 et 1.9.1, j’ai l’erreur :

    Erreur avec URL du site

    Bienvenue

    Vous êtes sur la page de génération de tous vos articles de votre site SPIP en fichier PDF

    Attention

    Vérifier que le dossier article_PDF existe bien dans /IMG/

    Aucun fichier pdf dans ce dossier ne doit etre ouvert...

    puis :

    Génération pdf

    Liste des erreurs dans la génération des fichiers PDF (si vide, alors il n’y a pas d’erreur) :

    Erreur avec URL du site

    Erreur avec les id des rubriques à la racine

    Erreur avec l\’id max ...

    impossible de se connecter

    Sur 1.9.0 j’ai plus courtement comme 3e erreur :

    Génération pdf

    Liste des erreurs dans la génération des fichiers PDF (si vide, alors il n’y a pas d’erreur) :

    Impossible de se connecter

    Sur 1.9.2b3 en local, j’ai :

    Warning : mysql_connect() [function.mysql-connect] : Access denied for user : ’root@localhost’ (Using password : NO) in /Users/delattre/Sites/hortical/pdf/config.inc.php on line 13
    Impossible de se connecter

    j’ai vu que d’autres utilisateurs ou utilisatrices n’ont pas de problèmes.

    Claude

    • Le 12 janvier 2007 à 12:22, par Bigfoot_ En réponse à : Générateur de PDF

      Bonjour j’ai le même problème

      Erreur avec URL du site
      Erreur avec les id des rubriques à la racine
      Erreur avec l\’id max

    • Le 12 janvier 2007 à 18:28, par ericbay En réponse à : Générateur de PDF

      -  probleme1 : Erreur avec URL du site
      vérifie dans le fichier config.ing.php que le nom de la table dans la requete SELECT valeur FROM spip_meta WHERE nom = ’adresse_site’ soit le meme que moi (mon nom de table est spip_meta)

      -  probleme2 : Erreur avec les id des rubriques à la racine
      vérifie dans le fichier sommaire.php que le nom de la table dans la requete SELECT id_rubrique,titre FROM spip_rubriques WHERE id_parent = 0 ORDER BY titre ASC soit le meme que moi (mon nom de table est spip_rubriques)

      -  probleme3 : Erreur avec l\’id max
      vérifie dans le fichier pdf.php que le nom de la table dans la requete SELECT max(id_article) FROM spip_articles soit le meme que moi (mon nom de table est spip_articles)

      Nb : vérifier si vous avez d’autres problemes le nom des tables dans les requetes SQL

    • Le 12 janvier 2007 à 18:32, par ericbay En réponse à : Générateur de PDF

      -  pour ce probleme impossible de se connecter :
      il faut que tu vérifie les parametres de connexions à mysql dans le fichier config.inc.php car tu n’auras pas le meme parametres que moi probablement

      -  pour ces 3 autres problemes (regarde mon autre réponse) :
      — Erreur avec URL du site
      — Erreur avec les id des rubriques à la racine
      — Erreur avec l\’id max ...

    • Le 15 mars 2007 à 18:07, par Magali En réponse à : Générateur de PDF

      Bonjour, après vérification dans les fichiers et si j’ai compris les explications aux problèmes 1-2-3, il semble que tout soit comme il est décrit. Pourtant j’ai moi aussi ces 3 erreurs, que j’ai vérifiées ici :

      // Selection de l’adresse du site SPIP
      $rq = « SELECT valeur FROM spip_meta WHERE nom = http://www.allocarpentras.com » ;
      $ex_rq = mysql_query($rq) ;
      if(!$ex_rq)

      echo « 
      Erreur avec URL du site » ;

      // Cherche les id des rubriques à la racine
      $rq_rub_racine = « SELECT id_rubrique,titre FROM spip_rubriques WHERE id_parent = 0 ORDER BY titre ASC » ;
      $ex_rq_rub_racine = mysql_query($rq_rub_racine) ;

      Zut, je peux pas copier la ligne du 3è fichier vu que sur la page sur lquelle je fais le message, le texte des aides est en « introduction »

      Mais bref, si tout est conforme, on cherche où svp ?

      Merci

    • Le 15 mars 2007 à 18:45, par ? En réponse à : Générateur de PDF

      pour ce morceau la :

      // Selection de l’adresse du site SPIP :

      $rq = « SELECT valeur FROM spip_meta WHERE nom = http://www.allocarpentras.com » ;
      $ex_rq = mysql_query($rq) ;
      if( !$ex_rq) echo "Erreur avec URL du site" ;

      met ceci :

      // Selection de l’adresse du site SPIP :

      $rq = "SELECT valeur FROM spip_meta WHERE nom = 'http://www.allocarpentras.com' " ;
      $ex_rq = mysql_query($rq) ;
      if(!$ex_rq) echo "Erreur avec URL du site" ;

      pour l’autre morceau de code, je ne vois aucun probleme dans le code php pour la requete mysql

    • Le 15 mars 2007 à 21:43, par Magali En réponse à : Générateur de PDF

      A ma 1re tentative j’avais laissé les ’ ’ pour l’url du site , c’est au loupé que j’ai essayé en les enlevant. J’aurais du te le signaler

      Ensuite, pour le 3, là non + il ne semble pas y avaoir de différence avec tes données :
      voilà ma ligne de fichier :

      // Recherche de l’id_article max
      $rq = « SELECT max(id_article) FROM spip_articles » ;
      $ex_rq = mysql_query($rq) ;
      if(!$ex_rq)

      Je n’en n’ai pas un besoin particulier, c’est surtout pour avancer.. :-)
      Si on trouve ça fait avancer les autres aussi.

      merci de la réponse au fait :-)

    Répondre à ce message

  • Le 14 mars 2007 à 23:08, par Domy En réponse à : Générateur de PDF

    Bonjour,

    Est-il possible d’avoir une présentation du texte plus sympa et d’ajouter les images / photos comme dans les versions précédentes des générateurs de pdf ?

    Répondre à ce message

  • Le 14 mars 2007 à 19:54, par REMi En réponse à : Générateur de PDF et form

    je souhaite adapter la contrib pour qu’il récuperre les entrées des formulaires générées par le plugin form&table (sous SPIP 191) et renvoie ainsi le pdf au visiteur en guise de réponse (ou un lien pour le télécharger)

    hors actuellement il n’interprette pas le code de

    l’idée serai de récupérer les infos qui sont envoyées par Email en tant que confirmation

    merci d’avance pour votre attention

    Répondre à ce message

  • Le 7 mars 2007 à 16:14, par sophie En réponse à : Générateur de PDF

    Bonjour

    Je viens d’installer le générateur de pdf et tout fonctionne.
    Mais et il y a toujours un mais comment dois-je faire pour que l’icone pdf apparaissent sur ma page article pour spécifier aux visiteurs qu’il y a la possiblité de l’avoir en pfd.

    Merci pour vos réponses.
    Sophie

    • Le 7 mars 2007 à 20:13, par ericbay En réponse à : Générateur de PDF

      dans le squelette des articles (article.html) tu rajoute dans la balise body :

      <img src="IMG/pdf.jpg" title="Format PDF" alt="Format PDF" onclick="window.open('pdf/ouvre_pdf.php?id=#ID_ARTICLE')">

      dans le dossier pdf (ou il y a tous les fichiers générant les pdf automatiquement), tu crée un fichier ouvre_pdf.php et dedans tu met le code suivant :

      <?php
      include_once 'pdf/fpdf.php';
      header('Location: pdf_man.php?id='.$_GET["id"]);
      header("location: http://localhost/spip/IMG/article_PDF/article_".$_GET["id"].".pdf" );
      ?>

      Remplace http://localhost/spip/ par l’adresse de ton site spip
      pdf.jpg correspond à l’icone pdf

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Les crayons

    23 avril 2008 – 814 commentaires

    Ce plugin permet d’éditer les contenus sur les pages publiques du site, sans passer par l’espace privé de SPIP.

  • LESS pour SPIP : Less-CSS (anciennement LESSpip)

    5 novembre 2010 – 43 commentaires

    Less-CSS (Anciennement LESSpip) est un plugin intégrant facilement le logiciel LESS dans SPIP. LESS est une extension de CSS ajoutant les variables, les classes, les opérations, les imbrications au langage. Facilitant ainsi l’écriture de (...)

  • Recommander

    3 avril 2011 – 16 commentaires

    Ce plugin propose une manière simple de suggérer de recommander par email un article à un ami. Fonction « recommander un article à un ami ». On l’ajoute dans n’importe quel squelette sous la forme : #RECOMMANDERtitre de la page,url de la page,intro (...)

  • Critère {mots}

    6 août 2009 – 315 commentaires

    Permettre de sélectionner facilement des objets SPIP ayant un ou des mots clefs en communs.

  • SPMC : Squelette par mot clé V2.0

    21 septembre 2009 – 45 commentaires

    Ce plugin prend la suite de squelette par mot clef V1.92 qui ne fonctionnait plus sous SPIP 2.0.x. Avec l’accord de Mortimer qui n’a plus le temps de le maintenir, je prend donc la suite. Présentation du plugin « Squelette par mot clé V2.0 » Le (...)

Ça spipe par là