Here is the module I have came up with from a sample I viewed online (I don't recall where though) but this will get you started. The following mindset really helps, I am an artist and I need to "paint" on a 'canvas' using a 'brush' and 'color' paint.
Hope this helps...
Private msItemNo As String
Public Sub PrintTag(strItem as String)
Dim MyTag As New PrintDocument
MyTag.DocumentName = "Shop Tag " & strItem
MyTag.DefaultPageSettings.Landscape = True
'set the module level variables
msItemNo = Trim(strItem)
msDesc = Trim(strDesc)
msMat = Trim(strMat)
msDwgDsh = Trim(strDwgDash)
msLoc = Replace(Trim(strLoc), "\", "")
'set the printdocument page handler overriding the default
AddHandler MyTag.PrintPage, AddressOf MyTagPageHandler
'print the tag
MyTag.Print()
End Sub
Private Sub MyTagPageHandler(ByVal sender As Object, ByVal e As PrintPageEventArgs)
'define the fonts to be used
Dim fntBarCode As New Font("Free 3 of 9 Extended", 72, FontStyle.Regular) ', GraphicsUnit.Inch)
Dim fntTagText As New Font("Times New Roman", 72, FontStyle.Bold) ', GraphicsUnit.Inch)
Dim fntLocText As New Font("Times New Roman", 10, FontStyle.Regular) ', GraphicsUnit.Inch)
Dim fntArrow As New Font("WingDings 3", 72, FontStyle.Bold) ', GraphicsUnit.Inch)
Dim newImage As System.Drawing.Image = System.Drawing.Image.FromFile("c:\Logos\LPLogo.bmp")
'create the canvas in which we paint the page
Dim canvas As Graphics = e.Graphics
'Change the unit of measure for the page
canvas.PageUnit = GraphicsUnit.Inch
'create our brush to do the painting
Dim brush = Brushes.Black
'
'DRAW ON THE CANVAS
'
'Barcode
canvas.DrawString("*" & msItemNo & "*", fntBarCode, brush, 0.83, 0.2)
'Arrow
canvas.DrawString("i", fntArrow, brush, 5, 0)
'description
'Item No
canvas.DrawString(msItemNo, fntTagText, brush, 0.83, 2.7)
'Logo
canvas.DrawImage(newImage, 2, 1)
End Sub