{"id":2308,"date":"2021-05-25T14:01:50","date_gmt":"2021-05-25T12:01:50","guid":{"rendered":"https:\/\/www.h-hennes.fr\/blog\/?p=2308"},"modified":"2021-05-25T14:01:52","modified_gmt":"2021-05-25T12:01:52","slug":"magento-2-module-pour-visualiser-les-pdfs-dans-le-navigateur","status":"publish","type":"post","link":"https:\/\/www.h-hennes.fr\/blog\/2021\/05\/25\/magento-2-module-pour-visualiser-les-pdfs-dans-le-navigateur\/","title":{"rendered":"Magento 2 module pour visualiser les pdfs dans le navigateur"},"content":{"rendered":"\n<p>J&rsquo;avais rencontr\u00e9 la m\u00eame probl\u00e9matique sur un d\u00e9veloppement prestashop ( cf.<a href=\"https:\/\/www.h-hennes.fr\/blog\/2020\/07\/13\/prestashop-gagnez-du-temps-lors-la-personnalisation-des-fichiers-pdf-factures-livraisons\/\"> https:\/\/www.h-hennes.fr\/blog\/2020\/07\/13\/prestashop-gagnez-du-temps-lors-la-personnalisation-des-fichiers-pdf-factures-livraisons\/<\/a> ), dans le cas ou on souhaite personnaliser les fichiers pdfs pour changer des \u00e9l\u00e9ments ou de la mise en forme c&rsquo;est relativement p\u00e9nible de devoir \u00e0 chaque fois t\u00e9l\u00e9charger le fichier pdf pour le visualiser.<br \/><br \/>J&rsquo;ai donc cr\u00e9\u00e9 un module magento 2 pour visualiser les pdf dans le navigateur , celui-ci fonctionne pour les pdfs suivants <strong>dans l&rsquo;administration<\/strong><\/p>\n<ul>\n<li>Factures ( Invoices )<\/li>\n<li>Livraisons ( Shipping)<\/li>\n<li>Avoirs ( Creditmemo )<\/li>\n<\/ul>\n<p>Celui-ci a uniquement \u00e9t\u00e9 test\u00e9 sur Magento 2.4. <br \/>Le module est disponible sur mon d\u00e9pot github avec des exemples d&rsquo;extensions magento 2.<br \/><a href=\"https:\/\/github.com\/nenes25\/magento2_samplemodules\/tree\/master\/Hhennes\/SalesAdminPdfViewer\">https:\/\/github.com\/nenes25\/magento2_samplemodules\/tree\/master\/Hhennes\/SalesAdminPdfViewer<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Configuration<\/h3>\n\n\n\n<p>Il est possible d&rsquo;activer ou non l&rsquo;affichage des pdfs via la configuration dans :<\/p>\n\n\n\n<p>Configuration \/ Hhennes Extensions \/ Pdf Print <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2021\/05\/image-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"834\" height=\"219\" src=\"https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2021\/05\/image-2.png\" alt=\"\" class=\"wp-image-2310\" srcset=\"https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2021\/05\/image-2.png 834w, https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2021\/05\/image-2-300x79.png 300w, https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2021\/05\/image-2-768x202.png 768w\" sizes=\"auto, (max-width: 834px) 100vw, 834px\" \/><\/a><\/figure>\n\n\n\n<p>Penser \u00e0 vider le cache une fois la modification appliqu\u00e9e, et une fois celui-ci actif les fichiers pdfs sont affich\u00e9s directement dans le navigateur :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2021\/05\/image-3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"935\" height=\"456\" src=\"https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2021\/05\/image-3.png\" alt=\"\" class=\"wp-image-2311\" srcset=\"https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2021\/05\/image-3.png 935w, https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2021\/05\/image-3-300x146.png 300w, https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2021\/05\/image-3-768x375.png 768w\" sizes=\"auto, (max-width: 935px) 100vw, 935px\" \/><\/a><\/figure>\n\n\n\n<p>Il est ensuite possible de voir les changements d\u00e8s le rafra\u00eechissement de la page, et sans devoir t\u00e9l\u00e9charger le fichier.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Fonctionnement <\/h3>\n\n\n\n<p>Le fonctionnement technique est relativement simple.<br>Sur chaque controllers admin des pdf concern\u00e9s j&rsquo;ai mis en place un plugin sur beforeExcecute()<br>Dans le cas ou l&rsquo;option est active il force l&rsquo;affichage du pdf et emp\u00eache l&rsquo;ex\u00e9cution de la fonction du controller par d\u00e9faut \ud83d\ude42<br><br>N&rsquo;h\u00e9sitez pas \u00e0 partager vos retours ! \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>J&rsquo;avais rencontr\u00e9 la m\u00eame probl\u00e9matique sur un d\u00e9veloppement prestashop ( cf. https:\/\/www.h-hennes.fr\/blog\/2020\/07\/13\/prestashop-gagnez-du-temps-lors-la-personnalisation-des-fichiers-pdf-factures-livraisons\/ ), dans le cas ou on souhaite personnaliser les fichiers pdfs pour changer des \u00e9l\u00e9ments ou de la mise en forme c&rsquo;est relativement p\u00e9nible de devoir \u00e0 chaque fois t\u00e9l\u00e9charger le fichier pdf pour le visualiser. J&rsquo;ai donc cr\u00e9\u00e9 un module magento 2 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[246],"tags":[348,482,536],"class_list":["post-2308","post","type-post","status-publish","format-standard","hentry","category-magento-2","tag-admin","tag-magento-2","tag-pdf"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/2308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/comments?post=2308"}],"version-history":[{"count":2,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/2308\/revisions"}],"predecessor-version":[{"id":2312,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/2308\/revisions\/2312"}],"wp:attachment":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/media?parent=2308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/categories?post=2308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/tags?post=2308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}