Printing Invoices

Francois

Member
Joined
Nov 27, 2006
Messages
6
Location
South Africa
Programming Experience
1-3
Hallo

I have a little problem, I have absolutely no Idea of how to print invoices in vb.net or how It is done. If any of you have any examples or tutorial for me, I would be more that Thankfull!

Please Help!
 
It has come to my attention that the following might solve the problem, but if there are any more advice please do tell me.

ProtectedSub PrintFile_Click(sender AsObject, e As[FONT=Verdana, Arial, Helvetica, sans-serif] System.EventArgs)[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]printDialog1.Document = ThePrintDocument[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Dim[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif] strText AsString = Me[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif].richTextBox1.Text[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]myReader = [/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]New StringReader(strText)[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]If[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif] printDialog1.ShowDialog() = DialogResult.OK [/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]Then[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Me[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif].ThePrintDocument.Print()[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]End[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]If[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]End[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]Sub'PrintFile_Click[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Protected[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]Sub ThePrintDocument_PrintPage(sender AsObject, ev As System.Drawing.Printing.PrintPageEventArgs)[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Dim[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif] linesPerPage AsSingle = 0[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Dim[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif] yPosition AsSingle = 0[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Dim[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif] count AsInteger = 0[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Dim[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif] leftMargin AsSingle = ev.MarginBounds.Left[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Dim[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif] topMargin AsSingle = ev.MarginBounds.Top[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Dim[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif] line AsString = [/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]Nothing[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Dim[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif] printFont As Font = Me.richTextBox1.Font[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Dim[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif] myBrush AsNew SolidBrush(Color.Black)[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]' Work out the number of lines per page, using the MarginBounds.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]linesPerPage = ev.MarginBounds.Height / printFont.GetHeight(ev.Graphics)[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]' Iterate over the string using the StringReader, printing each line.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]While[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif] count < linesPerPage AndNot ((line <= myReader.ReadLine()) IsNothing) [/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]'ToDo: Unsupported feature: assignment within expression. "=" changed to "<="[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]' calculate the next line position based on[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]' the height of the font according to the printing device yPosition = topMargin + (count * printFont.GetHeight(ev.Graphics));// draw the next line in the rich edit control[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]ev.Graphics.DrawString(line, printFont, myBrush, leftMargin, yPosition, [/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]New[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif] StringFormat())[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]count += 1[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]End[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]While' If there are more lines, print another page. if (line != null)[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]ev.HasMorePages = [/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]True[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]ev.HasMorePages = [/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]False[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]myBrush.Dispose()[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]End[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]Sub[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]'ThePrintDocument_PrintPage [/FONT]
 
Back
Top