Отпечатаният баркод с библиотека Barcode39 не се сканира

Използвам библиотека Barcode39 в codeigniter за генериране на баркодове.

По-долу е помощната функция, която използвам за генериране на баркода.

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;
}

Завъртам генерираното изображение на баркод на 90 градуса, използвайки по-долу css кода:

#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 за сканиране на баркодовете.

Основният проблем е, че от 12 баркода само около 2 до 3 баркода се сканират.

Моля, помогнете ми с това.

@Swinders: Всъщност не е възможно да ви споделя изображението на баркода, който не е сканиран, но прилагам примерно изображение на баркод, което отпечатваме за сканиране.

въведете описание на изображението тук

Надявам се това да ви помогне!


person Swapnil Punekar    schedule 04.06.2015    source източник
comment
Можете ли да предоставите примери за кодовете, които правят и не сканират?   -  person Swinders    schedule 12.06.2015
comment
Здравейте Swinders, кодовете, които сканирам, са нормални цели числа като 1-1-1 или 15-22-11. Също така искам да ви информирам, че когато промених конфигурационния си масив, увеличих дебелината на баркодовете, те се сканират. Но наистина искам да знам какъв може да е проблемът?   -  person Swapnil Punekar    schedule 15.06.2015
comment
Бихте ли могли да покажете примерните кодове, които не се сканират като изображения?   -  person Swinders    schedule 15.06.2015
comment
Има два кода, например 00034-53-5 и 00034-52-9, от двата кода 00034-53-5 се сканира правилно, а кодът не се сканира.   -  person Swapnil Punekar    schedule 15.06.2015
comment
Без да видите кодовете, които ви причиняват проблем, е трудно да помогнете допълнително. Изображенията, които показахте, изглеждат правилно кодирани, така че предполагам, че основното генериране на баркод работи. Завъртането на 90 градуса е тривиален въпрос. Тъй като можете да четете някои от кодовете, скенерът трябва поне да може да декодира кодовете Code39. Ако приемем, че отпечатването е завършено гладко, единствената останала част, която трябва да се види, е, че не се извършва мащабиране, което може да скрие лента. Добре дефинирани ли са лентите, без сиви или разпръснати ръбове?   -  person Swinders    schedule 24.06.2015


Отговори (1)


Тъй като завъртате генерираното изображение на баркод на 90 градуса, трябва да проверите дали принтерът отпечатва кода правилно.

Виждам, че понякога линеен код (като Code39), когато бъде отпечатан върху етикета, ще бъде леко смачкан на места, вероятно поради това, че носителят не се подава свободно. Ако дебелината на лентите е твърде малка, подаването на носител може да бъде по-критично.

Като цяло отпечатването на линейни (1D) кодове изглежда по-надеждно, когато се отпечата върху етикета.

person Swinders    schedule 15.06.2015
comment
Не, няма проблем с отпечатването на баркодовете. Всички баркодове се отпечатват правилно. - person Swapnil Punekar; 15.06.2015
comment
@SwapnilPunekar Правилно ли се отпечатват и сканират кодовете, когато се отпечатват хоризонтално? - person Swinders; 15.06.2015
comment
Всъщност принтерът, който съм аз, има много тясна лента, поради което не е възможно да ги отпечатате хоризонтално. Затова ги въртя преди печат. - person Swapnil Punekar; 16.06.2015
comment
Можете ли да споделите изображение на кодовете, които не се сканират? - person Swinders; 16.06.2015
comment
Прикачих изображението във въпроса. Надявам се, че помага! - person Swapnil Punekar; 17.06.2015