TBarCode Office 是一款适用于 Microsoft? Word 2007、 2010和2013等具有强大功能的条码插件。通过此插件只需点击几下鼠标便可在您的 Word 文档 – 包括支持系列信件中添加所有条码。从本篇文章开始,我们将讲解在TBarCode Office中关于TBarCode OCX的常见问题解答。
TBarCode Office 是一款适用于 MicrosoftWord 2007、 2010和2013等具有强大功能的条码插件。通过此插件只需点击几下鼠标便可在您的 Word 文档 – 包括支持系列信件中添加所有条码。
从本篇文章开始,我们将讲解在TBarCode Office中关于TBarCode OCX的常见问题解答。
※如何在Word中使用条形码创建邮件合并文档/span>
TBarCode Office V10
使用数据源创建邮件合并文档。在条件中插入条形码。使用“插入合并字段”按钮将邮件合并字段插入条形码。
TBarCode V9
要插入多个条形码,您可以使用中的串行字母功能TBarCode Word Toolbar。此功能允许您在创建邮件合并文档后用条形码替换标记的文本。有关TBarCode工具栏及其功能的更多信息,请参阅TBarCode OCX用户手册。
※如何在 告中插入TBarCode OCX(作为ActiveX控件)/span>
在设计视图中打开一个新 告。如果你需要一个条形码为每个记录,然后插入ActiveX 制到具体区域,并在需要的地方进行定位。你可以Insert – ActiveX Control在主菜单中选择。您将看到所有可用元素的列表,您可以从中选择TBarCode。控件将插入详细信息区域。对于表(或查询)中的每个记录集,将打印一次详细信息区域。
※如何控制 表中条形码的内容/span>
在设计模式中右键单击的TBarCode -的ActiveX 制。您将看到一个选择的菜单Properties。在Control Source子菜单中的字段中,data您可以定义控件的内容。这意味着您可以选择编码为条形码的表或查询字段。
※Crystal Reports中的条形码
无法将TBarCode直接添加到 表中,但您可以“动态”创建条形码图像并将其加载到图片框中。按照以下说明查看如何将TBarCode嵌入到Crystal Reports 8中。
通过图片框嵌入(VB6样本)
在一个表格(名为“Form1”)中嵌入一个TBarCode控件(名为“tbc”)和一个图片框(名为“TmpPicture1”)。然后将下面的功能代码添加到表单中。它“动态”创建条形码图像,并使用PictureBox作为绘图表面。
Public Function BarcodeGenerate(Id As String, Width As Long, Height As Long) As PictureBoxDim nSizing, cm tbc.Text = Id cm = tbc.CountModules TmpPicture1.Cls TmpPicture1.ScaleMode = vbPixels Form1.ScaleMode = vbPixels Width = ScaleX(Width, vbTwips, vbPixels) Height = ScaleY(Height, vbTwips, vbPixels) nSizing = Int(Width / cm) If nSizing < 1 Then nSizing = 1 TmpPicture1.Width = cm * nSizing TmpPicture1.Height = Height DoEvents tbc.BCDraw TmpPicture1.hDC, 0, 0, TmpPicture1.Width, TmpPicture1.Height Set BarcodeGenerate = TmpPicture1End Function
在 告事件代码(格式事件)中调用条形码生成器功能,并将新创建的条形码图像分配给 告中的图片框(名为Picture1)。
Private Sub Section3_Format(ByVal pFormattingInfo As Object) 'create the bar code for each record set Dim data As String data = Field1.Value Set Me.Picture1.FormattedPicture = Form1.BarcodeGenerate(data, Me.Picture1.Width, Me.Picture1.Height).ImageEnd Sub
通过位图文件嵌入(VB6示例)
在一个表格(名为“Form1”)中嵌入一个TBarCode控件(名为“TBarCode”)并根据需要调整条形码类型和所有其他设置。该条形码对象将在 告运行期间用于“动态”创建条形码。在 告事件代码(格式事件)中,在临时文件夹中创建动态条形码图像,并将此图像加载到 告中的图片框(名为pictBarCode)。
Private Sub Section3_Format(ByVal pFormattingInfo As Object)' Simulate data binding' by saving the bar code as bitmap with data from fldArticleID' then reload it to a picture controlOn Error Resume NextDim nWidthDim pathDim fso ' here we use hard coded temp path (must exist!) path = "c:tempCR8_" & Me.fldArticleID.Value & ".bmp" ' reference the TBarCode Control in the Form1 Form1.TBarCode.Text = Me.fldArticleID.Value Form1.TBarCode.PrintDataText = False nWidth = Form1.TBarCode.CountModules * 3 'adapt width to number of graphical modules Form1.TBarCode.SaveImage path, eIMBmp, nWidth, 100, 96, 96 Me.pictBarcode.SetOleLocation (path)End Sub
※VB运行时错误’429’:ActiveX组件无法创建对象。
如果未使用CreateObject指定完整的Prog-ID,则可能会收到此运行时错误。在项目设置中引用TBarCode Type Lib,并使用以下命令在VB中创建TBarCode对象(TBarCode OCX V9的示例):
Dim objTB作为TBarCode9 设置objTB = CreateObject(“TBarCode9.TBarCode9”) objTB.AboutBox
※如何在VB6中为812.8 dpi创建最佳位图(1D代码)/span>
方法一
第一种方法使用预设(自定义)模块宽度,设置DPI,然后计算符 的总宽度。该原理也适用于其他打印机。OCX方法BCWidthHdc2可用于计算条形码的宽度。如果已设置模块宽度,请使用[in] nWidth的虚拟值。如果以unit = mm计算宽度,则为SaveImage函数将其转换为Pixels。高度有类似的功能 – 但高度只需要计算2D条形码。
注意:当您将模块宽度设置为精确到0.3125毫米或0.0123英寸时,您在812.8 dpi机器的打印光栅中是100%。这是推荐值之一。如果已启用opt resolution标志,则模块宽度将更改为打印栅格中的下一个(较低)像素边界,因此会“优化”。必须相应地设置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
方法二
使用第二种更简单的方法,模块宽度未明确设置。相反,传递给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
– 未完待续 –
其他精彩教程,尽在资源列表
工厂春季采购季,知名企业良心推荐,详情点击下方图片

标签:条码生成条码识别条码读取工业4.0
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!