在dompdf中打印条形码的最佳实践

时间:2016-08-11 09:10:06

标签: php codeigniter dompdf

我想创建一个带有PDF条形码的标签贴纸。 请给我一个创建这个东西的建议。 现在,我使用CI3和dompdf。

我尝试过google很多时间,但我没有找到实现这个目标的最佳做法。

我听从你的建议, 现在我在vendor / Piqcer中有文件夹。

我在我的view_report中尝试这样:

<tr>
   <td class="solid" colspan="2">
      <?= $value->NO_URUT ?>
      <?php
          $generator = new \Picqer\Barcode\BarcodeGeneratorPNG();
          echo '<img src="data:image/png;base64,' . base64_encode($generator->getBarcode($value->NO_URUT, $generator::TYPE_CODE_128)) . '">';
      ?>
   </td>
</tr>

但我收到了错误:

Fatal error: Class 'Picqer\Barcode\BarcodeGeneratorPNG' not found

更新

所以,这个库在ci_folder\vendor\picqer\php-barcode-generator上。 现在我创建一个这样的自动加载库:

class Barcode {

public function generate($id) {
    require_once("./vendor/picqer/php-barcode-generator/src/BarcodeGeneratorJPG.php");
    $generator = new Picqer\Barcode\BarcodeGeneratorJPG();
    echo $generator->getBarcode($id, $generator::TYPE_CODE_128);
}

}

在我的控制器中:

$this->load->library('dompdfgenerator');
$this->load->library('barcode');

 $data = array(
        'result' => $result,
        'container' => $containers
    );

  $html = $this->load->view('members/megumi/check_list_per_tanggal/v_laporan_sticker_pilihan', $data, true);
  $this->dompdfgenerator->generate($html, "$identity");

现在在视图中:

<tr>
    <td class="solid" colspan="2">
     <?= $value->NO_URUT ?>
     <?php
        echo '<img src="data:image/png;base64,' . base64_encode($this->barcode->generate($value->NO_URUT)) . '">';
      ?>

     </td>
</tr>

它仍然是:Fatal error: Class 'Picqer\Barcode\BarcodeGenerator' not found

请告知......

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用PHP Barcode Generator等库。它将为您生成条形码并将其导出为SVG,PNG或JPG或HTML。您应该将生成的条形码插入到您将使用DOMPDF导出的HTML中。

答案 1 :(得分:0)

我想你可以从这个答案中得到一些想法Integrate barcode reader generate/read with Codeigniter。 另请注意,BarcodeGenerator的文件存储在应用程序的third_party文件夹中。