PDFs à la volée avec TCPDF

2 749 vues

Publié le

Conférence présentée à WPTech Nantes le 5 décembre 2015.

Publié dans : Internet
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

PDFs à la volée avec TCPDF

  1. 1. TCPDF PDFs à la volée avec @jennybeaumont #wptech
  2. 2. PDF
  3. 3. Portable Document Format
  4. 4. Portable Document Format
  5. 5. PDF • Développé par Adobe • 1ère sortie 1993 • Format propriétaire jusqu’en 2008 • ISO TC 171 SC 2 WG 8 (v1.7)
  6. 6. “ La spécificité du PDF est de préserver la mise en forme d’un fichier– polices d'écritures, images, objets graphiques, etc. – telle qu'elle a été définie par son auteur, et cela quels que soient le logiciel, le système d'exploitation et l'ordinateur utilisés pour l’imprimer ou le visualiser. https://fr.wikipedia.org/wiki/Portable_Document_Format
  7. 7. • Typos intégrées (ou pas !) • Photos / Graphiques vectoriels • Pagination • Codes à barres / QR • Signatures électroniques • Formulaires dynamiques • Extensible XML, javascript Document vivant
  8. 8. • Factures • Billets de train / avion • eBooks • CVs, courriers • Impôts Le PDF est partout
  9. 9. • Quels usages ? • Quelles considérations ? • Quelles contraintes ? PDF + WP
  10. 10. Le défi • Mise en page complexe • CPT, taxonomies, champs personnalisés • Aucune page correspondante • Multilingue
  11. 11. Limitations • Peu d’options pour la mise en page • Pas d’options pour inclure des champs personnalisés • Sortie uniquement pour la page active
  12. 12. <code>
  13. 13. </code>
  14. 14. • Abordable en simple HTML (comme pour un template email) • Certaines contraintes de CSS • Difficultés dans le maitrise de la conversion des unités de mesure des images CONCLUSIONS
  15. 15. Le défi • Typos intégrées • SVG avec user préfs • Taille adaptée aux images • Marques de découpe • Compatible WooCommerce
  16. 16. Solutions alternatives • PDFLib (sous licence) http://www.pdflib.com/fileadmin/pdflib/pdf/purchase_order/PDFli b-9-purchase-order.pdf • FPDF http://www.fpdf.org • DOMPDF https://github.com/dompdf/dompdf • wkhtmltopdf http://wkhtmltopdf.org/
  17. 17. TCPDF • Class PHP open source http://www.tcpdf.org/ • Développé par Nicola Asuni (2001) • SourceForge / GitHub 6.0.090 (août 2014) • Active v6.2.12 (sept 2015)
  18. 18. Fonctionnalités principales • No external libraries are required for the basic functions; • All standard page formats, custom page formats, custom margins and units of measure; • UTF-8 Unicode and Right-To-Left languages; • TrueTypeUnicode, OpenTypeUnicode, TrueType, OpenType, Type1 and CID-0 fonts; • Font subsetting; • Methods to publish some XHTML + CSS code, Javascript and Forms; • Images, graphic (geometric figures) and transformation methods; • Supports JPEG, PNG and SVG images natively • 1D and 2D barcodes • ICC Color Profiles, Grayscale, RGB, CMYK, Spot Colors and Transparencies; • Automatic page header and footer management; • Document encryption up to 256 bit and digital signature certifications; • Transactions to UNDO commands; • PDF annotations, including links, text and file attachments; • Ttext rendering modes (fill, stroke and clipping); • Multiple columns mode; • No-write page regions; • Bookmarks and table of content; • Text hyphenation; • Text stretching and spacing (tracking/kerning); • Automatic page break, line break and text alignments including justification; • Automatic page numbering and page groups; • Move and delete pages; • Page compression (requires php-zlib extension); • XOBject templates; • PDF/A-1b (ISO 19005-1:2005) support.
  19. 19. <code>
  20. 20. </code>
  21. 21. CONCLUSIONS • Toutes les typos ne sont pas égales • Contraintes dans la taille des SVGs • Certaines incompatibilités avec des tierces parties
  22. 22. Extensions WP pour démarrer • WP Post to PDF Enhanced https://wordpress.org/plugins/wp-post-to- pdf-enhanced/ • TCPDF Library https://wordpress.org/plugins/tcpdf/
  23. 23. Ressources • https://en.wikipedia.org/wiki/Portable_Document_Format • https://en.wikipedia.org/wiki/List_of_PDF_software#Develop ment_libraries • http://www.tcpdf.org/ • http://fonts.snm-portal.com • http://www.pdfa.org/2015/06/what-will-pdf-2-0-bring/ • http://www.jennybeaumont.com/testing-tcpdf-css/
  24. 24. 5-6 février #wcparis
  25. 25. @jennybeaumont #wptech

×