raiment
Goto Top

Etiketten drucken mit VB.Net

Hallo Administratorengemeinschaft.

Ich arbeite zurzeit an einem Lagerverwalrungsprogramm die mir einen Artikel mit Barcode auf eine Etikette drucken soll. Als Drucker verwende ich ein Brother P-Touch 2700 über eine Netzwerkfreigabe.

Mein Problem dabei ist, dass die Etikette zwar gedruckt wird, aber nicht an der angegebenen Länge (PaperSize) geschnitten wird. Sie werden immer auf die Länge die in den Druckerstandardeinstellungen eingestellt sind geschnitten.
Da ich in einem Arbeitsgang aber verschiedene Etikettenlängen drucken möchte, will ich das aus dem Programm steuern.
Die ausgabe mit printDialog1 zeigt mir die korrekte Länge.

Gibt es dazu eine möglichkeit?

Hier meine Code geschrieben in VB 2008 Express:
Private WithEvents doc As New PrintDocument()

Private Sub PrintEtikette()

        Dim printDialog1 As New PrintDialog ' This is the dialog to setting the printer options  

        Try
            Dim customsize As New PaperSize("customsize", Math.Round(EtTyp(Etikettenauswahl).EtBreite * 3.935, 0), _  
                                            Math.Round(EtTyp(Etikettenauswahl).EtLaenge * 3.935, 0))
			
			doc.DefaultPageSettings.PaperSize = customsize
            doc.DocumentName = "Lagerverwaltungs Etikette"  
            printDialog1.Document = doc

			'Test   
            Dim dlg As New PrintPreviewDialog()
            dlg.Document = doc
            dlg.AutoSizeMode = Windows.Forms.AutoSizeMode.GrowOnly
            dlg.ShowDialog()

            'If printDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then  
            'doc.Print()  
            'End If  

        Catch ex As Exception
            FormDebug.fout(ex.Message)
        End Try
    End Sub


Private Sub Druck(ByVal sender As Object, ByVal e As PrintPageEventArgs) Handles doc.PrintPage
        Dim TmpBarcodeImage As System.Drawing.Bitmap
        Dim etw = Etikettenauswahl
        Try
            Dim g As Graphics = e.Graphics
            g.PageUnit = GraphicsUnit.Millimeter
            If EtTyp(etw).ArtNrGrEnabled Then g.DrawString(txtArtNrGr.Text, New Font("Arial", EtTyp(etw).ArtNrGrSchriftGr, FontStyle.Regular), Brushes.Black, EtTyp(etw).ArtNrGrX, EtTyp(etw).ArtNrGrY)  
            If EtTyp(etw).BauteilEnabled Then g.DrawString(cbBauteil.SelectedValue.ToString, New Font("Arial", EtTyp(etw).BauteilSchriftGr, FontStyle.Regular), Brushes.Black, EtTyp(etw).BauteilX, EtTyp(etw).BauteilY)  
            If EtTyp(etw).ArtBezeichnungEnabled Then g.DrawString(txtArtBezeichnung.Text, New Font("Arial", EtTyp(etw).ArtBezeichnungSchriftGr, FontStyle.Regular), Brushes.Black, EtTyp(etw).ArtBezeichnungX, EtTyp(etw).ArtBezeichnungY)  
            Catch ex As Exception
            FormDebug.fout(ex.Message)
        End Try
    End Sub		

Gruss

Content-Key: 147060

Url: https://administrator.de/contentid/147060

Printed on: April 24, 2024 at 14:04 o'clock

Member: Videakulix
Videakulix Mar 29, 2016 at 10:17:02 (UTC)
Goto Top
Hallo Raiment,

hast du das Problem mit der Etikettenlänge gelöst bekommen?
Ich stehe vor dem selben Problem uns finde nichts im Netz!

Kannst du mir dabei helfen?

Danke!