ByteScout Premium Suite - Visual Basic 6 - Printing barcodes with barcode sdk - ByteScout

ByteScout Premium Suite – Visual Basic 6 – Printing barcodes with barcode sdk

  • Home
  • /
  • Articles
  • /
  • ByteScout Premium Suite – Visual Basic 6 – Printing barcodes with barcode sdk

printing barcodes with barcode sdk in Visual Basic 6 with ByteScout Premium Suite

How to apply ByteScout Premium Suite for printing barcodes with barcode sdk in Visual Basic 6

Every ByteScout tool includes sampleVisual Basic 6 source codes that you can find here or in the folder with installed ByteScout product. Printing barcodes with barcode sdk in Visual Basic 6 can be applied with ByteScout Premium Suite. ByteScout Premium Suite is the set that includes 12 SDK products from ByteScout including tools and components for PDF, barcodes, spreadsheets, screen video recording.

Save time on writing and testing code by using the code below and use it in your application. If you want to know how it works, then this Visual Basic 6 sample code should be copied and pasted into your application’s code editor. Then just compile and run it. Further improvement of the code will make it more robust.

Trial version along with the source code samples for Visual Basic 6 can be downloaded from our website

On-demand (REST Web API) version:
 Web API (on-demand version)

On-premise offline SDK for Windows:
 60 Day Free Trial (on-premise)

Form1.frm
      
VERSION 5.00 Begin VB.Form Form1 AutoRedraw = -1 'True Caption = "Form1" ClientHeight = 2175 ClientLeft = 45 ClientTop = 435 ClientWidth = 7770 LinkTopic = "Form1" ScaleHeight = 2175 ScaleWidth = 7770 StartUpPosition = 3 'Windows Default Begin VB.CommandButton Command1 Caption = "Print Barcode to the selected printer with 300 DPI quality and physycal size (4x1 inches)" Height = 855 Left = 120 TabIndex = 1 Top = 840 Width = 6975 End Begin VB.ComboBox cboPrinterList Height = 315 Left = 120 TabIndex = 0 Top = 360 Width = 6975 End End Attribute VB_Name = "Form1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Private Sub Command1_Click() ' set printer to the selected printer Call SelectPrinter(cboPrinterList.Text) ' call function to print barcode to Printer object Call PrintBarCode End Sub ' populate list of printers on form load Private Sub Form_Load() Dim dev As Printer, Index As Integer, CurrentPrinter As Integer CurrentPrinter = -1 Index = 0 For Each dev In Printers cboPrinterList.AddItem dev.DeviceName If Printer.DeviceName = dev.DeviceName Then CurrentPrinter = Index End If Index = Index + 1 Next If CurrentPrinter <> -1 Then cboPrinterList.ListIndex = CurrentPrinter End If End Sub '=========================== 'Function to select printer '=========================== Function SelectPrinter(ByVal printer_name As String) As Boolean Dim i As Integer SelectPrinter = False For i = 0 To Printers.Count - 1 ' if the specified printer is found, select it and return True If Printers(i).DeviceName = printer_name Then Set Printer = Printers(i) SelectPrinter = True Exit For End If Next i End Function ' print barcode to the Printer object Private Sub PrintBarCode() ' this method prints a barcode via temporary EMF metafile allowing to set target physical size and DPI resolution quality Const DPIQuality = 300 ' 300 DPI as printing resolution (DPI) quality Const WidthInInches = 4 ' 4 inches as width for the barcode generated Const HeightInInches = 1 ' 1 inches as height for the barcode generated ' create barcode object as ActiveX Dim BC Set BC = CreateObject("Bytescout.BarCode.Barcode") Printer.PrintQuality = DPIQuality ' set the printer quality to 300 dpi ' IMPORTANT: call Printer.Print Space(1) to initialize the Printer ' this is how Microsoft advises to do in their KB article (search for Printer.Print string): http://support.microsoft.com/kb/146022 Printer.Print Space(1) ' initialize hDC of Printer object ' set the same DPI resolution (300 DPI) to generate barcode image BC.ResolutionX = DPIQuality BC.ResolutionY = DPIQuality ' set barcode symbology type BC.Symbology = 0 ' Code 39 = 0 (see the documentation for other barcode types) ' set barcode value BC.Value = "1234567890" ' use .FitInto_3 method to set the size in inches (you can also set in mm, cm, pixels - see the documentation for more) BC.FitInto_3 WidthInInches, HeightInInches, 2 ' fit into 3.5x0.875 inches (2 = inch) ' save barcode into temprorary EMF image ' create FileSystemObject to work with files Dim FSO As Object Set FSO = CreateObject("Scripting.filesystemobject") ' get temporary filename to save a temporary .EMF file Dim tempEMFFileName tempEMFFileName = FSO.GetTempName() & ".EMF" ' save EMF metafile into the temporary file BC.SaveImage tempEMFFileName ' now we paint EMF file to Printer object ' default units for Printer in VB6 is Twips, which is 1440 per Inch ' so we calculate 3.5 inches as 3.5 * TwipsPerInch Const TwipsPerInch = 1440 ' now printing the picture at 0,0 with 3.5 inches X 0.875 inches Printer.PaintPicture LoadPicture(tempEMFFileName), 0, 200, 3.5 * TwipsPerInch, 0.875 * TwipsPerInch ' now remove temporary EMF file FSO.deletefile tempEMFFileName, True Set FSO = Nothing ' finally send command to print the page Printer.EndDoc Set BC = Nothing End Sub

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Premium Suite Home Page

Explore ByteScout Premium Suite Documentation

Explore Samples

Sign Up for ByteScout Premium Suite Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

Project1.vbp
      
Type=Exe Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINDOWS\system32\stdole2.tlb#OLE Automation Form=Form1.frm Startup="Form1" ExeName32="Project1.exe" Command32="" Name="Project1" HelpContextID="0" CompatibleMode="0" MajorVer=1 MinorVer=0 RevisionVer=0 AutoIncrementVer=0 ServerSupportFiles=0 VersionCompanyName="000" CompilationType=0 OptimizationType=0 FavorPentiumPro(tm)=0 CodeViewDebugInfo=0 NoAliasing=0 BoundsCheck=0 OverflowCheck=0 FlPointCheck=0 FDIVCheck=0 UnroundedFP=0 StartMode=0 Unattended=0 Retained=0 ThreadPerObject=0 MaxNumberOfThreads=1 [MS Transaction Server] AutoRefresh=1

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Premium Suite Home Page

Explore ByteScout Premium Suite Documentation

Explore Samples

Sign Up for ByteScout Premium Suite Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

VIDEO

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Premium Suite Home Page

Explore ByteScout Premium Suite Documentation

Explore Samples

Sign Up for ByteScout Premium Suite Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

Tutorials:

prev
next