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

183 discussions

  • Bonsoir
    Je suis sous SPIP 4.2.6, squelette ALPHA html5UP 2.1.0, PHP 8.1.24 et hébergeur LIKUID (www. svtbelrose.info). Je ne connais pas du tout le principe des boucles. J’ai bien installé le plugin article PDF 1.0.17 mais je suis incapable de finaliser la procédure car je ne sais pas du tout comment ajouter des balises, sous quelle forme, et dans quels fichiers.
    D’avance merci pour votre aide
    Cordialement
    Odile

    Répondre à ce message

  • 2

    Bonjour,
    Suite aux mises à jour, les pdf générés n’incluent plus les images de l’article mais un lien vers celles-ci. Comment revenir au fonctionnement incluant les images ?
    Ma config :
    PHP 7.0.33-0ubuntu0.16.04.15
    MySQL : 5.7.31-0ubuntu0.16.04.1
    SPIP 3.2.11 + écran de sécurité 1.4.1
    Article PDF 1.0.14
    FPDF 2.0.2
    Par avance merci de votre aide,
    Cordialement.

    Visible ici : https://www.geneacaux.fr/spip/

    • christelle

      Bonjour,
      j’ai le même souci que toi, as-tu résolu ton problème ?
      Merci par avance

    • Bonjour,
      Le problème me semblait résolu puis à nouveau HS :
      SPIP 4.1.12
      Article PDF 1.0.17
      FPDF installé comme suit :
      /spip/lib/h5c1accba-fpdf17/v3.0.2
      J’avoue que le plugin fpdf déplacé me déconcerte mais je ne sais plus que faire.

    Répondre à ce message

  • Bonjour
    Avec Spip 4.2.5, PHP 8.2

    Si un article est affecté d’un logo aux formats webp ou svg, la génération du fichier pdf plante.
    Quand je modifie le fichier « article_pdf.html » en commentant les lignes 29 et 30, le fichier pdf est bien généré.
    Il n’y a alors plus le logo de l’article.
    Le mieux serait d’exclure du processus les logos webp ou svg, mais là, je ne saurai pas faire...

    Répondre à ce message

  • 1

    Bonjour
    Depuis mon passage de la version 3 à la version 4.1.5 de SPIP le plugin Article_PDF mis à jour en version 1.0.16 provoque des conversions article en PDF erratiques. Pour certains articles ça marche, pour d’autres j’obtiens un page blanche !!!
    version PHP 7.4 version MySQL 5.5 version Sarka-SPIP 4.0.1
    Quelqu’un a-t-il une idée du problème ?

    • J’ai le sentiment que lorsque l’on obtiens une page blanche c’est que l’article est trop long. N’y a-t-il pas une limitation de taille ?

    Répondre à ce message

  • 4

    Ce plugin est très bien car il offre la possibilité de présenter un pdf avec un meilleur design que ce qui peut être présenté sur la page web.
    1) Il a quelques problèmes tels qu’il ne présente pas les sous-titres, le graphique des sections ou la description. Pour cela, j’ai apporté quelques corrections qui, à mon goût, ont amélioré ce plugin. Je peux le partager avec qui le veut, ou il pourrait être inclus dans la prochaine version.
    2) Je suggère que ce plugin soit développé avec des options dans lesquelles l’utilisateur peut concevoir ce pdf avec : marges, polices (bien que cela doive provenir de l’analyse CSS), couleur, orientation de la page, taille de l’image, etc. L’utilisateur doit également choisir de faire des pdf de tous les articles ou seulement celui qui est choisi.

    Este plugin es muy bueno porque brinda la oportunidad de presentar un pdf con un mejor diseño del que se puede presentar en el pagina web.
    1) tiene algunos problemas como que no presenta los subtitulos, el grafico de las secciones, ni la descripción. Para ello he realizado algunas correcciones que, a mi gusto, han mejorado este plugin. Lo puedo compartir con quien lo desee, o se podrían incluir en la siguiente version.
    2) Sugiero que se desarrolle este plugin con opciones en las que el usuario pueda diseñar este pdf con : margenes, tipos de letra (aunque esto debería vernir del analisis de las CSS), color, orientación de la página, tamaño de la imagen, etc. También el usuario debería elegir si se hacen pdfs de todos los artículos o solo de aquel que se elija.

    • Toute amélioration est certainement bienvenue, et sur le long terme ça te permettra aussi de bénéficier des futures mises à jours du plugin.

      Le code est là : https://git.spip.net/spip-contrib-extensions/article_pdf.git
      Si ce n’est déjà fait, inscris toi via git.spip.net via https://contrib.spip.net/spip.php?page=identifiants&focus=nom_inscription&mode=1comite&lang=fr
      Tu peux lire FAQ pratique : Comment SPIPer avec git.spip.net aussi.

      Comme tu as fait plusieurs modifications, et comme ce plugin est utilisé par de nombreux site, il faut veiller à la compatibilité et à ne pas casser l’existant. Il sera donc peut être préférable que tu proposes les modifications fonctionnalités par fonctionnalités, en faisant un ticket et une PR à chaque fois.

      Si tu as des interrogations, tu peux passer sur irc il y a souvent quelqu’un pour répondre, en semaine surtout.

    • Merci
      je vais le faire dans les prochains jours

    • OK

      Pour info voici quelques précisions sur le vocabulaire SPIP, pour tes logs de commits ou présentation des PR :
      -  « sections » n’est pas un terme SPIP. je suppose que tu parles en fait de « rubriques » (par oppositions aux articles contenus dans ces rubriques)
      -  quand tu parles de « graphique des sections », je suppose qu’il s’agit de ce que SPIP appelle les « logos » des rubrique ? Car il y a aussi les simples documents images qui peuvent leur être associés.

    • J’ai fait un petit changement. j’espère que j’ai bien fait
      git.spip.net/spip-contrib-extensions/article_pdf/issues/1

    Répondre à ce message

  • 1

    Bonsoir
    Avec Spip 4.0.8, PHP 7.4, et Article_PDF 1.0.14 ou 1.0.16
    Depuis longtemps, j’observe un comportement « erratique » du plugin Article PDF.
    Sur certains articles, ça fonctionne parfaitement, sur d’autres :
    - si je suis logué je vois une page d’erreur ;
    - pour le visiteur lambda, c’est une page blanche.

    Aujourd’hui, je pense avoir compris (?) que les pages d’erreur que je rencontre sont dues au logo de l’article.
    La première ligne de la page d’erreur indique :
    « L271 : FPDF error : Interlacing not supported : IMG/logo/arton1460.png »

    Merci d’avance pour une piste de réponse.

    Par ailleurs, la page d’erreur qui s’affiche est illisible (voir l’image jointe), il faut que j’abaisse le zoom du navigateur à 30% pour pouvoir sélectionner, copier le contenu et le coller dans un traitement de texte pour le lire... Mais c’est un autre pb.

    • Quelques précisions :
      L’erreur « interlacing not supported » concerne les logos png « entrelacés » et les images png « entrelacées » affichées dans l’article.

      • Par ailleurs, pour les images .svg affichées dans l’article avec la balise <emb> l’export pdf réalisé par Article_PDF affiche le code du fichier svg.
        Exemple :
        <rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
        rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF><sodipodi:namedview
        pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10"
        guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1920"
        inkscape:window-height="1051" id="namedview1762" showgrid="false" units="px"...
      • Les images .svg affichées avec la balise <doc> ne s’affichent pas dans le fichier pdf.

    Répondre à ce message

  • 1
    Benoît Labourdette

    Avez-vous réussi à le faire fonctionner avec SPIP 4.1 et PHP 8.1 ? Chez moi, cela renvoie une erreur : Erreur d’exécution plugins/auto/article_pdf/v1.0.14/article_pdf.html

    • Benoît Labourdette

      Pour préciser, voici le message d’erreur :

      1 	Filtre ipt non défini	plugins/auto/article_pdf/v1.0.14/article_pdf.html	_principale	13
      
      
      2 	Erreur d’exécution plugins/auto/article_pdf/v1.0.14/article_pdf.html | File […]/plugins/auto/article_pdf/v1.0.14/article_pdf_fonctions.php Line 117 : Undefined constant "_URLS_PROPRES_MAX"	   /  	   / 

    Répondre à ce message

  • 4

    Bonjour,
    Avec Spip 4.0.4, Article PDF 1.0.13, et PHP 7.4.25
    La librairie « h5c1accba-fpdf181 » est bien installée dans « lib ».

    Le clic sur l’icône de génération de PDF envoie une page vide dont le warning est :

    Fatal error: Uncaught Error: Call to undefined function lire_meta() in /Mon site/plugins/auto/article_pdf-c0647-v1.0.13/pdf/lib_pdf_global.php:199 Stack trace: #0 /Mon site/plugins/auto/article_pdf-c0647-v1.0.13/pdf/lib_pdf_spip.php(180): PDF->WriteHTML('<p><div class="...', 5) #1 /Mon site/plugins/auto/article_pdf-c0647-v1.0.13/pdf/lib_pdf_spip.php(203): PDF_SPIP->GenerateText() #2 /Mon site/plugins/auto/article_pdf-c0647-v1.0.13/pdf/lib_pdf_global.php(49): PDF_SPIP->BuildDocument() #3 /Mon site/ecrire/public/evaluer_page.php(51) : eval()'d code(304): PDF->Build('IMG/article_PDF...') #4 /Mon site/ecrire/public/evaluer_page.php(51): eval() #5 /Mon site/ecrire/public.php(157): include('/home/helem/www...') #6 /Mon site/spip.php(20): include('/home/Mon site/www...') #7 {main} thrown in /Mon site/plugins/auto/article_pdf-c0647-v1.0.13/pdf/lib_pdf_global.php on line 199 

    Une idée de ce qui cloche ?

    • un passage trop rapide en compatible spip 4 avant que spip 4 soit sortie... et des fonctions supprimés depuis.

      Je vais voir à proposer un bugfix prochaine,ent.

    • la v1.0.14 devrait corriger cela.

    • Tout à fait, pb résolu. Merci !
      Pour aller plus loin :
      Je m’aperçois (dossier IMG\articles_PDF) qu’un grand nombre de créations ne sont pas crédibles par des « humains » : articles très anciens qui ne sont plus visités par personne, heures de création improbables.
      De fait, le simple clic sur le lien « article_pdf » crée le fichier. Si un formulaire intermédiaire contenant une saisie « méchant robot » demandait la confirmation, ce serait pas mal...

    • bof, ca ralentirait le processus pour l’user legitime pour un besoin pas franchement fou fou...

      en plus on peut très bien vouloir que les moteurs de recherche et co indexe les pdf

    Répondre à ce message

  • 1

    bonjour,
    j’ai une erreur lors de la génération du pdf avec les images au format png

    1 L271: FPDF error: Unsupported image type: png?1624492804

    y aurait-il une solution comme par exemple de transformer les images png en jpeg ?

    • re,
      après analyse le probleme de génération provient des images au format webp.
      hors je dispose bien de l’image au format jpg dans le cache, aussi il suffirait de pouvoir indiquer à FDPF le lien de l’image
      ...imagexxx.jpeg au lieu de ...imagexxx.jpeg.webp
      si vous pouviez m’indiquer une piste

      Merci

    Répondre à ce message

  • Je n’arrive pas à créer un pdf.
    Ce qui est curieux c’est que l’on voit, au début de la page en partie un affichage de menus de la partie côté privé !
    J’ai bien la version adaptée, avec remise à jour, au cas où, v1.0.12,
    En survolant le lien j’ai bien le lien

    http://domaine.tld/spip.php?page=article_pdf&id_article=65

    Merci de votre aide.

    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