【问题标题】:Prestashop 1.7.4.2 - TCDPF Generate Barcode in Invoice ErrorPrestashop 1.7.4.2 - TCDPF 在发票错误中生成条形码
【发布时间】:2018-12-18 10:45:51
【问题描述】:

我正在使用 TCDPF 在发票中生成条形码。因此,当我通过单击订单页面中的“查看发票”下载发票时,它应该下载并生成条形码。目前,我只是在测试一个随机数。

在 HTMLTemplateInvoice.php 中,我添加了以下代码:

// Random number for testing
$barcodeobj = new TCPDFBarcode('1234567890123', 'C39');

// Assign to template
   // All other unnecessary variables not displayed
   'barcode' => base64_encode($barcodeobj->getBarcodePNG(1, 30, array(255,255,255))),
);

出于测试目的,我在 invoice.addresses.tab.tpl 中添加了以下代码

<img src="data:image/png;base64,{$barcode}>">

显示条形码。不幸的是,它显示为一个页面,并且没有在发票中生成。发票也不会下载。

我正在使用 Prestashop 1.7.4.2 并升级到 PHP 7.2。

【问题讨论】:

    标签: php tcpdf prestashop-1.7 invoice


    【解决方案1】:

    我试过这段代码

    $barcodeobj = new TCPDFBarcode("123456789123", 'C39');       
    $Barcode = $barcodeobj->getBarcodePngData(2, 40, array(0,0,0));
    

    然后我创建了一个新的pdf:

    $Barcode_pdf = new TCPDF('P', 'mm', 'A5', true, 'UTF-8', false);
    $Barcode_pdf->SetMargins(7, 10.4, 8);
    $Barcode_pdf->setImageScale(0.5);
    $Barcode_pdf->AddPage();
    $Barcode_pdf->Image('@'.$Barcode,'10','20','60' );
    $Barcode_pdf->Output('Barcode.pdf', 'I')
    

    如果需要,您可以将其附加到电子邮件中但将输出类型更改为“S”

    $Barcode_attachment = array();
    $Barcode_attachment['content'] = $Barcode_pdf->Output('Barcode.pdf', 'S');
    $Barcode_attachment['name'] = 'Barcode.pdf'; // getting pdf file name
    $Barcode_attachment['invoice']['mime'] = 'application/pdf';
    $Barcode_attachment['mime'] = 'application/pdf';
    

    然后只需将$Barcode_attachment 添加到您的电子邮件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-19
      • 2014-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多