翻譯|使用教程|編輯:黃竹雯|2018-10-16 13:18:05.000|閱讀 380 次
概述:本系列教程會解答您在使用條形碼生成控件TBarCode SDK產品時遇到的絕大部分疑惑。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
TBarCode SDK是一款可以在任意應用程序和打印機下生成和打印所有條碼的條碼軟件組件。TBarCode SDK對于Microsoft® Office 用戶以及軟件開發者提供條碼打印。使用此款條碼軟件組件您可以以完美效果生成和打印所有用于工業和商業條碼符號。
下面我們將向您展示如何在數據庫啟動時獲得許可(TBarCode OCX V11的示例)。使用以下功能創建新模塊(在Microsoft VBA編輯器中):
Public Function LicenseTBarCode() Dim TB As New TBarCode11 TB.LicenseMe "Mem:Licensee", eLicKindDeveloper, 1, "Key", TBarCode11Lib.eLicProd1D Set TB = Nothing End Function
使用以下設置創建名為“Autoexec”的新Macro:
Action = RunCode Functionname = License TBarCode()
注:不要忘記在菜單Tools - References中包含對ActiveX Control的類型庫的引用(否則不能使用枚舉)。我們建議在項目屬性窗口中使用密碼保護您的VBA代碼。
方法1
第一種方法使用預設(自定義)模塊寬度,設置DPI,然后計算符號的總寬度。該原理也適用于其他打印機。
OCX方法BCWidthHdc2可用于計算條形碼的寬度。如果已設置模塊寬度,請使用[in] nWidth的虛擬值。如果以unit = mm計算寬度,則將其轉換為Pixels,然后將其轉換為SaveImage函數。高度有類似的功能 - 但高度只需要計算2D條形碼。
注意:當您將模塊寬度設置為精確到0.3125毫米或0.0123英寸時,您在812.8 dpi機器的打印光柵中是100%。這是推薦值之一。如果已啟用opt resolution標志,則模塊寬度將更改為打印柵格中的下一個(較低)像素邊界,因此會“optimized”。必須相應地設置Dpi以進行此優化。
示例代碼:
Dim widthPx As Long Dim heightPx As Long Dim heightMM As Double TBarCode111.Dpi = 812.8 TBarCode111.SizeMode = eSizeMode_CustomModuleWidth TBarCode111.ModuleWidth = "312.5" heightPx = 500 heightMM = heightPx * (25.4 / TBarCode111.Dpi) widthPx = TBarCode111.BCWidthHdc2(0, 1000, heightMM * 1000, eMUPixel) TBarCode111.SaveImage "c:\temp\test2.tif", eIMTif, widthPx, heightPx, 812.8, 812.8
方法2
使用第二種更簡單的方法,模塊寬度未明確設置。相反,傳遞給GetOptimalBitmapSize(OCX API)函數的縮放因子控制模塊寬度。如果您使用它,請不要在API中設置自定義模塊寬度和/或最佳分辨率。該函數執行一些額外的放大(基于dpi),在調用函數時應該用DPI = 0關閉。
因為我們知道打印機的DPI,所以我們也知道像素(打印機點)尺寸。我們還知道一個模塊應始終是一個打印機點的整數倍。我們必須考慮通常一個模塊根本不應小于0.190毫米(但取決于條形碼類型)。然后,您需要做的就是將ScaleX = ModuleWidth / PixelSize因子(= 8,9,10,...)傳遞給GetOptimalBitmapSize函數,并使用SaveImage返回的值。
模塊寬度:0.0123英寸最佳值為10像素,812.8 dpi。因此,GetOptimalBitmapSize函數的縮放因子為10。
示例代碼:
Dim width As Long Dim height As Long width = 1 height = 500 TBarCode111.Dpi = 0 'turn off additional dpi/96 scaling TBarCode111.GetOptimalBitmapSize 10, 10, width, height TBarCode111.SaveImage "c:\temp\test.tif", eIMTif, width, height, 812.8, 812.8
請使用此代碼段作為起點:
' set barcode type = PDF417 Me.bc.Object.BarCode = 55 ' set size mode to CustomModuleWidth Me.bc.Object.SizeMode = 1 ' now adjust module width to 0.254 mms Me.bc.Object.ModuleWidth = "254" ' set number of data columns ' optional parameter, but required to get constant width Me.bc.Object.PDF417.Columns = 5 ' adjust row height to 3 times of the module width Me.bc.Object.PDF417.RowHeight = 254 * 3 Me.bc.Object.Text = "my data"
請使用此代碼段作為起點:
Public Function CalculateMod10(data As String) As String Dim tbc As TBarCode11Lib.TBarCode11 Set tbc = CreateObject("TBarCode11.TBarCode11") Dim cd As String cd = tbc.CalculateCheckdigits(eCDMod10, data) CalculateMod10 = Left(cd, 1) End Function
福利時間:點擊此處>>>>>>獲得TBarCode SDK的完整應用示例。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn