茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1674662 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
PIMG_00021.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

PHP特區 : [轉貼]探討使用PHP‧建立免費的條碼產生器(1D & 2D)

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]探討使用PHP‧建立免費的條碼產生器(1D & 2D)

探討使用PHP‧建立免費的條碼產生器(1D & 2D)

這幾個星期又有新的玩意,就是條碼產生器(Barcode generator)。上網找一下,原來一條條碼可是不簡單,有1D條碼,也有2D條碼。1D裡面,又有分Code 39、也有Code 93、Code 128,2D裡面,又有QR Code。

在網上,要找一個免費的條碼產生器,絕對不會有任何問題。但網上免費的,就是要一個一個輸入字串,再產生條碼。但要是我要輸入字串是百多項,那絕對是一個問題。

研究後,還是把百多項字串的放入一個Excel檔案,再經PHP程式輸出條碼到Excel檔案。

01. 要做到以上要求,第一當然是用PHPExcel讀入及寫出Excel檔案。

02. 要做到1D條碼,我用了 barcodephp提供的原始碼。

03. 要做到2D條碼,我用了 PHPQrCode提供的原始碼。

04. 最後,把檔案存入Excel檔案。

05. 理論完成了,當然要試一下效果。首先是測試 1D條碼產生器

06. 為避免不必要錯誤,可使用網站提供的 Excel模板(檔案為2003版本)。


07. 打開Excel檔案,第一欄(A)為項目號碼,只供參考使用,第二欄(B)為檔案名稱,當程式產生條碼後,會以這名稱存放在網站位置。第三欄(C)為條碼內容。其他內容程式將不會讀取。

08. 把完成的Excel檔案上存至網站內,再按『Upload Files』按鈕。

09. 選擇1D編碼方式,預設為Code 128,完成按『Submit』按鈕。

10. 有關結果會在瀏覽器顯示出來,並會提供Excel檔案可供下載。注意此Excel檔案為2007版本。

11. 打開Excel檔案,亦可看到相同的結果。

12. 來到 2D條碼產生器,其操作方式與1D條碼產生器相似。

13. 結果會在瀏覽器顯示出來,並提供Excel檔案可供下載。注意此Excel檔案為2007版本。

14. 存於網上的條碼資料及Excel檔案,會在2天之後被刪除。


原文出處: 探討使用PHP‧建立免費的條碼產生器(1D & 2D) | Knowledge base
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]PHP產生一維Barcode條碼

PHP產生一維Barcode條碼。

最近的一個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(條碼編號)甚至是自訂的寬度高度設定。

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


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

謝謝收看。



原文出處:波奇工作備忘:PHP產生一維Barcode條碼。 - 樂多日誌
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[分享] ISBN 原來就是 EAN-13

冷日因為某 Case 需要用到 Barcode,而且是要把 Barcode 作成 PDF 輸出,所以冷日做了些功課與測試!
Barcode 產出部份,本文上面一些已經提過很多方案,經測試也都可行。
PDF 的部份,因為看到 TCPDF 說他支援 Barcode 了,所以理所當然就選用他囉。
可好玩的來了,TCPDF 官方的說明中,說到他有支援 ISBN,可在 function 裡怎麼找都找不到 ISBN 啊!?偏偏客人又說一定要有 ISBN!
找了半天,幾乎逛遍 PHP 的所有 Barcode 產生器(TCPDF 內或其他 Barcode 產生器)卻都沒看到 ISBN!?明明客人說這很重要啊!?怎麼這麼難找呢!?
最後索性乾脆來找 ISBN 的定義好了,所以找到下面這篇文章:

ISBN 國際標準書號 (International Standard Book Number)


  國際標準書號-中文簡稱書號,英文簡稱ISBN。他是使用於圖書上的國際使用條碼系統,每一本出版的書均有一個獨一無二的 ISBN 號碼和條碼。這系統於1967年設立,在1976年引入香港。由2007年起ISBN 書號共有13個位的數目字,系統跟Bookland EAN-13s系統兼容。在2007年前,舊式ISBN只有10位數字。


  國際標準書號 ( International Standard Book Number, 簡稱 ISBN ) ,是為因應圖書出版、管理的需要,並便於國際間出版品的交流與統計所發展的一套國際統一的編號制度,由一組冠有“ ISBN” 代號 (978 或 979) 的13位數碼所組成,用以識別出版品所屬國別地區或語言、出版機構、書名、版本及裝訂方式。這組號碼也可以說是圖書的代表號碼。國際標準書號有助於簡化圖書發行及管理手續,便於出版品統計及國際交流。世界各地的出版機構、書商、及圖書館都可以利用國際標準書號迅速而有效的識別某一本書及其版本、裝訂形式。不論原書是以何種文字書寫,都可用電報或電話傳真訂購,並以電腦作業處理。


ISBN 書號共有5部份,分別為如下:


1. EAN 前綴: 978 或 979 為開首。


2. Group 語言代號: 香港為978-962、978-988;中國大陸為978-7

3. Publisher 出版社代號

4. Title 出籍代號

5. Check digit 終檢碼



上圖: ISBN 條碼的結構



國際標準書號(ISBN)申請須知 (香港)

1. 為出版書籍編配ISBN(書號)並非香港的法定要求,亦與版權無關。

2. 申請費用全免,書號不設限期,但不得重複使用。

3. 根據國際標準書號總部(International ISBN Agency)的指引,編配書號應以出版者的營運地點為準。因此,書刊註冊組發出的書號只供在香港營運的出版者使用,不應編配予在香港境外,包括中國內地和海外出版的書籍。

4. 公司/機構必須填報其商業登記證(由香港稅務局發出)或社團註冊證明書(由香港警務處警察牌照課發出)上的香港地址,並提交該登記證/證明書的副本以資證明。此外,還可能需要提交額外的營運地址證明。

5. 如申請者提交的文件齊備、資料正確,書號一般會在3 至4 個工作天內郵寄至申請表上填報的香港地址。

6. 書刊註冊組發出的書號數量,視乎出版者的實際需要(如出版進度)和以往的出版/書刊註冊記錄而定。一般來說,每宗申請會發出不少於十個書號。如所持有的書號已使用約七成,而有關書籍亦已按照《書刊註冊條例》(第142 章)的規定送交書刊註冊組註冊,則出版者可申請下一批書號,申請辦法與首次申請相同。

7. 書號如編配予非印刷類刊物(如電子書、有聲書),出版者必須以書面形式通知書刊註冊組。詳情可向書刊註冊組查詢。

8. 書號並不適用於報章、雜誌和期刊。該等刊物通常使用國際標準刊號(ISSN),詳情可瀏覽網址www.issn.org(只提供英文網頁)。

9. 書號不得轉讓。書刊註冊組發出的書號只供申請者使用。書籍上刊印的書號和出版者必須與書刊註冊組的記錄相符。

10. 資料如有更改,必須以書面形式通知書刊註冊組。如所更改的是公司/機構業務名稱或營業地址,必須提交更新的商業登記證/社團註冊證明書副本。


11. 如有需要,可參考下列網址:

國際標準書號總部 (International ISBN Agency): http://www.isbn-international.org/faqs/view/5(只提供英文網頁)

香港公共圖書館書刊註冊組: http://www.hkpl.gov.hk/tc_chi/books_reg/books_reg_isbn/books_reg_isbn.html


應用範圍


書號適用於書籍和小冊子,地圖冊和地圖,點字刊物,混合媒介刊物,電子刊物,縮微資料,教育錄影帶或電影及微型電腦軟件。


書號不適用於報紙、雜誌、期刊、日誌、年曆、廣告、沒有書名頁和內文的美術摺卡、音樂錄音。



在香港申請ISBN 書號


在香港申請ISBN 書號可以到香港公共圖書館的網站下載申請表格


http://www.hkpl.gov.hk/tc_chi/books_reg/books_reg_isbn/books_reg_isbn.html


原文出處:
教學: ISBN 國際標準書號 (International Standard Book Number)

終於在這裡看到關鍵了:『 ISBN 書號共有13個位的數目字,系統跟Bookland EAN-13s系統兼容
所以 ISBN 就是 EAN-13 就是了啦!
TCPDF 當然也有支援 EAN-13,所以我們就來看 EAN-13 吧:

EAN Barcode (EAN 條碼)

EAN 條碼的全名為歐洲商品條碼 (European Article Number),於1977 年開始使用,是由歐洲國家所開發出來 的條碼。目前已廣泛在全世界零售商品使用的條碼系統。 EAN 條碼由國際商品條碼協會(International Article Numbering Association) 負責分配,讓每件產品都有一個獨有的號碼。


2002年,美國與加拿大加入EAN組織,使EAN的使用更為全球化。


日本亦是使用EAN 系統的,叫作JAN (Japanese Article Number)。雖然名稱不同,但技術上跟EAN 一樣。


EAN 條碼的特性:


1. 只含數字。


2. 最後一位數字為終檢碼(check digit),以防讀取資料的錯誤情形發生。


3. 具有左護線、中線及右護線,分隔不同部分。及讓肉眼分別出是EAN 條碼。


4. 左右側要有安全空間。


5. 條碼長度固定,欠缺彈性。


6. 世界通用。


EAN 共有兩種格式 EAN-13 和 EAN-8


EAN-13 碼:由 13 個數位組成,為 EAN 的標準編碼型式。


EAN- 8 碼:由 8 個數位組成,條碼較細。當商品的包裝的面積小於 120 平方厘米時,就可使用。


EAN-13


EAN-13 共有 13 位數字,由 0-9 組成。頭 3 位數字是國家(或地區)的編號, 4-12 位數字為商品號碼,最 後一位為檢查碼 (check digit) 。所有 EAN13 條碼都是獨一無二的,每件產品只有一個EAN13的條碼。

開首的三個數字是地區碼,這是指申請條碼的所屬地區,但並不是指是生產地。例如香港的地區碼是489,但如 港商的產品在大陸生產,但在香港申請條碼。產品上仍然可以使用香港的地區碼,雖產地是大陸。




(1) 國家代號(country prefix) 由2-3個數字字元(character)組成,代表商品之原產國家代號,係由 EAN指定為各會員國之條碼推廣機構的國家 代表號。


(2) 製造商號碼(manufacturer's of product) 代表製造商之編號,由國家絛碼機構指定,由4-5個數字字元組成。


(3) 商品編號(specific product item) 代表製造商之商品編號,標準型有5個數字字元。


(4) 終檢碼(check digit) 其主要作用係防止條碼因印刷或磨損而使機器讀取之錯誤,作為檢查驗證之用。標準碼及縮短碼均只有一個數字 字元。




原文出處: 教學:EAN Barcode (EAN 條碼)

前一個主題 | 下一個主題 | 頁首 | | |



Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|