Line by Line printing in VB.NEt

Hi
I have an application in VB6 that I am currently converting to VB.NET at work and we have a number of printers that work on a tractor feed due to the way we need to work.

Currently in the VB6 App when a part is processed the line printer will print a single line and wait for the next transaction, however we cannot get this to work the same in vb.net

The same code, simply will not work.  Does anyone have any ideas on how to sucessfully compelte this.

SimonPrice33Asked:
Who is Participating?
 
Alpha AuConnect With a Mentor Commented:
and you might need to refer to this if the custom class don't work

How to send raw data to a printer by using Visual Basic .NET
http://support.microsoft.com/?scid=kb;EN-US;322090
0
 
jagssiduralaCommented:
can you post your code please?
0
 
SimonPrice33Author Commented:
which, the .net or the vb6?
0
Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

 
SimonPrice33Author Commented:
The top of the code section is the vb.net class that i have created in order to get it to complete a page print.

The code under the ----- is what calls the class

This allowd the pritner to complete a page print but its not what i need... I need a line print.


Public Class LinePrinter2
    Friend TextToBePrinted As String

    Public Sub Print(ByVal text As String)
        TextToBePrinted = text

        Dim prn As New Printing.PrintDocument

        Using (prn)
            'prn.PrinterSettings.PrinterName = "PrinterName"
            AddHandler prn.PrintPage, AddressOf Me.PrintPageHandler

            prn.Print()

            RemoveHandler prn.PrintPage, AddressOf Me.PrintPageHandler
        End Using
    End Sub

    Private Sub PrintPageHandler(ByVal sender As Object, _
       ByVal args As Printing.PrintPageEventArgs)

        Dim myFont As New Font("Microsoft San Serif", 10)

        args.Graphics.DrawString(TextToBePrinted, New Font(myFont, FontStyle.Regular), Brushes.Black, 50, 50)
    End Sub
End Class

----------------------------------------------------------------------------------------------------


            
PrintMsg = Prms.StationId & vbTab & DatePrn & vbTab & TimePrn & vbTab & Tran.Stub & vbTab & VB6.Format(Tran.Weight, "000") ' Print transaction


Dim lp As New LinePrinter2
            lp.Print(PrintMsg)

Open in new window

0
 
Alpha AuCommented:
I am guessing do you need to access the com1 and print to it?

http://support.microsoft.com/kb/823179
0
 
SimonPrice33Author Commented:
the printer is a networked printer so I'm not sure if this will work
0
 
Alpha AuCommented:
let's try on some custom class

http://www.codeproject.com/KB/dotnet/LPrintWriter.aspx

LPrintWriter lprint = new LPrintWriter();
lprint.WriteLine("Hello, world!");
lprint.Close();
0
 
SimonPrice33Author Commented:
looking at the code, it looks similar to one that we called and spits out a full page.
I will try it shortly and let you know if there are any issues
0
 
SimonPrice33Author Commented:
I had seen a very similar solution in C#.NET but i find C# hard to read (which is why i code in VB.NET...

Solution worked as i required after a few modifications.

many thanks

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.