none
problema con codigo con la libreria iTextSharp RRS feed

  • Pregunta

  • buenas tardes 

    señores expertos si me orientar en el camino por favor soy novato

    tengo un problema uso la libreria iTextSharp para genera un codigo de barra

    mi problema  es que al generar el codigo en el pinturebox me lo tira siempre a la izquierda no me deja agrandar la imagen,

    y no puedo ordenar al centro o la derecho como yo quisiera este el codigo

     Public Sub codigo()
           
                Try
                    Dim alto As Single = 0
                    
                    Dim bm As Bitmap = Nothing
                   
                bm = Codigos.codigo128("A" & TxtCodigo.Text & "B", alto)
                    If Not IsNothing(bm) Then
                        PictureBox1.Image = bm
                    End If
                Catch ex As Exception
                    MsgBox(ex.ToString)
                End Try
    
        End Sub

    Imports System.Drawing
    Imports System.Drawing.Imaging
    Imports System.Drawing.Drawing2D
    
    Imports iTextSharp.text.pdf
    Imports iTextSharp.text.pdf.BarcodeCodabar
    Public Class Codigos
        Public Shared Function codigo128(ByVal _code As String, Optional ByVal vertexto As Boolean = False, Optional ByVal Height As Single = 0)
            Dim barcode As New BarcodeCodabar
            barcode.StartStopText = True
            If Height <> 0 Then
                barcode.BarHeight = Height
            End If
            barcode.Code = _code
            Try
                Dim bm As New System.Drawing.Bitmap(barcode.CreateDrawingImage(Color.Black, Color.White))
                If vertexto = True Then
                    'If vertexto = False Then ' original con check
                    Return bm
                Else
                    'generando el texto
                    Dim bmT As Image
                    bmT = New Bitmap(bm.Width, bm.Height + 20)
                    Dim g As Graphics = Graphics.FromImage(bmT)
                    g.FillRectangle(New SolidBrush(Color.White), 0, 0, bm.Width, bm.Height + 50)
    
                    Dim pintarTexto As New Font("Arial", 12)
                    Dim brocha As New SolidBrush(Color.Black)
    
                    Dim stringSize As New SizeF
                    stringSize = g.MeasureString(_code, pintarTexto)
                    Dim centrox As Single = (bm.Width - stringSize.Width) / 2
                    Dim x As Single = centrox
                    Dim y As Single = bm.Height
    
                    Dim drawformat As New StringFormat
                    drawformat.FormatFlags = StringFormatFlags.NoWrap
                    g.DrawImage(bm, 0, 0)
    
                    Dim ncode As String = _code.Substring(1, _code.Length - 2)
                    g.DrawString(ncode, pintarTexto, brocha, x, y, drawformat)
                    Return bmT
    
                End If
            Catch ex As Exception
                Throw New Exception("Error al generar el codigo" & ex.ToString)
            End Try
        End Function
    
    End Class



    • Editado djnilo lunes, 14 de marzo de 2016 0:52
    • Cambiado Enrique M. Montejo martes, 15 de marzo de 2016 6:58 Pregunta relacionada con controles de Windows Forms.
    lunes, 14 de marzo de 2016 0:49