<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Prestashop 1.6 ajouter un code barre au bon de livraison.]]></title><description><![CDATA[<p dir="auto"><strong>Comment ajouter un code barre au bon de livraison</strong></p>
<p dir="auto">Je vais ici expliquer comment ajouter un code barre ( C128 ) dans vos bons de livraison, j'utiliserais ici un override on pourrait utiliser les hook sur les pdf mais dans un soucis d'encre utilisée, de ligne à modifier je préfère utiliser l'override.</p>
<ol>
<li>Faire un override de la classe PDFGeneratorCore et ajouter la méthode <strong>header</strong> dans l'override.</li>
<li>Dans cette méthode ajouter le code suivant :</li>
</ol>
<pre><code>$style = array(
	'position' =&gt; '',
	'align' =&gt; 'C',
	'stretch' =&gt; false,
	'fitwidth' =&gt; true,
	'cellfitalign' =&gt; '',
	'border' =&gt; true,
	'hpadding' =&gt; 'auto',
	'vpadding' =&gt; 'auto',
	'fgcolor' =&gt; array(0,0,0),
	'bgcolor' =&gt; false, //array(255,255,255),
	'text' =&gt; true,
	'font' =&gt; 'helvetica',
	'fontsize' =&gt; 8,
	'stretchtext' =&gt; 4
);

if( $this-&gt;filename == 'deliveries.pdf' || substr($this-&gt;filename,0,3) == '#LI'  ) {
   $this-&gt;write1DBarcode($this-&gt;id_customer.' '.$this-&gt;id_order, 'C128', '', '', '', 18, 0.4, $style, 'N');
} else {		
   $this-&gt;writeHTML($this-&gt;header);
}


</code></pre>
<p dir="auto">Ajouter dans cet override :</p>
<pre><code>    public function createHeader($header, $object, $filename)
    {
        $order = new Order($object-&gt;id_order);
        $this-&gt;id_order = $order-&gt;id;
        $this-&gt;id_customer = $order-&gt;id_customer;
        $this-&gt;filename = $filename;
        $this-&gt;header = $header;
    }

</code></pre>
<p dir="auto">Faire un override la classe PDF.php ajouter dedans :</p>
<pre><code>    public function render($display = true)
    {
        $render = false;
        $this-&gt;pdf_renderer-&gt;setFontForLang(Context::getContext()-&gt;language-&gt;iso_code);
        foreach ($this-&gt;objects as $object) {
            $this-&gt;pdf_renderer-&gt;startPageGroup();
            $template = $this-&gt;getTemplateObject($object);
            if (!$template) {
                continue;
            }

            if (empty($this-&gt;filename)) {
                $this-&gt;filename = $template-&gt;getFilename();
                if (count($this-&gt;objects) &gt; 1) {
                    $this-&gt;filename = $template-&gt;getBulkFilename();
                }
            }

            $template-&gt;assignHookData($object);
            $this-&gt;pdf_renderer-&gt;createHeader($template-&gt;getHeader(),$object,$this-&gt;filename);
	    $this-&gt;pdf_renderer-&gt;createFooter($template-&gt;getFooter());
	    $this-&gt;pdf_renderer-&gt;createPagination($template-&gt;getPagination());
            $this-&gt;pdf_renderer-&gt;createContent($template-&gt;getContent());
            $this-&gt;pdf_renderer-&gt;writePage();
            $render = true;

            unset($template);
        }

        if ($render) {
            // clean the output buffer
            if (ob_get_level() &amp;&amp; ob_get_length() &gt; 0) {
                ob_clean();
            }
            return $this-&gt;pdf_renderer-&gt;render($this-&gt;filename, $display);
        }
    }

</code></pre>
<p dir="auto">Dans cette exemple vous n'afficherez plus le logo sur votre bon de livraison il sera remplacer par un code contenant l'id de la commande et l'id du client.</p>
<p dir="auto">Voici à quoi ressemblera vos bon de livraison désormais :</p>
<p dir="auto"><img src="https://www.okom3pom.com//images/code_barre.jpg" alt="text alternatif" class=" img-fluid img-markdown" /></p>
<p dir="auto">En gros si le fichier à générer est un bon de livraison on affiche un code, sinon on garde le header des pdf.</p>
<p dir="auto">Vous pouvez ajuster ceci selon vos besoins, nous nous servons de ces code barre pour mondial relay et expéditor.</p>
<ol>
<li>on pose le colis sur la balance,</li>
<li>on flash le code barre</li>
<li>l'étiquette sort directement sur l'imprimante thermique.</li>
</ol>
]]></description><link>https://bb.enter-solutions.net/topic/1026/prestashop-1-6-ajouter-un-code-barre-au-bon-de-livraison</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Jul 2026 05:48:24 GMT</lastBuildDate><atom:link href="https://bb.enter-solutions.net/topic/1026.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 03 Jan 2018 18:32:53 GMT</pubDate><ttl>60</ttl></channel></rss>