在FastReport .Net應用程式中建立和輸出ITF-14條形碼

roffey發表於2021-03-10

FastReport .NET是適用於Windows Forms,ASP.NET,MVC和.NET Core的全功能報表解決方案。它可以在Microsoft Visual Studio 2005-2019中使用。支援.Net Framework 2.0-4.x,.NET Core 3.0及以上版本。

在FastReport .NET 2021.1的新版本中,我們實現了對.NET 5的支援。新增了新條形碼-Deutsce Post Leitcode。將RTF轉換為報告物件的演算法已得到顯著改進。並且還新增了用於轉換數字的新功能。歡迎下載體驗。(點選下方按鈕下載)

ITF-14(交錯的五分之二)是一種兩頻帶的數字程式碼,也稱為高密度程式碼,它只能將數字編碼為偶數。每個條形碼都用暗線編碼一個奇數,在其之間用空格編碼一個偶數。要對奇數個數字進行編碼,必須在最左邊(最高)的數字字尾零。編碼的細節將在後面說明。 

條形碼ITF-14或5的交錯2的實現用於對全球貿易商品編號進行編碼。全球貿易專案編號(GTIN)是由GS1開發的貿易專案識別符號 。這是一個國際組織,致力於後勤單位的記錄儲存和條形碼編碼的標準化。

GS1識別符號用於手動搜尋資料庫中的產品資訊,或者透過指向條形碼的條形碼掃描器輸入數字來搜尋。

讓我們簡要地看一下條形碼標準。已經建立了兩個主要的條形碼標準:單個商品的EAN / UCC-13。

歐洲商品編號EAN(歐洲商品編號),以後也稱為國際商品編號,這是一種用於對產品和製造商標識進行編碼的歐洲條形碼標準。ISO / IEC 15420:2009資訊科技—自動識別和資料捕獲技術— EAN / UPC條形碼符號規範。

產品編號EAN / UCC-13具有以下結構:

  • 前2-3個數字-EAN俄羅斯460-469的國家/地區註冊程式碼;400-440德國;590波蘭; 84西班牙;00-09美國和加拿大;560葡萄牙; 840-849西班牙;789-790-巴西。
  • 接下來的4-5個數字–是國家組織內的商業註冊號碼;
  • 下一組數字是指公司內產品的序列號;
  • 最後的第13位數字是校驗和或校驗數字。它是根據前十二個計算得出的。

重要的是要記住,EAN條形碼用於唯一標識產品。ITF-14條碼用於自動清點放置在個人或團體運輸包裝中的貨物清單。計算機會計系統不僅確定包裝中的貨物型別,還確定其數量。簡而言之,ITF-14程式碼組是EAN-13程式碼的子集,與它的區別是附加的第一位數字。

ITF-14通常用於在瓦楞紙板上列印,為紙板箱,板條箱或托盤貼標籤。它們被零售商,製造商和分銷商廣泛用於精確的物流和庫存處理。它們也可以在機場的行李識別,機票編號,郵政物品識別中找到。

這是MilkyWay的基於ITF-14盒的應用程式的一個示例。

FastReport.NET

ITF條形碼不僅可以列印在標籤上,還可以直接列印在紙箱,瓦楞紙箱或任何其他粗糙表面上。即使這樣,掃描器也會成功讀取它。

這是基於XEROX 008R13041訂書釘盒的另一個示例。

FastReport.NET

因為ITF-14條碼旨在識別運輸集裝箱中的貨物,所以它不提供在POS終端上的處理。

編碼功能

ITF-14始終編碼14位數字,但我們僅輸入13位數字。為什麼?我給你一個例子的方案:

FastReport.NET

該指示器指示特定紙箱的包裝水平。此明確的字首可以在0到8的範圍內。(例如1代表盒子,2代表板條箱,等等)。

GS1公司的字首可以是7到10位數字,並且被分配來唯一地標識特定品牌的所有者。供應商必須直接從GS1獲得此字首,以唯一標識其公司。

專案參考-指的是紙箱由同一專案組成時,用於GTIN專案級別的同一產品編號。具有產品範圍的紙箱將分配一個新的產品編號。

校驗位是給定條形碼的最後一位,它是計算得出的校驗和,但是它不是由所有先前的位確定的,而是由第一位後的12位確定的。使用MOD10演算法,計算出的校驗和可防止替換錯誤。
條形碼周圍的黑色粗邊框稱為Bearer Bar。該條形碼可平衡列印板在條形碼錶面上產生的壓力,並透過減少掃描不完整字元的可能性來提高可讀性。ITF-14可提供可見或隱藏的垂直支撐杆。

大小-定義ITF-14條形碼符號寬度的兩個元件是寬度與狹窄部分的比率。該比率保持恆定,並且應始終在2.25:1和3:1之間。

讓我們繼續練習-如何在MS Visual Studio的.NET專案中快速完成ITF-14?

在設計器中設定ITF-14 

FastReport.NET

新增到條形碼錶,然後完全選擇ITF-14。條形碼2/5交錯,2/5工業,2/5矩陣也交錯為5中的2,但是它們是完全不同的物件。 您可以在此處閱讀有關它們的更多資訊。

我將以ITF-14和2/5 Interleaved為例。如您所見,區別很明顯。

FastReport.NET

接下來,我們將看到大量的屬性需要進行微調,但讓我們關注一些特定的屬性:

“角度”-此屬性使您可以將物件的旋轉設定為固定角度之一-0、90、180、270度。

“縮放”-定義條形碼的比例。此屬性僅與“自動縮放”屬性一起使用。

“ AutoSize” –如果啟用此屬性,則將拉伸物件以顯示整個條形碼。如果禁用,條形碼將被拉伸到物件的大小。

“ ShowText” –定義是否應顯示條形碼底部的文字。

“ DataColumn” –從中載入物件文字的資料欄位。

“表示式” –返回物件文字的表示式。

“文字” –文字物件。

“填充” –允許您從物件的邊緣設定縮排,以畫素為單位。

“ WideBarRatio” –所有線性條形碼都具有此屬性。它定義條形碼的寬條的相對大小。

“ CalcCheckSum” –許多線性條形碼都具有此功能。它確定是否應自動讀取校驗和。如果禁用,則校驗和必須出現在物件的文字中。

“ DrawVerticalBearerBars” –如果啟用此屬性,則物件將顯示邊線。如果禁用,條形碼將具有以下外觀:

FastReport.NET

ITF-14和交錯式5之2的比較

說到這兩個條形碼,交錯的5之2是ITF-14的無量綱版本,因為ITF-14具有嚴格的字元數,即13 +1校驗和。5的交錯2也可以包含這13個字元。讓我給你看一個例子:

FastReport.NET

第一個是ITF-14,下面是5的Interleaved2。值編碼相同,條形相同。寬度因標準不同而不同。因此,如果在交錯的2之5中對相同的13個字元進行編碼,我們將得到ITF-14,但是對於此標準沒有任何特殊的設計-僅相同的值。

使用程式碼建立ITF-14

從程式碼建立報告時,可以在使用者應用程式程式碼中新增條形碼物件。讓我們看一個示例,該示例以程式碼建立報表,並向其中新增ITF-14條形碼物件:

在.NET應用程式中建立和輸出ITF-14條形碼

//Create report object
Report report = new Report();
//Ceate report page
ReportPage page = new ReportPage();
//Create unique name
page.CreateUniqueName();
//Add the page to report collection
report.Pages.Add(page);
//create data band
DataBand dataBand = new DataBand();
//Create band with unique name
dataBand.CreateUniqueName();
//Add it to band collection
page.Bands.Add(dataBand);
 
//Create barcode object
FastReport.Barcode.BarcodeObject barcode = new FastReport.Barcode.BarcodeObject();
//Set the barcode type
barcode.Barcode = new FastReport.Barcode.BarcodeITF14();
//Set the code number
barcode.Text = "597861558";
//Put the barcode on the page
barcode.Parent = dataBand;
//Set the object dimensions 
barcode.Bounds = new RectangleF(0, 0, Units.Centimeters * 10, Units.Centimeters * 3);
//Show report
report.Show();

因此,ITF-14僅編碼數字,並且僅用於內部帶有EAN / UCC-13條碼專案的包裝盒。因此,藉助對ITF-14和其他條形碼的支援,FastReport.NET允許您為貿易,物流和庫存管理建立完整的報告和標籤。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69995027/viewspace-2762109/,如需轉載,請註明出處,否則將追究法律責任。

相關文章