Ce tout petit plugin a été créé pour permettre une utilisation de la bibliothèque (library) FPDF par tout autre plugin. En effet, plusieurs plugins, dont Associaspip et AMAP, utilisent déjà cette librairie. Or si deux plugins intègrent séparément le zip, elle serait présente deux fois, peut-être en des versions différentes et incompatibles ; tandis que là on a une seule installation et une mise à jour commune pour tous les plugins utilisant FPDF.
La bibliothèque objet FPDF permet de fabriquer des PDF sur mesure, contrairement aux autres plugins qui ne génèrent que le PDF d’un objet éditorial (l’article) dans un formatage prédéfini. Cette bibliothèque de méthodes s’adresse aux développeurs de plugins : elle permet d’utiliser toutes les tables et filtres de SPIP mais ne fournit pas les pages PHP qu’il faut écrire soit-même !
Contrairement à PDFlib et ClibPDF, qui sont gratuits pour un usage non-commercial, FPDF est vraiment un logiciel libre d’où son choix préférentiel
La version 0.0.3 inclut aussi la libraire complémentaire FPDI permettant l’éditer, de fusionner des pdfs existants. Par exemple, on peut ainsi créer des pdfs personnalisés en partant d’un pdf patron.
Voir Réaliser un PDF personnalisé avec FPDF
Installation
De préférence, utiliser la fonction d’installation automatique des
plugins (pour SPIP 2 & 3).
Pour les versions 1.9 de SPIP, télécharger le zip, dézippez-le, puis suivez la procédure normale d’installation.
Utilisation
- Déclaration dans le plugin
Pour utiliser cette bibliothèque dans vos plugins, il faut le déclarer dans votre plugin.xml :
<necessite id="fpdf" version="[1.0.0;]" />
ou
<utilise id="fpdf" version="[1.0.0;]" />
Utilisation dans les fichiers : niveau 1
Pour charger la librairie, dans vos plugins, utliser le code :
define('FPDF_FONTPATH','font/');
include_spip('fpdf');
// include_spip('fpdi'); // pour charger FPDI
À partir de là, vous pouvez utiliser les méthodes de FPDF conjointement à l’API de SPIP.
Pour instancier un objet à tout moment :
$mon_pdf = new FPDF();
// ....
Utilisation dans les fichiers : niveau 2
Vous pouvez étendre la classe FPDP
par une classe PDF
et y redéfinir certaines méthodes, par exemple dans pdf/extends.php à la racine du plugin.
Ensuite il faudra appeler cette classe via
include_spip('pdf/extends');
.
Pour instancier un objet avec la classe étendue :
$mon_pdf = new PDF();
Discussions par date d’activité
Une discussion
Bonjour les écureuils. C’est une bonne idée que de mutualiser cette librairie par l’usage de ce plugin de développement.
Mais, le plugin a une librairie très ancienne. La nouvelle (pas si nouvelle, 2015 je crois) apporte quelques nouvelles options. Notamment il devient inutile de préciser le chemin des fontes s’il est bien dans le repertoire de la librairie (define(’FPDF_FONTPATH’,’font/’) ; est inutile).
J’ai mis à jour pour moi-même le plugin mais comment vérifier que les plugins qui utiliseront le plugin fpdf ont une librairie à jour ? En effet, on ne peut pas se baser sur la version du plugin fpdf pour connaitre la version de la librairie...
Des suggestions ?
Bonjour,
Une version de FPDF est sorti à noël mais j’ai pas encore regarder pour mettre à jour en effet.
Tu as la version ici https://zone.spip.org/trac/spip-zone/browser/spip-zone/_plugins_/fpdf/trunk/fpdf.php qui est utilisé.
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 :
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.
Suivre les commentaires : |