翻譯|使用教程|編輯:黃竹雯|2019-04-18 10:32:33.000|閱讀 377 次
概述:TBarCode Office 是一款適用于 Microsoft? Word 2007、 2010和2013等具有強大功能的條碼插件。通過此插件只需點擊幾下鼠標便可在您的 Word 文檔 - 包括支持系列信件中添加所有條碼。從本篇文章開始,我們將講解在TBarCode Office中關于TBarCode OCX的常見問題解答。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
TBarCode Office 是一款適用于 Microsoft® Word 2007、 2010和2013等具有強大功能的條碼插件。通過此插件只需點擊幾下鼠標便可在您的 Word 文檔 - 包括支持系列信件中添加所有條碼。
從本篇文章開始,我們將講解在TBarCode Office中關于TBarCode OCX的常見問題解答。
TBarCode Office V10
使用數據源創建郵件合并文檔。在條件中插入條形碼。使用“插入合并字段”按鈕將郵件合并字段插入條形碼。
TBarCode V9
要插入多個條形碼,您可以使用中的串行字母功能TBarCode Word Toolbar。此功能允許您在創建郵件合并文檔后用條形碼替換標記的文本。有關TBarCode工具欄及其功能的更多信息,請參閱TBarCode OCX用戶手冊。
在設計視圖中打開一個新報告。如果你需要一個條形碼為每個記錄,然后插入ActiveX ®控制到具體區域,并在需要的地方進行定位。你可以Insert - ActiveX Control在主菜單中選擇。您將看到所有可用元素的列表,您可以從中選擇TBarCode。控件將插入詳細信息區域。對于表(或查詢)中的每個記錄集,將打印一次詳細信息區域。
在設計模式中右鍵單擊的TBarCode -的ActiveX ®控制。您將看到一個選擇的菜單Properties。在Control Source子菜單中的字段中,data您可以定義控件的內容。這意味著您可以選擇編碼為條形碼的表或查詢字段。
無法將TBarCode直接添加到報表中,但您可以“動態”創建條形碼圖像并將其加載到圖片框中。按照以下說明查看如何將TBarCode嵌入到Crystal Reports 8中。
在一個表格(名為“Form1”)中嵌入一個TBarCode控件(名為“tbc”)和一個圖片框(名為“TmpPicture1”)。然后將下面的功能代碼添加到表單中。它“動態”創建條形碼圖像,并使用PictureBox作為繪圖表面。
Public Function BarcodeGenerate(Id As String, Width As Long, Height As Long) As PictureBox Dim 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 = TmpPicture1 End 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).Image End Sub
在一個表格(名為“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 control On Error Resume Next Dim nWidth Dim path Dim fso ' here we use hard coded temp path (must exist!) path = "c:\temp\CR8_" & 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
如果未使用CreateObject指定完整的Prog-ID,則可能會收到此運行時錯誤。在項目設置中引用TBarCode Type Lib,并使用以下命令在VB中創建TBarCode對象(TBarCode OCX V9的示例):
Dim objTB作為TBarCode9 設置objTB = CreateObject(“TBarCode9.TBarCode9”) objTB.AboutBox
第一種方法使用預設(自定義)模塊寬度,設置DPI,然后計算符號的總寬度。該原理也適用于其他打印機。OCX方法BCWidthHdc2可用于計算條形碼的寬度。如果已設置模塊寬度,請使用[in] nWidth的虛擬值。如果以unit = mm計算寬度,則為SaveImage函數將其轉換為Pixels。高度有類似的功能 - 但高度只需要計算2D條形碼。
注意:當您將模塊寬度設置為精確到0.3125毫米或0.0123英寸時,您在812.8 dpi機器的打印光柵中是100%。這是推薦值之一。如果已啟用opt resolution標志,則模塊寬度將更改為打印柵格中的下一個(較低)像素邊界,因此會“優化”。必須相應地設置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
使用第二種更簡單的方法,模塊寬度未明確設置。相反,傳遞給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
- 未完待續 -
其他精彩教程,盡在資源列表
工廠春季采購季,知名企業良心推薦,詳情點擊下方圖片
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn