Crystal Report 如何列印條碼? |
尚未結案
|
cancer
高階會員 發表:58 回覆:319 積分:190 註冊:2004-07-31 發送簡訊給我 |
大家好,請問用 Crystal Report 如何列印條碼?
我查過很多網頁,包括 K-top 的,試過都不行,以最簡單的 Code39 為例,把欄位內容前後各加一個星號 *,應該就能滿足 Code39 的要求,字型選已按裝好的 3 of 9 Barcode,報表跑出來之後,拿給別人用讀碼機讀,讀不到,也試過複製螢幕存成圖檔,拿條碼辦識軟體來描一下圖檔,仍然分析不出來。 後來改試 Code128,用 Delphi 把文字編成 Code128,再用 Crystal Report 出來,一樣是跟上面一樣,讀不到,也無法用軟體辦識。 參考網頁後自己寫的轉碼程式如下。 function GetCode128(ApplyDocNo : string) : string; var i, CheckSum : integer; begin Result := ''; if ApplyDocNo = '' then exit; CheckSum := 104; //計算 CheckSum 用 Code128 編碼,STARTA 為 103 for i := 1 to Length(ApplyDocNo) do // Ascii 126 及以前的,都是減 32 就得到 Code128 編號 CheckSum := CheckSum (Ord(ApplyDocNo[i]) - 32) * i; // -32 轉為 Code128 序數 CheckSum := CheckSum mod 103; Result := #154 ApplyDocNo Chr(CheckSum 32) #156; // 輸出文字用 ASCII end; 編輯記錄
cancer 重新編輯於 2012-01-18 00:29:45, 註解 無‧
|
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
code39 的確是前後加上星號
但是 code128 不能這樣算,符號、字母可以用 A 組或是 B 組,但是數字只能用 C 組的壓縮碼 就算您正確的算出來了,算出來的結果也不一定和條碼字型能對應得上 因為不同廠牌的 code128 條碼字型對應 code128 序數的方式都不同 這也就是為什麼條碼字型廠商讓您免費下載條碼字型,卻要賣您轉換 API 的原因 印出來了還有好不好掃的問題,太粗、太細都不好掃 不是每一個人都有條碼掃描器,不過如果您有智慧型手機,可以下載條碼掃描軟體,掃得出來的話,條碼掃描器一定沒問題 有關條碼詳細的資料,請參閱 http://www.barcodeisland.com/symbolgy.phtml
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |