Created
September 16, 2019 19:38
-
-
Save andrewiankidd/644b128770d65481714aa9720a3f6843 to your computer and use it in GitHub Desktop.
SSRS2017 Code128 Barcode Support
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
' 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