2014-04-01 153 views
0

我正在嘗試使用mpdf創建條形碼。同時創建,其自動變化的高度和寬度。即使字符不同,請給我解決方案來確定高度和寬度。Mpdf條碼尺寸太大。想修復高度和寬度

<barcode code="abcdefghijklmnopqrstuvwxyz1234" type="C39E+" 
class="barcode" size="3" height="3" /> 

想要在頁面上生成5個等寬的條形碼。

頁面尺寸50 * 100mm。

+0

歡迎計算器!以[this](http://stackoverflow.com/tour)爲例,瞭解該網站的工作原理。發佈一些代碼。顯示一些努力,到目前爲止你已經嘗試過。下面是 –

+0

就是這個例子。代碼不超過30個字符。但它可能會變化到5到30.

回答

2

據當你下載從他們的網站腳本提供MPDF文檔和示例:http://www.mpdf1.com/mpdf/index.php?page=Download

如果你看看他們的條形碼例如example37_barcodes.php(例子/ example37_barcodes.php),如果你想修改C39E +條碼類型的尺寸您必須這樣做:

根據輸入的代碼,這些條碼的長度都是可變的。這些規格中沒有建議的最大尺寸,但都推薦最小X尺寸(最窄條寬)爲7.5mil(= 0.19mm)。這裏使用的默認值是最小值的兩倍,即X-dim = 0.38mm。

規格給出了條碼長度的15%(可以是可變的)的最小高度。 mPDF中的鋼筋高度設置爲默認值10mm。 '尺寸'將在兩個維度上縮放條形碼。 mPDF將接受任何數字,但請記住,size =「0.5」會將條寬設置爲最小值。 「高度」屬性進一步允許縮放 - 該因子適用於已縮放的條形碼。因此,size =「2」height =「0.5」將給出默認寬度(X-dim = 0.76mm)兩倍的條形碼和以mPDF設置的默認高度,即10mm。

結果可以根據傳遞給條形碼類的值,如果你想有一個固定的寬度和高度,你應該嘗試創建一個具有所需大小或迫使一個條碼圖像文件的外部庫而變化,所以我覺得條形碼可以調整爲表格中的固定行或格。

我有同樣的問題,並嘗試了以下使用外部庫將值傳遞給函數:

$codigoBarras = "<img src='barcode/script/html/image.php?code=code128&o=1&t=12&r=1&text=$productoID&f1=Arial.ttf&f2=0&a1=A&a2=' width='110' height='25'>"; 

image.php文件:

<?php 
if(isset($_GET['code']) && isset($_GET['t']) && isset($_GET['r']) && isset($_GET['text']) && isset($_GET['f1']) && isset($_GET['f2']) && isset($_GET['o']) && isset($_GET['a1']) && isset($_GET['a2'])){ 
    define('IN_CB',true); 
    require('config.php'); 
    require($class_dir.'/index.php'); 
    require($class_dir.'/FColor.php'); 
    require($class_dir.'/BarCode.php'); 
    require($class_dir.'/FDrawing.php'); 
    require($class_dir.'/Font.php'); 
    if(include($class_dir.'/'.$_GET['code'].'.barcode.php')){ 
     if($_GET['f1'] !== '0' && intval($_GET['f2']) >= 1){ 
      $font = new Font($class_dir.'/font/'.$_GET['f1'], intval($_GET['f2'])); 
     } else { 
      $font = 0; 
     } 
     $color_black = new FColor(0,0,0); 
     $color_white = new FColor(255,255,255); 
     if(!empty($_GET['a2'])) 
      $code_generated =& new $_GET['code']($_GET['t'],$color_black,$color_white,$_GET['r'],$_GET['text'],$font,$_GET['a1'],$_GET['a2']); 
     elseif(!empty($_GET['a1'])) 
      $code_generated =& new $_GET['code']($_GET['t'],$color_black,$color_white,$_GET['r'],$_GET['text'],$font,$_GET['a1']); 
     else 
      $code_generated =& new $_GET['code']($_GET['t'],$color_black,$color_white,$_GET['r'],$_GET['text'],$font); 
     $drawing =& new FDrawing('',$color_white); 
     $drawing->add_barcode($code_generated); 
     $drawing->draw_all(); 
     $drawing->finish(intval($_GET['o'])); 
    } 
    else{ 
     header('Content: image/png'); 
     readfile('error.png'); 
    } 
} 
else{ 
    header('Content: image/png'); 
    readfile('error.png'); 
} 
?> 
相關問題