Skip to content

Instantly share code, notes, and snippets.

@andrewiankidd
Created September 16, 2019 19:38
Show Gist options
  • Save andrewiankidd/644b128770d65481714aa9720a3f6843 to your computer and use it in GitHub Desktop.
Save andrewiankidd/644b128770d65481714aa9720a3f6843 to your computer and use it in GitHub Desktop.
SSRS2017 Code128 Barcode Support
' takes in a text value and returns an image of the barcode on Code-128
' Exceptions are caught and written out as an image in arial
'
' USAGE:
' =Code.Code128(Fields!BarCode.Value)
Public Function Code128(ByVal stringText As String) As Byte()
Dim result As Byte() = Nothing
Dim image = Nothing
Dim barcodeFont = Nothing
Dim arialFont = (New System.Drawing.Font(New System.Drawing.FontFamily("Times New Roman"), 36))
Try
' Load font from memory
barcodeFont = (GetInstance(144, System.Drawing.FontStyle.Regular))
' Create image using Barcode font
image = GenerateImage(barcodeFont, stringText)
Catch ex As Exception
' Write Exception to an image using Arial font
image = GenerateImage(arialFont, ex.Message)
End Try
result = StreamImage(image)
return result
End Function
Dim privateFonts As New System.Drawing.Text.PrivateFontCollection()
Dim bytes() as Byte = Convert.FromBase64String("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")
Public ReadOnly Property GetInstance(ByVal Size As Single, ByVal style As System.Drawing.FontStyle) As System.Drawing.Font
Get
If privateFonts.Families.Length = 0 Then LoadFont()
Return New System.Drawing.Font(privateFonts.Families(0), Size, style)
End Get
End Property
Private Sub LoadFont()
Dim fontMemPointer As IntPtr = System.Runtime.InteropServices.Marshal.AllocCoTaskMem(bytes.Length)
System.Runtime.InteropServices.Marshal.Copy(bytes, 0, fontMemPointer, bytes.Length)
privateFonts.AddMemoryFont(fontMemPointer,bytes.Length)
System.Runtime.InteropServices.Marshal.FreeCoTaskMem(fontMemPointer)
End Sub
Function GenerateImage(ByVal MyFont As System.Drawing.Font, ByVal sImageText As String) As System.Drawing.Bitmap
'Create an image from scratch
Dim bmpImage As New Drawing.Bitmap(1, 1)
Dim iWidth As Integer = 0
Dim iHeight As Integer = 0
'Create a graphics object to measure the text's width and height.
Dim MyGraphics As Drawing.Graphics = Drawing.Graphics.FromImage(bmpImage)
'This is where the bitmap size is determined.
iWidth = MyGraphics.MeasureString(sImageText, MyFont).Width
iHeight = MyGraphics.MeasureString(sImageText, MyFont).Height
'// Create the bmpImage again with the correct size for the text and font.
bmpImage = New Drawing.Bitmap(bmpImage, New Drawing.Size(iWidth, iHeight))
'// Add the colors to the new bitmap.
MyGraphics = Drawing.Graphics.FromImage(bmpImage)
MyGraphics.Clear(Drawing.Color.White)
MyGraphics.TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAlias
MyGraphics.DrawString(sImageText, MyFont, New Drawing.SolidBrush(Drawing.Color.Black), 0, 0)
MyGraphics.Flush()
Return bmpImage
End Function
Function StreamImage(ByVal bmpImage As System.Drawing.Bitmap) As Byte()
Dim stream As IO.MemoryStream = New IO.MemoryStream
Dim bitmapBytes As Byte()
'Create bitmap stream
bmpImage.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg)
bitmapBytes = stream.ToArray
stream.Close()
bmpImage.Dispose()
Return bitmapBytes
End Function
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment