Carnet Wiki

Comparatif des solutions pdf pour SPIP

SPIP propose de nombreuses solutions pour générer des pdfs de façon dynamique.

Cette article propose de les répertorier et de les tester en ce qui concerne leur support des polices de caractères exotiques.

Les solutions disponibles

Il existe de nombreux plugins qui font du pdfs mais tous se basent sur l’un des plugins/moteurs suivants

Nom du pluginURLDéveloppement actifMoteur de génération de pdf
pdf_version https://plugins.spip.net/pdf_version.html oui (pdfshift) choix entre deux moteurs de rendu pdf
- whkhtml (binaire sur serveur ou API)
- pdfshift (API, service tiers payant)
spiPDF spiPDF : générer des contenus sur mesure en PDF oui (domPDF / mpdf) choix entre trois moteurs de rendu pdf
- mPDF (librairie PHP)
- HTML2PDF (librairie PHP)
- domPDF (librairie PHP)
FPDF FPDF
Ce plugin est utilisé par d’autres plugins notamment
- Article PDF
- PDForm : générer un PDF à partir de données éditoriales
non Librairie FDPF (librairie PHP)

Différences entre les moteurs

La différences entre les moteurs résident :
-  dans le respect de la mise en page (notamment le rendu des CSS complexes)
-  les fonctionnalités spécifiques au pdf
— les entetes et pied de page
— les liens internes
— le rendu des images et autres médias
— les sommaires automatiques
— le rendu des caractères unicode (voir plus bas)

Test de rendu avec les caractères unicode

Voici un texte « acid test » pour tester le rendu des caractères unicode
-  langue asiatique et non européenne (chinois, japonais, russe ...)
-  le mongol ancien (vertical),
-  arabe (droite),
-  émojis

Vous pouvez recopier ce texte pour créer un article SPIP et tester le rendu de votre solution de génération des PDFs

Résultat du test

PluginRemarques
PDF Version (wkhtml) rendu incomplet : pas de support de certaines langues coréen, emoji, ...) très lié aux polices embarquées.
PDF Version (shiftpdf) rendu parfait. support de toutes les langues même rares.
spidf bon rendu général même sur les langues asiatiques et arabes. bug sur les unicodes rares/anciens (mongol) et les emojis

Pour les polices embarquées, il existe le projet Noto de Google qui offre un choix énorme de polices dans des langues rares.

Conclusion

La solution la plus performante pour le support des caractères unicode est donc PDF Version (shiftpdf)
La version spipdf reste une solution open-source, gratuite assez performante

erational - Mise à jour :25 octobre 2023 à 13h18min