原文網址:http://blog.roodo.com/pokey/archives/16354565.html

以下轉載原文

-----------------------------------------------------------------------------------

最近的一個Case必須要套用Barcode,
但是距離我還有印象的Barcode年代,已經過了好多好多個年,早就已經忘光了。
在這裡簡單分享我找到的Barcode for PHP,以及套用的步驟。

這篇介紹的只是我找到,覺得好理解,套用起來不麻煩的組件。
而且支援的格式相當多,
唯一缺點是沒辦法很彈性的去設定Barcode的長寬。
不過趕時間不想去Try其他人提供的Code的話,
其實Barcode Generator程式架構寫的還OK,去翻翻他的原始碼稍微修改一下也不太花時間。


 

 
我使用的是來自PHP Classes網站的BarcodeGenerator。
剛剛才發現居然版號是2005年. . . 但是其實不要緊。
因為他只是使用GD去產生黑白色塊,而條碼的規則早就已經制定好兩萬多年,不用去計較年份。

 Barcode_Generator-2005-09-08.zip 
以上這是原始檔名,我只提供
 PHP Classes 的連結,要下載需要註冊會員。
如果經常要使用PHP當開發語言,註冊一下吧,他有很豐富的Classes資料庫,
由一堆人因應各種需求寫完程式以後分享給大家使用。For Freeeeeee....

套用開始:

1.請記得開啟PHP的GD功能
不是自建主機,請聯絡你的虛擬主機提供商,
自建主機的,請自己去找找怎麼開啟,這樣才學得會. . .  其實是我也不太懂,都是拜Google大神 
2.打開壓縮檔有以下檔案結構


Class資料夾: 
放置一堆各式各樣類型的code規則。留下你需要用的就好,像我要使用的是ean13。就留下ean13.barcode.php。記得別刪到一些用來產生圖片或填色的php檔,安全的作法有兩種。刪一個,就去測試看看還能不能正常使用;最保險的就是. . . 別刪。
Html資料夾: 
產出對應Code格式的頁面,也是一樣留下你需要用的就好,可以好好瘦身。也是同上,別刪到產圖的檔案,例如image.php。
根目錄資料: 
一堆不重要的碎擋,可以D掉。根目錄留index.php即可。
留下index.php只是要介紹他怎麼產出,了解他出圖規則後,就可以砍了。

3.測試Barcode
丟上你的測試環境後,譬如丟到/www/barcode。
鍵入你的網址 http://localhost/barcode/index.php
可以看到以下畫面。

Type: 
Codabar,Code 11/39/93/128, EAN 8/13/ISBN, Interleaved 2 of 5, Standard 2 of 5, MSI, UPC A/E/E2D/E5D, PostNet, Other Code。請自己選擇合適的,當然有些條碼其實很少人使用,可能多數的條碼機無法辨識,請先確認格式。
Output: 
圖片輸出的格式。PNG/JPG。
Thickness:  
條碼的高度,看起來單位是pixel。
Resolution: 
 你的粗細. . .  條碼的粗細。會影響整個條碼圖式的寬度。僅分三種size。
Font Size: 
條碼下方數字的大小。也可以不顯示。但是還是建議顯示,畢竟調碼有可能損壞,就必須透過人眼辨識系統來判斷了。
Text: 
條碼號。請根據不同的編碼格式輸入數字,他有基本防呆可以幫你偵錯。

OK以後按下Generator就會出現啦。沒出現的話請檢察GD是否啟動,方法? 請找Google。

產生出來的圖檔我們按右鍵,去看看他的圖片路徑。

圖片路徑: 
http://localhost/barcode/html/image.php?code=ean13&o=1&t=30&r=2&text=123456789012&f=1&a1=&a2=
很明顯的這就是我們剛剛選擇的參數。
直接將參數複製在網址列上,只有IE可以正常顯示,FireFox和Chrome會顯是一堆亂碼。
但是應用在網頁中,以圖片方式產出,不會有這個問題的。

我們開始套用吧。
1. 首先準備一張圖,沒有圖沒關係,我提供一張給你。檔名diablo.jpg


2.預定要輸出Barcode的網頁。檔名barcode_output.php
輸入以下程式碼。
<table width="650" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <td background="diablo.jpg" width="650" height="650" valign="top" align="left">
            <div style="padding:3px 3px 3px 3px;margin:165px 6px 6px 20px;background-color:#F0F0F0;width:110px;text-align:center;">
                <img src="html/image.php?code=ean13&o=2&t=20&r=1&text=123456789012&f=1&a1=&a2=" alt="Error? Can\'t display image!" />
            </div>
        </td>
    </tr>
</table>


我們把圖片壓在表格的背景圖中。然後文字對齊讓他靠右靠上。
在div的style中設定一些邊框,讓barcode看起來不要太死。
接下來裝上我們的barcode <img>。
這邊比較特別,img的src是指向一個php檔,也就是我們剛剛對圖片複製的那串連結。
這邊就可以透過程式去產出你的text(條碼編號)甚至是自訂的寬度高度設定。

就這樣就完成了。可以印一印拿去賣了。

別抓我,這只是教學. . . 。

謝謝收看。
創作者介紹

右腦 想去環遊世界

yoonow 發表在 痞客邦 PIXNET 留言(0) 人氣()