Article PDF

Présentation d’un plugin fournissant une version PDF de l’article en cours

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}.

Format PDF

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 :


-  Paul Sanches
-  Aquinatus
-  Cédric Morin

Ajouts

Cette documentation est sommaire et pourrait être enrichie.

Discussion

184 discussions

  • Olivier G

    Bonjour

    je viens de tester le plugin mais j’ai un problème car mes urls sont réécrites et donc le lien générer est sous la forme :

    http://monsite.fr/actualite/alaune/spip.php?page=article_pdf&id_article=6150

    où /actualite/alaune/ est de la réécriture donc fatalement j’ai une erreur 404

    j’ai essayé en changeant « #URL_PAGE » par « #URL_PROPRE » dans le fichier /modeles/article_pdf.html mais ça marche pas ?

    Une solution ?

    est-ce que je n’ai pas intérêt à traiter ça en htaccess, ca m’évitera de toucher au code du plugin ?

    Répondre à ce message

  • Bonjour,

    Y a-t-il moyen d’inclure dans le PDF autre chose que ce qu’il y a dans la base de données ?

    Je m’explique : dans mon squelette article.html, je fais un include qui traite les mots-clefs. En fonction du mot-clef de l’article, j’affiche un certain texte (généré par du php). J’aimerais reporter ce mécanisme d’include dans la construction du PDF.

    Dans article.html j’ai :

    					<INCLURE{fond=traite-mots-clefs}{id_article=#ID_ARTICLE}>

    Le fichier traite-mots-clefs.html fait un traitement sur les mots-clefs associés à l’article.

    J’ai essayé

    $page = assembler_page('traite-mots-clefs');
    $texte .= $page ['texte'];

    Je vois le code de ma page, mais elle n’est pas interprétée comme du php. Le code php n’est pas exécuté.

    J’aimerais récupérer ce qui est généré par

    <INCLURE{fond=traite-mots-clefs}{id_article=#ID_ARTICLE}>

    et le passer à la variable $texte.

    As-tu une idée ?

    Merci,

    Bernard.

    Répondre à ce message

  • 1

    Bonjour,

    existe_t_il un moyen de lier un formulaire à un PDF modèle en remplissant des champs préétablis et ce directement en ligne ?

    Merci par Avance

    Répondre à ce message

  • 1
    Jacques Ferran

    Bonjour

    Je tente depuis une semaine de faire fonctionner le plugin article PDF et ce sans résultat autre que :

    Fatal error : Call to undefined function : setcopyright() in /home/villages/public_html/ecrire/public.php(173) : eval()’d code on line 127

    je suis sous alternative. Y a-t-il une solution ?
    (j’ai parcouru le forum et n’ai rien trouvé de probant, bien sûr ! :D)

    • J’ai eu un problème similaire : le plugin ne trouvait pas le bon fichier lib_pdf_spip (une ancienne installation directement dans le squelette). Pour l’obliger à prendre le bon, j’ai modifié dans article_pdf.html la ligne :
        include_spip(’/pdf/lib_pdf_spip’) ;
      en
        include_spip(_DIR_PLUGIN_ARTICLE_PDF.’/pdf/lib_pdf_spip’) ;

    Répondre à ce message

  • Excusez mon français, il a été traduit par ordinateur.

    D’abord, merci de ceci plugin. Deuxièmement, il y a quelques anomalies avec montrer le logo du site en utilisant article_pdf_1_9.zip.

    Sur la ligne 28 du fichier article_pdf.html « texte_script » devrait venir avant « extraire_attributsrc ». Autrement PDF::Image() obtient le HTML au lieu du nom de fichier.

    La ligne 78 du fichier lib_pdf_spip.php suppose que le logo du site est 20px * 20px (même si il n’est pas). Elle se comporte correctement quand vous effacez les nombres.

    Après fabrication de ces changements, il affiche le logo de site correctement.

    Merci, Thomas.

    Répondre à ce message

  • Bonjour,
    merci pour ce plug-in qui correspond à ce que je cherche.

    J’ai cependant un léger problème. Je cherche à proposer à mes visiteurs une version pdf des articles mais, comme une partie du texte est en japonais, il semble que ça ne marche pas (c’est d’ailleurs précisé dans les limites du plug-in concernant l’UTF8).

    http://gambatte.free.fr/spip.php?article74

    Y-a-til d’autres plug-in que je pourrais utiliser ?

    Merci par avance

    Répondre à ce message

  • Bonjour,

    Merci pour ce plugin. J’ai cependant un petit soucis d’affichage des images, surtout celles centrées qui sont parfois coupées au bord du document pdf.

    Une piste ? Merci d’avance.

    Eric

    Répondre à ce message

  • 1

    Merci pour ce plugin

    Je suis sur Free, j’ai bien mes images en gb2..
    mais quand j’essaie de faire un pdf

    j’obtiens

    FPDF error : Unsupported image type : php ?action=dw2_out&id=92

    Quand il n’y a pas d’image cela fonctionne

    Voir sur Site de construction

    Répondre à ce message

  • 1

    Bonjour,

    Ce plugin ne semble pas compatible avec le plugin form et table. En effet lorsque souhaite afficher un questionnaire le pdf affiche :

     <form method='post' action='spip.php?page=article_pdf&id_article=7#form2' enctype='multipart/form-data'>
    IDENTIFICATION
    NOM [Obligatoire] : <input type="texte" name='ligne_1' id='input-2-ligne_1' value="" class=' ligne forml'
    size='40' />
    Prénom [Obligatoire] : <input type="texte" name='ligne_2' id='input-2-ligne_2' value="" class=' ligne forml'
    size='40' />
    DATE DE NAISSANCE [Obligatoire] : ? <input type="texte" name='date_1' id='input-2-date_1' value=""
    class='date-picker date forml' size='40' />
    LIEU DE NAISSANCE [Obligatoire] : <input type="texte" name='ligne_3' id='input-2-ligne_3' value="" class='
    ligne forml' size='40' />
    Veuillez laisser ce champ vide :
    <!-- $('input.formo').bind('focus',function(){$(this).removeClass('formo').addClass('formo-focus');});
    $('input.formo').bind('blur',function(){$(this).removeClass('formo-focus').addClass('formo');});
    $('input.forml').bind('focus',function(){$(this).removeClass('forml').addClass('forml-focus');});
    $('input.forml').bind('blur',function(){$(this).removeClass('forml-focus').addClass('forml');});
    $.datePicker.setDateFormat('dmy','/'); $.datePicker.setLanguageStrings( ['dimanche', 'lundi', 'mardi', 'mercredi',
    'jeudi', 'vendredi', 'samedi'], ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre',
    'novembre', 'décembre'], {p:'précédent', n:'suivant', c:'X'} ); $('input.date-picker').datePicker({startDate:'01/01/1900'});
    //--

    Un petit coup de paluche serait la bienvenue.

    • Les réponses des auteurs du plugin form et table restent aussi invisible.

    Répondre à ce message

  • jean-michel

    j’ai inséré le texte

    #ARTICLE_PDF{id_article}

    dans le fichier www/dist/article.html et je reçois systématiquement une erreur lorsque je recalcule une page .

    La seule chose qui s’affiche est le message suivant :

    Fatal error : Call to undefined function : balise_modele_dist() in article_pdf_mes_options.php on line 30

    J’ai fait différents tests dans plusieures rubriques du fichier : j’ai toujours la même erreur.

    Une idée sur l’origine du problème ?

    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