我在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/