PHP產生條碼 之一 條碼介紹

來源:互聯網
上載者:User

     在一些生產製造行業條碼是必不可少的。比如,列印工作單、原材料出入庫、成品出庫發貨等都需要掃描條碼進行資料擷取。最近發現公司列印出的工作單上出現了條碼,列印工單的程式是用PHP寫的,於是乎看看原始碼是怎麼實現的。原來是通過一個產生Barcode的類將相應的資料轉給該程式並產生JPG檔案。
     自己在網上搜了搜實現Barcode的其他方法,找到一個國外的開來源程式專門用來產生“一維條碼”。首先,複習一下條碼的相關知識。

條碼分類

一、按碼制分類
1. UPC碼
1973年,美國率先在國內的商業系統中應用於UPC碼之後加拿大也在商業系統中採用UPC碼。UPC碼是一種長度固定的連續型數字式碼制,其字元集為數字0~9。它採用四種元素寬度,每個條或空是1、2、3或4倍單位元素寬度。IPC碼有兩種類型,即UPC-A碼和UPC-E碼。

2. EAN碼
1977年,歐洲經濟共同體各國按照UPC碼的標準制定了歐洲物品編碼EAN碼,與UPC碼相容,而且兩者具有相同的符號體系。EAN碼的字元編號結構與UPC碼相同,也是長度固定的、連續型的數字式碼制,其字元集是數字0~9。它採用四種元素寬度,每個條或空是1、2、3或4倍單位元素寬度。EAN碼有兩種類型,即EAN-13碼和EAN-8碼。

3. 交叉25碼
交叉25碼是一種長度可變的連續型自校正數字式碼制,其字元集為數字0~9。採用兩種元素寬度,每個條和空是寬或窄元素。編碼字元個數為偶數,所有奇數位置上的資料以條編碼,偶數位置上的資料以空編碼。如果為奇數個資料編碼,則在資料前補一位0,以使資料為偶數個數位。

4. 39碼
39碼是第一個字母數字式碼制。1974年由Intermec公司推出。它是長度可比的離散型自校險字母數字式碼制。其字元集為數字0—9,26個大寫字母和7特殊字元(-、。、Space、/、%、¥),共43個字元。每個字元由9個元素組成,其中有5個條(2個寬條,3個窄條)和4個空(1個寬空,3個窄空),是一種離散碼。

5. 庫德巴碼
庫德巴碼(Code Bar)出現於1972年,是一種長度可變的連續型自校正數字式碼制。其字元集為數字0—9和6個特殊字元(-、:、/、。、+、¥),共16個字元。常用於倉庫、血庫和航空快遞包裹中。

6. 128碼
128碼出現於1981年,是一種長度可變的連續型自校正數字式碼制。它採用四種元素寬度,每個字元由3個條和3個空,共11個單元元素寬度, 又稱(11,3)碼。它由106個不,同條碼字元,每個條碼字元有三種含義不同的字元集,分別為A、B、C。它使用這3個交替的字元集可將128個ASCII碼編碼。

7. 93碼
93碼是一種長度可變的連續型字母數字式碼制。其字元集成為數字。0-9,26個大寫字母和7個特殊字元(-、。、Space、/、+、%、¥)以及4個控制字元。每個字元由3個條和3個罕,共9個元素寬度。

8. 49碼
49碼是一種多行的連續型、長度可變的字母數字式碼制。出現於1987年,主要用於小物品標籤上的符號。採用多種元素寬度。其字元集為數字0-9,26個大寫字母和7個特殊字元(-、。、Space、%、/、+、%、¥)、3個功能鍵(F1、 陀、F3)和3個變換字元,共49個字元。

9. 其他碼制
除上述碼外,還有其他的碼制,例如25碼出現於1977年,主要用於電子元器件標籤;矩陣25碼是11碼的變形;Nixdorf碼已被EAN碼所取代Plessey碼出現於1971年5月主要用於圖書館等。

二、按維數分類
1. 普通的一維條碼
普通的一維條碼自本問世以來,很快得到了普及並廣泛應用。但是由於一維條碼的資訊容量很小,如商品上的條碼僅能容13位的阿拉伯數字,更多的描述商品的資訊只能依賴資料庫的支援,離開了預先建立的資料庫,這種條碼就變成了無源之水,無本之木,因而條碼的應用範圍受到了一定的限制。

2. 二維條碼
除具有普通條碼的優點外,二維條碼還具有資訊容量大、可靠性高、保密防偽性強、易於製作、成本低等優點。<BR>美國Symbol公司於1991年正式推出名為PDF417的二維條碼,簡稱為PDF417條碼,即“攜帶型資料檔案”。FDF417條碼是一種高密度、高資訊含量的攜帶型資料檔案,是實現證件及卡片等大容量、高可靠性資訊自動儲存、攜帶並可用機器自動識讀的理想手段。

3. 多維條碼
進入20世紀80年代以來,人們圍繞如何提高條碼符號的資訊密度,進行了研究工作。多維條碼和集裝箱條碼成為研究、以展與應用的方向。<BR>資訊密度是描述條碼符號的一個重要參資料,即單位長度中可能編寫的字母個數,通常記作:字母個數/cm。影響資訊密度的主要因素是條、空結構和窄元系的寬度。<BR>128碼和93碼就是人們為提高密度而進行的成功的嘗試。128碼城1981年被推薦應用;而93碼於1982年投入使用。這兩種碼的符號密度均比39碼高將近30%。<BR>隨著條碼技術的發展和條碼三制的種類不斷增加,條碼的標準化顯得愈來愈重要。為此,曾先後制定了軍用標準1189;交叉25碼、39碼和Coda Bar碼ANSI標準MH10.8M等。同時,一些行業也開始建立行業標準,以適應發展的需要。此後,戴維·阿利爾又研製出49碼。這是一種非傳統的條碼符號,它比以往的條碼符號具有更高的密度。特德·威廉姆斯(Ted Williams)GFI988推出16K碼,該碼的結構類似於49碼,是一種比較新型的碼制,適用於雷射系統。

條碼執行個體

1. Codabar   Manual Reference

  • Supports: [0-9], [A-D], - $ : / . +
  • Must start and end with a letter
  • Contains an auto-checksum, no checksum number

2. Code 11   Manual Reference

  • Supports: [0-9], -
  • Rarely used
  • Contains auto-checksum numbers

3. Code 39   Manual Reference

  • Supports: [0-9], [A-Z], - . $ / + % [SPACE]
  • Really used, many uses
  • Contains a optional checksum
  • Resulting barcode is pretty big

4. Code 39 Extended   Manual Reference

  • Supports: [0-9], [A-Z], - . $ / + % [SPACE] + ASCII 0-127
  • The extension of this barcode is optional. You must specify your reader that you read Code 39 Extended.

5. Code 93   Manual Reference

  • Supports: [0-9], [A-Z], - . $ / + % [SPACE] + ASCII 0-127
  • Similar to Code 39 but less used
  • Supports ASCII 0-127 and is not optional like the Code 39
  • Bigger density

6. Code 128   Manual Reference

  • Supports: [0-9], [a-zA-Z], tous les characteres
  • Contains 3 tables to better encode data
  • Groups numbers by two for a better compression

7. EAN-8   Manual Reference

  • Supports: [0-9]
  • Encodes 7 numbers and a checksum number
  • It is the EAN-13 short version
  • You have to get a number with a license to use in the public

8. EAN-13   Manual Reference

  • Supports: [0-9]
  • Encodes 12 numbers with a checksum number
  • It is the UPC-A extension which adds the country code
  • You have to get a number with a license to use in the public

9. ISBN-10 / ISBN-13   Manual Reference

  • Supports: [0-9]
  • Based on EAN-13, used for books
  • You have to get a number with a license to use in the public

10. Interleaved 2 of 5   Manual Reference

  • Supports: [0-9]
  • Based on Standard 2 of 5
  • Optional checksum number

11. Standard 2 of 5   Manual Reference

  • Supports: [0-9]
  • Hard to read for readers because really low density
  • Optional checksum number

12. MSI Plessey   Manual Reference

  • Supports: [0-9]
  • Formerly used for inventory
  • Optional checksum number

13. UPC-A   Manual Reference

  • Supports: [0-9]
  • Encoded like EAN-13
  • Encodes 11 numbers with a checksum number
  • The numbers depends on what you sell
  • You have to get a number with a license to use in the public

14. UPC-E   Manual Reference

  • Supports: [0-9]
  • Short version of UPC-A
  • Encodes 7 numbers with a checksum number
  • The numbers depends on what you sell
  • You have to get a number with a license to use in the public

15. UPC Extension 2   Manual Reference

  • Supports: [0-9]
  • Contains 2 characters
  • Indicates more information on the product
  • Must be joined to a UPC or EAN symbol

16. UPC Extension 5   Manual Reference

  • Supports: [0-9]
  • Contains 5 characters
  • Usually indicates the suggested price of the product
  • Must be joined to a UPC or EAN symbol

17. PostNet   Manual Reference

  • Supports: [0-9]
  • Contains either 5, 9 or 11 numbers
  • Used to encode envelopes in United States

18. Other   Manual Reference

  • Create your own barcode
  • Add the text you want

參考資料:http://www.barcodephp.com/1d/overview.php

待續……

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.