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

  • 1

    Salut,
    un soucis depuis la mise a jour du 28 avr. 2016
    Avec paquet.xml , les balises options et fonctions disparaissent, comme indiqué dans cet article -> http://plugins.spip.net/redaction-du-paquet-xml.html

    Il faut donc renommer
    article_pdf_mes_options.php en article_pdf_options.php
    et
    article_pdf_mes_fonctions.php en article_pdf_fonctions.php

    et tout remarche

    • merci pour le signalement.

      c’est corrigé avec la version 0.4.9 qui devrait sortir d’ici une heure.

    Répondre à ce message

  • 1

    bonjour
    un problème apparu depuis (...? la dernière version ?)

    lors de la génération du pdf pour un article.. erreur

    Fatal error: Class 'FPDF' not found in /home/venissie/web/spipr/plugins/auto/article_pdf_2_0/pdf/lib_pdf_global.php on line 13 

    le plugin FPDF est bien installé...

    j’ai désisnstallé réinstallé... rien n’y fait....

    merci d’avance d’une piste..

    pam

    • je précise que la librairie fpdf est bien installée dans /web/spipr/lib/h5c1accba-fpdf17
      et que la classe FPDF est bien définie dans fpdf.php...

      dans un autre test, après réinstallation de articlepdf et fpdf, j’obtiens...

      Filtre pdf_first_clean non défini	plugins/auto/article_pdf_2_0/article_pdf.html	_rubrique_mere	

      ...

      et ce sur tous mes sites mutualisés...

      pam

    Répondre à ce message

  • JoeBenett

    Salut à tous !

    J’aurais besoin d’un coup de main de la part de la communauté voire des devs s’ils sont dispos.

    En effet, j’ai personnalisé mon PDF quasiment de A à Z pour qu’il corresponde à mes besoins, FPDF est pour moi un outil formidable qui permet vraiment tout. Cependant un dernier point reste assez prenant à gérer.

    Pour avoir une mise en page identique à ma page WEB (c’est pas un print de la page web, c’est bien la génération d’un PDF) je créé un tableau pour mettre du texte dans une cellule et une illustration dans l’autre côte-à-côtes. Seulement voilà, le tableau fait 40px de large, 1200px de haut et se retrouve centré, l’image se retrouve quant à elle à l’extérieur de ce dernier (alors qu’elle se situe correctement dans le TD)

    Question donc, y a t’il une mise à jour de prévue prochainement corrigeant ce point ou pas du tout ? Est-ce que d’autres personnes rencontrent ce même problème (version SPIP 3.0.21) ?

    J’ai essayé SpiPDF (pour tenter de comprendre ce qui ne va pas) qui lui prend d’emblée en charge à minima le tableau, mais s’il est possible d’éviter 3 jours de « mise en page » c’est peut être plus simple de rester avec FPDF que j’ai plus ou moins dompté (en tout cas pour mes besoins) et dont il n’y a plus que ce fameux tableau qui pose problème...

    Merci de vos retours, je reste à dispo, au plaisir !

    Répondre à ce message

  • 3

    Bonjour,

    récapitulons :
    1/ installation du plugin et de la librairie FPDF dans le répertoire /lib/h5c1accba-fpdf17
    2/ dossier article_pdf dans le dossier IMG
    3/ ajout de la balise #ARTICLE_PDFid_article dans la page ad hoc

    sur un squelette basé sur la dist.

    L’icône est là sans problème, on peut cliquer dessus. Mais j’ai une erreur 404 :

    Erreur 404
    Ce document n’est pas disponible

    Pourtant il trouve bien l’adresse du dossier et celle de la page-document qui est dans le dossier. Que faire ? Merci.

    • Meme problème (découvert sur une 3.1.0-alpha [21997])
      avec accès restreint, si l’accès aux documents est protégé !

      Ce qui est gênant, c’est que l’accès au document dans /Article_PDF/ reste interdit, meme si l’utilisateur a bien le droit d’accéder à l’article !

    • -  interdit car le sous-répertoire IMG/article_PDF/ n’est pas une extension reconnue dans
      /ecrire/inc/acces.php[342-343]

      • le cas est déja traité pour la pseudo-extension « distant » ;
      • avoir une option/macro pour rajouter d’autres extensions ?
    • [Resolu] Mais !

      Y’a une solution de contournement, simple à mettre en oeuvre, quoique....

      Accès Restreint se basant sur les sous-répertoires prévus pour IMG pour ecrire ses .htacces de protection des documents joints, il « suffit » de rajouter un type de document fictif d’extension article_PDF [1].

      Sauf que : la définition du champ extension dans la table spip_DOCUMENTS est un varchar 10 ; si vous savez compter le nombre de lettres du sous-dossier utilisé......
      Bon, un tour d’Adminer et le tour était joué, mais c’est pas top !?!

      Ma suggestion
      (car il n’est pas question de refaire cette modification de structure BDD SPIP) :
      -  renommer le sous-dossier fictif d’écriture en ’articlePDF’
      (et prévoir un simple 'mv #URL_SITE_SPIP/IMG/article_PDF #URL_SITE_SPIP/IMG/articlePDF' dans la montée de version subséquente du plugin)..

      Gogogo ??

    Répondre à ce message

  • bonjour

    un pb avec les URL https...

    je buttai sur un lien erroné détecté par le robot google dans un pdf généré par article_pdf...

    le lien était correct dans la page spip

     <h1 class="intitule"><a href=https://socio13.wordpress.com></a>Changement de société | Qui a le goût de l&#8217;absolu renonce par là au bonheur</a></h1>

    mais dans le pdf généré, cette URL est transformé en ajoutant le domaine du site spip...
    http://lepcf.fr/https://socio13.wordpress.com qui bien sûr n’existe pas...

    en fait, c’est le httpS qui pose problème...
    dans ce cas, il était d’ailleurs inutile, mais c’est bon à savoir, et je ne sais pas trop pourquoi... je suppose que le convertisseur ne considère pas https comme un protocole web et donc qu’il préfixe avec le HOST en cours...

    merci et bon courage pour faire maintenir ce plugin utile...

    pam

    Répondre à ce message

  • 1
    Thierry

    Ce plugin semble ne pas fonctionner avec Sarka Spip !
    Est-ce que quelqu’un aurait la solution ?
    Merci
    TL

    • meme probleme avec sarkaspipr (version 4)

      regardant le modele squelettes/modeles/mod_bouton_pdf.html
      je m’apercois qu’il n’y a rien à afficher dans le lien qui renvoie au squelette article_pdf...

      <a class="fonction" id="creer_pdf" href="#URL_PAGE{article_pdf,id_article=#ENV{id_article}}" title="<:articlepdf:enregistrer_pdf:>"></a>

      en ajoutant simplement « pdf » ca fonctionne

      <a class="fonction" id="creer_pdf" href="#URL_PAGE{article_pdf,id_article=#ENV{id_article}}" title="<:articlepdf:enregistrer_pdf:>">pdf</a>

      bon, le mieux serait d’avoir le logo...

    Répondre à ce message

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

    comment je procède pour la conversion préalable ?
    j’ai ces caractères dans mon PDF
    (versée à l’occasion de la fête)
    mon header c’est <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    Répondre à ce message

  • 2

    Bonjour,

    J’utilise la version 0.4.5 de votre plugin avec le squelette Escal et j’ai un problème de positionnement des images que j’insère via la balise <docXX|center>. Lors de la génération du pdf, les images sont toutes décalées vers la droite et précédées de la balise <a href.... > dont je ne veux pas.
    Avec les balises « img » et « emb », je n’ai pas de problème mais seulement si j’utilise l’attribut « center », avec « left » et « right », le positionnement n’est pas bon et je me retrouve à nouveau avec des balises html dans le pdf.
    Je vous joins une capture d’écran du problème.

    Merci d’avance pour votre aide.

    • Bonjour,

      Je rencontre le même souci :( Avez vous trouvé où agir ? peut être directement dans la bibliothèque FPDF.

      Merci !

    • Uyen-To

      Finalement, ne réussissant pas à régler mon problème avec ce plugin, je me suis tournée vers le plugin SpiPDF qui répond bien à mes besoins.

    Répondre à ce message

  • Il y a-t-il quelqu’un de sympa pour m’indiquer comment et où intègrer la balise
    #article id=article dans la squelette « article » pour la génération de l’article en PDF

    SPIP 3.0.16 [21166] et le plugin article PDF 0.4.5

    j’utilise le squelette « article » fourni et donc standard- (sans modif)

    Nota : l’installation de ce plugin s’est bon déroulé.

    Merci à celui ou à celle qui me donnera quelque conseil. D’avance merci

    jcm

    Répondre à ce message

  • Bonjour,

    J’ai besoin d’imprimer au format pdf des pages qui ne sont pas des articles, mais des pages uniques, souvent issues de boucles Spip.
    Évidemment dans ce cas le plugin ne trouve pas d’article (id_article).

    Comment résoudre ce problème ?

    Merci

    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