{"id":2171,"date":"2020-07-13T15:05:28","date_gmt":"2020-07-13T13:05:28","guid":{"rendered":"https:\/\/www.h-hennes.fr\/blog\/?p=2171"},"modified":"2021-04-08T13:49:00","modified_gmt":"2021-04-08T11:49:00","slug":"prestashop-gagnez-du-temps-lors-la-personnalisation-des-fichiers-pdf-factures-livraisons","status":"publish","type":"post","link":"https:\/\/www.h-hennes.fr\/blog\/2020\/07\/13\/prestashop-gagnez-du-temps-lors-la-personnalisation-des-fichiers-pdf-factures-livraisons\/","title":{"rendered":"Prestashop : gagnez du temps lors la personnalisation des fichiers pdf ( factures \/ livraisons &#8230; )"},"content":{"rendered":"\n<p>Une petite note rapide pour donner et historiser une astuce bien pratique dans le cas ou vous souhaitez faire des modifications sur les fichiers pdfs g\u00e9n\u00e9r\u00e9s par Prestashop dans l&rsquo;administration.<\/p>\n<p>Ceci concerne tout ceux qui sont g\u00e9n\u00e9r\u00e9s\u00a0 par le controller : <em>controllers\/admin\/AdminPdfController.php<\/em><\/p>\n<ul>\n<li>Les factures<\/li>\n<li>Les livraisons<\/li>\n<li>Commandes fournisseurs<\/li>\n<\/ul>\n<p>Par d\u00e9faut le comportement est que le fichier pdf est t\u00e9l\u00e9charg\u00e9 par le navigateur, ce qui devient relativement p\u00e9nible lorsque les modifications sont assez lourdes et qu&rsquo;on doit t\u00e9l\u00e9charger pleins de fois le fichier pour voir le r\u00e9sultat.<br \/><br \/>Pour forcer l&rsquo;affichage du pdf dans le navigateur il vous suffit de modifier la fonction generatePDF du controller\u00a0 <em>controllers\/admin\/AdminPdfController.php<\/em> et de rajouter l&rsquo;option \u00ab\u00a0I\u00a0\u00bb dans l&rsquo;appel \u00e0 la fonction render<\/p>\n\n\n\n<pre escaped=\"true\" lang=\"php\">public function generatePDF($object, $template)\n    {\n        $pdf = new PDF($object, $template, Context::getContext()-&gt;smarty);\n        $pdf-&gt;render('I'); \/\/Changement de code ici\n    }\n<\/pre>\n\n\n\n<p>Le contenu du fichier pdf sera ensuite affich\u00e9 directement dans le navigateur ce qui fera gagner un temps pr\u00e9cieux dans la visualisation des modifications pdf \ud83d\ude42<\/p>\n<p>Cette astuce a \u00e9t\u00e9 test\u00e9e sur une <strong>1.7.4 et une 1.7.6.x<\/strong><br \/>Elle ne fonctionne plus \u00e0 partir de la version 1.7.7 car cette partie a \u00e9t\u00e9 r\u00e9\u00e9crite.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Prestashop 1.7.7 et ><\/h3>\n\n\n\n<p>Sur cette version il sera n\u00e9cessaire de faire la m\u00eame modification (ajout de l&rsquo;option \u00ab\u00a0I\u00a0\u00bb ) dans la fonction render pour les fichiers suivants <\/p>\n<ul>\n<li>src\/Adapter\/PDF\/CreditSlipPdfGenerator.php<\/li>\n<li>src\/Adapter\/PDF\/DeliverySlipPdfGenerator.php<\/li>\n<li>src\/Adapter\/PDF\/OrderInvoicePdfGenerator.php<\/li>\n<li>src\/Adapter\/PDF\/PDFGenerator.php<\/li>\n<\/ul>\n<p>Je pr\u00e9cise que ces modifications ne sont pas \u00e0 livrer mais \u00e0 faire temporairement pour gagner du temps dans vos d\u00e9veloppements \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Une petite note rapide pour donner et historiser une astuce bien pratique dans le cas ou vous souhaitez faire des modifications sur les fichiers pdfs g\u00e9n\u00e9r\u00e9s par Prestashop dans l&rsquo;administration. Ceci concerne tout ceux qui sont g\u00e9n\u00e9r\u00e9s\u00a0 par le controller : controllers\/admin\/AdminPdfController.php Les factures Les livraisons Commandes fournisseurs Par d\u00e9faut le comportement est que le [&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":"","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":"","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":[245],"tags":[348,556,536],"class_list":["post-2171","post","type-post","status-publish","format-standard","hentry","category-prestashop-2","tag-admin","tag-generation-2","tag-pdf"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/2171","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=2171"}],"version-history":[{"count":2,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/2171\/revisions"}],"predecessor-version":[{"id":2269,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/2171\/revisions\/2269"}],"wp:attachment":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/media?parent=2171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/categories?post=2171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/tags?post=2171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}