Carnet Wiki

Comparatif des solutions pdf pour SPIP..

Version 3 — Juillet 2023 erational

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

Les solutions disponibles

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

Nom du pluginURLDéveloppement actifMoteur de génération de pdf actifRemarques
pdf_version https://plugins.spip.net/pdf_version.html oui (pdfshift) choix shilftpdf) choix entre deux moteurs de rendu pdf
- whkhtml (binaire sur serveur ou API )
- [pdfshift->https://pdfshift . pdfshift ( service tiers payant )

|spiPDF|spiPDF : générer des contenus sur mesure en PDF io] | (API, service tiers payant) |
|spiPDF|spiPDF : générer des contenus sur mesure en PDF
|oui ( domPDF)|choix |non|choix entre trois moteurs de rendu pdf < br >- mPDF < br >- HTML2PDF
- [mPDF->https://github . domPDF |
|FPDF|FPDF com/IanNBack/mpdf] (librairie PHP)
- [HTML2PDF->https://www.
html2pdf.fr/] (librairie PHP)
- [domPDF->https://github.
com/dompdf/dompdf] (librairie PHP)|
|FPDF|FPDF

Ce
|non|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->http://www.fpdf.org/] (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

unicodes}

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
|Plugin|Remarques|
|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 est donc PDF Version (shiftpdf)
La version spipdf reste une solution open-source, gratuite assez performante