我在codeigniter中使用Barcode39库来生成条形码。

以下是我用来生成条形码的辅助函数。

function generatebarcode12($Qty,$OrderId,$OrderItemId,$ServiceCatId){
    $ci =& get_instance();
    $ci->load->library('Barcode39');


    $ci->load->helper('upload_function');

    $configArr = array(
            'thickness' => 30,
            'resolution' => 1,
            'fontsize' => 2,
            'a1' => 'A',
            'a2' => '',
            'code' => 'code39'
    );

    $ci->load->library('barcode/barcodeclass',$configArr);

    $UploadDirConfig = uploadDirctoryConfig('barcode',$OrderId);

    makeDirectory($UploadDirConfig['main_dir_full_path']);
    makeDirectory($UploadDirConfig['sub_dir_barcode']);
    makeDirectory($UploadDirConfig['sub_child_dir_full_path']);
    $uploadpath = $UploadDirConfig['sub_child_dir_full_path'];

    for ($i=0;$i<$Qty;$i++){
        $barcode = generate_barcode_no($OrderId, $OrderItemId, $ServiceCatId, $Qty);
        $chkunique = checkbarcode_unique($barcode);
        while(!$chkunique){
            $barcode    = generate_barcode_no($OrderId, $OrderItemId, $ServiceCatId, $Qty);
            $chkunique  = checkbarcode_unique($barcode);
        }

        if($barcode){
            $filename = $barcode.'.gif';

            $bc = new Barcode39($barcode);
            // set text size
            $bc->barcode_text_size = 1;
            // set barcode bar thickness (thick bars)
            $bc->barcode_bar_thick = 2;
            // set barcode bar thickness (thin bars)
            $bc->barcode_bar_thin = 1;
            $bc->barcode_height = 50;

            if(file_exists($uploadpath.$filename)){
                $output = true;
                $output = $bc->draw($uploadpath.$filename);//Generate barcode with method2
                //$output = $ci->barcodeclass->generate($barcode,$filename,$uploadpath);//Generate barcode with method1
            }else{
                $output = $bc->draw($uploadpath.$filename);//Generate barcode with method2
                //$output = $ci->barcodeclass->generate($barcode,$filename,$uploadpath);//Generate barcode with method1
            }

            if($output){


                $data = array();
                $data['OrderId']        = $OrderId;
                $data['OrderItemId']    = $OrderItemId;
                $data['Code']           = $barcode;
                $data['ImageName']      = $filename;
                $data['Status']         = 'InProgress';
                $data['CreatedAt']      = get_curr_datetime();
                $data['CreatedBy']      = get_login_user_id();
                grid_add_data($data,TBL_BARCODE);
            }
        }
    }

    return $UploadDirConfig;
}


我正在使用下面的CSS代码将生成的条形码图像旋转90度:

#rotate90deg {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}


我正在使用TSC TTP-244 Plus打印机来打印条形码,并使用Motorola Scanner来扫描条形码。

主要问题是在12个条形码中,只有大约2至3个条形码被扫描。

请帮我解决一下这个。

@Swinders:实际上不可能与您共享未扫描的条形码的图像,但是我要附加一个示例条形码图像,我们正在打印该图像以进行扫描。



我希望这可以帮助你!

最佳答案

将生成的条形码图像旋转90度时,应检查打印机是否正确打印了代码。

我已经看到,有时在打印标签时,线性代码(例如Code39)会被压扁,这可能是由于介质不能自由进纸。如果条的厚度太小,则介质进给可能更为关键。

通常,在标签上打印线性(1D)代码看起来更可靠。

关于css - Barcode39库未扫描的打印条形码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30644164/

10-13 01:47