User Tag List

Results 1 to 2 of 2

Thread: [VB.NET] Printing

  1. #1
    [VB.NET] Printing

    User Info Menu

    [VB.NET] Printing

    This deals with setting up a page to actually print information to a printer. This was pry one of the biggest pain in the ass things I had to do (and really it's pry best to make a class out of this if you plan on using this for anything else in the future)

    Lets get started:

    On your form you are going to want to add 2 controls
    -PrintPreviewDialouge
    -PrintDocument

    With that said we will now need to get the page setup for printing.


    The code for the Print document is as follows

    Code:
            Dim PrintFont As New Font("Arial", 12)
            Dim HeadingFont As New Font("Arial", 14, FontStyle.Bold)
            Dim LineHeightSingle As Single = PrintFont.GetHeight + 2
            Dim ColumnHorizontalLocationSingle As Single = e.MarginBounds.Left
            Dim VerticlePrintLocationSingle As Single = e.MarginBounds.Top
            Dim Column2HorizontalLocationSingle As Single = 300
            Dim Column3HorizontalLocationSingle As Single = 500
            Dim PrintLineString As String
            Dim FontSizeF As New SizeF
            Dim FormattedPriceString As String
    Let's explain some of this.
    Printfont is pretty much explains itself. This is just where you will set your font you want to use and size.

    Heading Font is the same thing, just a different name since it will be used for a different line on the paper.

    Lineheight is the space between lines (much like how when you do something in word you set double line space to make the text readable)

    Pretty much the rest deals with margins (so you dont have text slammed up on the edges of the paper.)

    Now for a sample of what this would look like when you fill it out.

    Code:
    PrintLineString = "Store Shipping Summary"
            e.Graphics.DrawString(PrintLineString, HeadingFont, Brushes.Black, ColumnHorizontalLocationSingle, VerticlePrintLocationSingle)
    
            PrintLineString = "by Justin"
            VerticlePrintLocationSingle += LineHeightSingle
            e.Graphics.DrawString(PrintLineString, PrintFont, Brushes.Black, ColumnHorizontalLocationSingle, VerticlePrintLocationSingle)
            VerticlePrintLocationSingle += LineHeightSingle * 2
    
            e.Graphics.DrawString("Weight", PrintFont, Brushes.Black, ColumnHorizontalLocationSingle, VerticlePrintLocationSingle)
            e.Graphics.DrawString("Zone", PrintFont, Brushes.Black, Column2HorizontalLocationSingle, VerticlePrintLocationSingle)
    
            FormattedPriceString = Format("Price")
            FontSizeF = e.Graphics.MeasureString(FormattedPriceString, PrintFont)
            Column3HorizontalLocationSingle = 555 - FontSizeF.Width
    
            e.Graphics.DrawString(FormattedPriceString, PrintFont, Brushes.Black, Column3HorizontalLocationSingle, VerticlePrintLocationSingle)
            VerticlePrintLocationSingle += LineHeightSingle
    Now this is just a small sample of the code (the rest deals with other things the program was doing and you wouldnt get alot out of it without the entire program being listed, but an image should suffice.

  2. #2
    [VB.NET] Printing

    User Info Menu

    Re: [VB.NET] Printing

    This example (vb.net Printing) is just about exactly what I need to do. Is the complete code or project available??

    Steve

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •