条形码控件TBarCode SDK系列教程四(TBarCode OCX篇)

本系列教程会解答您在使用条形码生成控件TBarCode SDK产品时遇到的绝大部分疑惑。

TBarCode SDK是一款可以在任意应用程序和打印机下生成和打印所有条码的条码软件组件。TBarCode SDK对于MicrosoftOffice 用户以及软件开发者提供条码打印。使用此款条码软件组件您可以以完美效果生成和打印所有用于工业和商业条码符 。

TBarCode SDK最新版下载

一. 关于Microsoft Access – 使用Autoexec Macro进行许可

Public Function LicenseTBarCode() Dim TB As New TBarCode11 TB.LicenseMe "Mem:Licensee", eLicKindDeveloper, 1, "Key", TBarCode11Lib.eLicProd1D Set TB = NothingEnd Function

使用以下设置创建名为“Autoexec”的新Macro:

Action = RunCodeFunctionname = License TBarCode()

注:不要忘记在菜单Tools – References中包含对ActiveX Control的类型库的引用(否则不能使用枚举)。我们建议在项目属性窗口中使用密码保护您的VBA代码。

二. 如何在VB6中为812.8 dpi创建最佳位图(1D代码)/strong>

方法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 LongDim heightPx As LongDim heightMM As DoubleTBarCode111.Dpi = 812.8TBarCode111.SizeMode = eSizeMode_CustomModuleWidthTBarCode111.ModuleWidth = "312.5"heightPx = 500heightMM = heightPx * (25.4 / TBarCode111.Dpi)widthPx = TBarCode111.BCWidthHdc2(0, 1000, heightMM * 1000, eMUPixel)TBarCode111.SaveImage "c:temptest2.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 LongDim height As Longwidth = 1height = 500TBarCode111.Dpi = 0  'turn off additional dpi/96 scalingTBarCode111.GetOptimalBitmapSize 10, 10, width, heightTBarCode111.SaveImage "c:temptest.tif", eIMTif, width, height, 812.8, 812.8

三. 如何在Access VBA中生成PDF417/strong>

请使用此代码段作为起点:

' set barcode type = PDF417Me.bc.Object.BarCode = 55' set size mode to CustomModuleWidthMe.bc.Object.SizeMode = 1' now adjust module width to 0.254 mmsMe.bc.Object.ModuleWidth = "254"' set number of data columns' optional parameter, but required to get constant widthMe.bc.Object.PDF417.Columns = 5' adjust row height to 3 times of the module widthMe.bc.Object.PDF417.RowHeight = 254 * 3Me.bc.Object.Text = "my data"

四. 如何在Access VBA中计算Mod-10/strong>

请使用此代码段作为起点:

Public Function CalculateMod10(data As String) As StringDim tbc As TBarCode11Lib.TBarCode11Set tbc = CreateObject("TBarCode11.TBarCode11")Dim cd As Stringcd = tbc.CalculateCheckdigits(eCDMod10, data)CalculateMod10 = Left(cd, 1)End Function

福利时间:点击此处>>>>>>获得TBarCode SDK的完整应用示例。

标签:条形码条形码生成工业4.0工业物联

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年9月12日
下一篇 2018年9月12日

相关推荐

发表回复

登录后才能评论