PDFs à la volée avec TCPDF

Jenny Beaumont
Jenny BeaumontPracticing the fine art of communication.
TCPDF
PDFs à la volée avec
@jennybeaumont
#wptech
PDF
Portable Document Format
Portable Document Format
PDF
• Développé par Adobe
• 1ère sortie 1993
• Format propriétaire jusqu’en 2008
• ISO TC 171 SC 2 WG 8 (v1.7)
“
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
• Typos intégrées (ou pas !)
• Photos / Graphiques vectoriels
• Pagination
• Codes à barres / QR
• Signatures électroniques
• Formulaires dynamiques
• Extensible XML, javascript
Document vivant
• Factures
• Billets de train / avion
• eBooks
• CVs, courriers
• Impôts
Le PDF est partout
• Quels usages ?
• Quelles considérations ?
• Quelles contraintes ?
PDF + WP
PDFs à la volée avec TCPDF
PDFs à la volée avec TCPDF
PDFs à la volée avec TCPDF
Le défi
• Mise en page complexe
• CPT, taxonomies, champs
personnalisés
• Aucune page
correspondante
• Multilingue
PDFs à la volée avec TCPDF
Limitations
• Peu d’options pour la mise en
page
• Pas d’options pour inclure des
champs personnalisés
• Sortie uniquement pour la page
active
PDFs à la volée avec TCPDF
<code>
</code>
• 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
PDFs à la volée avec TCPDF
PDFs à la volée avec TCPDF
PDFs à la volée avec TCPDF
Le défi
• Typos intégrées
• SVG avec user préfs
• Taille adaptée aux images
• Marques de découpe
• Compatible
WooCommerce
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/
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)
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.
<code>
PDFs à la volée avec TCPDF
PDFs à la volée avec TCPDF
</code>
CONCLUSIONS
• Toutes les typos ne sont pas égales
• Contraintes dans la taille des SVGs
• Certaines incompatibilités avec des tierces
parties
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/
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/
5-6 février #wcparis
@jennybeaumont
#wptech
1 of 35

Recommended

Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie... by
Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...
Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...pierredargham
2.7K views38 slides
Migrer les données de n'importe quel CMS vers WordPress by
 Migrer les données de n'importe quel CMS vers WordPress Migrer les données de n'importe quel CMS vers WordPress
Migrer les données de n'importe quel CMS vers WordPressTony Archambeau
5.9K views36 slides
WPtech: L'API Customizer pour les plugins by
WPtech: L'API Customizer pour les pluginsWPtech: L'API Customizer pour les plugins
WPtech: L'API Customizer pour les pluginscorsonr
4K views63 slides
Enrichir vos contenus Wordpress avec les API - WPTech 2015 by
Enrichir vos contenus Wordpress avec les API - WPTech 2015Enrichir vos contenus Wordpress avec les API - WPTech 2015
Enrichir vos contenus Wordpress avec les API - WPTech 2015PXNetwork
9.4K views15 slides
Comment créer des hooks dans vos développements WordPress - WP Tech 2015 by
Comment créer des hooks dans vos développements WordPress - WP Tech 2015Comment créer des hooks dans vos développements WordPress - WP Tech 2015
Comment créer des hooks dans vos développements WordPress - WP Tech 2015Boiteaweb
9K views27 slides
Kundenbindung durch Corporate Social Responsibility by
Kundenbindung durch Corporate Social ResponsibilityKundenbindung durch Corporate Social Responsibility
Kundenbindung durch Corporate Social ResponsibilityParticulate Solutions
1.9K views10 slides

More Related Content

Viewers also liked

Regelmässige mundhygiene by
Regelmässige mundhygieneRegelmässige mundhygiene
Regelmässige mundhygieneEghert Eisenhower
339 views3 slides
Act1 okrc by
Act1 okrcAct1 okrc
Act1 okrcOliver Rivera
324 views15 slides
Presentación aamtic grupo 6 by
Presentación aamtic grupo 6Presentación aamtic grupo 6
Presentación aamtic grupo 6luisalonsoarango
344 views14 slides
Crear un grafico by
Crear un graficoCrear un grafico
Crear un graficoKaren Jazmin
518 views19 slides
Actividad 1 by
Actividad 1Actividad 1
Actividad 1Saili Margarita Puerta Orozco
266 views8 slides
Autos de lujo by
Autos de lujoAutos de lujo
Autos de lujoyimybravo
286 views12 slides

Viewers also liked(19)

Autos de lujo by yimybravo
Autos de lujoAutos de lujo
Autos de lujo
yimybravo286 views
2. intranda viewer Tag: Integration von Fremddigitalisaten, Quellenkommentier... by intranda GmbH
2. intranda viewer Tag: Integration von Fremddigitalisaten, Quellenkommentier...2. intranda viewer Tag: Integration von Fremddigitalisaten, Quellenkommentier...
2. intranda viewer Tag: Integration von Fremddigitalisaten, Quellenkommentier...
intranda GmbH1.1K views
Agence Tuesday 2013 by Apicard
Agence Tuesday 2013Agence Tuesday 2013
Agence Tuesday 2013
Apicard754 views
S64 dez-jan 26.11 by Szene64
S64 dez-jan 26.11S64 dez-jan 26.11
S64 dez-jan 26.11
Szene643.2K views
Social Media für Unternehmen (Stand: Mai 2012) by Christian Möller
Social Media für Unternehmen (Stand: Mai 2012)Social Media für Unternehmen (Stand: Mai 2012)
Social Media für Unternehmen (Stand: Mai 2012)
Christian Möller712 views
Atelier Améliorer sa relation client par l'e mail - ot guebwiller by OTGueb
Atelier Améliorer sa relation client par l'e mail - ot guebwillerAtelier Améliorer sa relation client par l'e mail - ot guebwiller
Atelier Améliorer sa relation client par l'e mail - ot guebwiller
OTGueb1.2K views

Similar to PDFs à la volée avec TCPDF

Vincent biret azure functions et flow #AosCanadianTour (quebec) by
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent Biret
231 views41 slides
Partager des documents : les formats et les outils à utiliser ... by
Partager des documents : les formats et les outils à utiliser ...Partager des documents : les formats et les outils à utiliser ...
Partager des documents : les formats et les outils à utiliser ...Isabelle Motte
3.2K views42 slides
Vincent biret azure functions et flow (montreal) by
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent Biret
2.7K views37 slides
Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad by
Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPadCoder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad
Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPadDavid MEKERSA
8.1K views8 slides
ParisfxLab - Artforge, by HD3D by
ParisfxLab - Artforge, by HD3DParisfxLab - Artforge, by HD3D
ParisfxLab - Artforge, by HD3DFrançois Hanat
829 views15 slides
Ez18n theorie encoding gouvernance by
Ez18n theorie encoding gouvernanceEz18n theorie encoding gouvernance
Ez18n theorie encoding gouvernancegdigugli
591 views21 slides

Similar to PDFs à la volée avec TCPDF(20)

Vincent biret azure functions et flow #AosCanadianTour (quebec) by Vincent Biret
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent Biret231 views
Partager des documents : les formats et les outils à utiliser ... by Isabelle Motte
Partager des documents : les formats et les outils à utiliser ...Partager des documents : les formats et les outils à utiliser ...
Partager des documents : les formats et les outils à utiliser ...
Isabelle Motte3.2K views
Vincent biret azure functions et flow (montreal) by Vincent Biret
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
Vincent Biret2.7K views
Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad by David MEKERSA
Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPadCoder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad
Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad
David MEKERSA8.1K views
Ez18n theorie encoding gouvernance by gdigugli
Ez18n theorie encoding gouvernanceEz18n theorie encoding gouvernance
Ez18n theorie encoding gouvernance
gdigugli591 views
Compatibilité Internet Explorer : pour le meilleur et pour le pire! by Microsoft
Compatibilité Internet Explorer : pour le meilleur et pour le pire!Compatibilité Internet Explorer : pour le meilleur et pour le pire!
Compatibilité Internet Explorer : pour le meilleur et pour le pire!
Microsoft2.5K views
Les Nouveaux Standards et leur implémentation dans les navigateurs modernes by Tristan Nitot
Les Nouveaux Standards et leur implémentation dans les navigateurs modernesLes Nouveaux Standards et leur implémentation dans les navigateurs modernes
Les Nouveaux Standards et leur implémentation dans les navigateurs modernes
Tristan Nitot1.3K views
Challenge Exakis - Applications universelles - Introduction by Jonathan Le Guellec
Challenge Exakis - Applications universelles - IntroductionChallenge Exakis - Applications universelles - Introduction
Challenge Exakis - Applications universelles - Introduction
soft-shake.ch - Domotique et robotique avec le micro Framework .NET by soft-shake.ch
soft-shake.ch - Domotique et robotique avec le micro Framework .NETsoft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch1K views
CORETECHNOLOGIE - 20 ans d'innovation logicielle by CORETECHNOLOGIE
CORETECHNOLOGIE - 20 ans d'innovation logicielleCORETECHNOLOGIE - 20 ans d'innovation logicielle
CORETECHNOLOGIE - 20 ans d'innovation logicielle
CORETECHNOLOGIE66 views
Les nouveautés d'Unity 2018 by Yannick Comte
Les nouveautés d'Unity 2018Les nouveautés d'Unity 2018
Les nouveautés d'Unity 2018
Yannick Comte195 views
Développement Web by mastertic
Développement WebDéveloppement Web
Développement Web
mastertic719 views
Drupagora 2013 : Drupal8 et Symfony2, quel impact ? by ekino
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
ekino12.3K views
Développement Web by mastertic
Développement WebDéveloppement Web
Développement Web
mastertic1.1K views

More from Jenny Beaumont

Scrum for devs by
Scrum for devsScrum for devs
Scrum for devsJenny Beaumont
490 views24 slides
Doing it Wrong by
Doing it WrongDoing it Wrong
Doing it WrongJenny Beaumont
106 views23 slides
Scrum pour les (nuls) devs by
Scrum pour les (nuls) devsScrum pour les (nuls) devs
Scrum pour les (nuls) devsJenny Beaumont
807 views29 slides
Zen et l'art de la contribution by
Zen et l'art de la contributionZen et l'art de la contribution
Zen et l'art de la contributionJenny Beaumont
4.3K views30 slides
Multilingual WordPress by
Multilingual WordPressMultilingual WordPress
Multilingual WordPressJenny Beaumont
475 views17 slides
Maintenance Matters (français) by
Maintenance Matters (français)Maintenance Matters (français)
Maintenance Matters (français)Jenny Beaumont
3.3K views58 slides

More from Jenny Beaumont(7)

Zen et l'art de la contribution by Jenny Beaumont
Zen et l'art de la contributionZen et l'art de la contribution
Zen et l'art de la contribution
Jenny Beaumont4.3K views
Maintenance Matters (français) by Jenny Beaumont
Maintenance Matters (français)Maintenance Matters (français)
Maintenance Matters (français)
Jenny Beaumont3.3K views
Case study: Custom Digital Downloads, an extension for WooCommerce by Jenny Beaumont
Case study: Custom Digital Downloads, an extension for WooCommerceCase study: Custom Digital Downloads, an extension for WooCommerce
Case study: Custom Digital Downloads, an extension for WooCommerce
Jenny Beaumont1.4K views

PDFs à la volée avec TCPDF

  • 1. TCPDF PDFs à la volée avec @jennybeaumont #wptech
  • 2. PDF
  • 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. “ 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. • Typos intégrées (ou pas !) • Photos / Graphiques vectoriels • Pagination • Codes à barres / QR • Signatures électroniques • Formulaires dynamiques • Extensible XML, javascript Document vivant
  • 8. • Factures • Billets de train / avion • eBooks • CVs, courriers • Impôts Le PDF est partout
  • 9. • Quels usages ? • Quelles considérations ? • Quelles contraintes ? PDF + WP
  • 13. Le défi • Mise en page complexe • CPT, taxonomies, champs personnalisés • Aucune page correspondante • Multilingue
  • 15. Limitations • Peu d’options pour la mise en page • Pas d’options pour inclure des champs personnalisés • Sortie uniquement pour la page active
  • 19. • 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
  • 23. Le défi • Typos intégrées • SVG avec user préfs • Taille adaptée aux images • Marques de découpe • Compatible WooCommerce
  • 24. 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/
  • 25. 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)
  • 26. 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.
  • 31. CONCLUSIONS • Toutes les typos ne sont pas égales • Contraintes dans la taille des SVGs • Certaines incompatibilités avec des tierces parties
  • 32. 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/
  • 33. 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/

Editor's Notes

  1. In 2008 Adobe Systems' PDF Reference 1.7 became ISO 32000:1:2008. Thereafter, further development of PDF (including PDF 2.0) is conducted by ISO's TC 171 SC 2 WG 8 with the participation of Adobe Systems and other subject matter experts.
  2. Le standard, grâce à Internet, la facilité d’envoyer par mail, mettre à disposition au téléchargement. Puis archiver, partager et imprimer.
  3. In 2008 Adobe Systems' PDF Reference 1.7 became ISO 32000:1:2008. Thereafter, further development of PDF (including PDF 2.0) is conducted by ISO's TC 171 SC 2 WG 8 with the participation of Adobe Systems and other subject matter experts.
  4. Client manufactures industrial plasters Lots of technical information about products Client wanted to be able to frequently update product info for PDFs. CPT created to manage both the product page, with minimum info for view on site, and for technical spec sheet with more complete info to be downloaded as PDF.
  5. 529 plugins avec recherche « pdf »  Not all for generating PDFs (PDF image generator, PDF embed, PDF Viewers, etc) Basic usage: print your current page
  6. Like creating a template for an email Tables Limited CSS, no external style sheet Difficulty of translating image sizes Translatable
  7. In 2008 Adobe Systems' PDF Reference 1.7 became ISO 32000:1:2008. Thereafter, further development of PDF (including PDF 2.0) is conducted by ISO's TC 171 SC 2 WG 8 with the participation of Adobe Systems and other subject matter experts.
  8. FPDF doesn’t list SVG support (2001) - wp plugins DOMPDF (used in woocommerce PDF Invoices) (2005) - wp plugins Wkhtmltopdf 2008 discovered recently (no plugins)
  9. In 2008 Adobe Systems' PDF Reference 1.7 became ISO 32000:1:2008. Thereafter, further development of PDF (including PDF 2.0) is conducted by ISO's TC 171 SC 2 WG 8 with the participation of Adobe Systems and other subject matter experts.