Printing
Most Visual Basic .NET programs will never need to use the .NET Framework’s native printing capabilities. Reporting tools such as Crystal Reports, as well as RAD tools for laying out reports, provide most of the printing facilities that typical Visual Basic .NET programs need. However, for the cases in which a reporting tool is not flexible enough, this section describes the .NET Framework’s support for outputting text and graphics directly to a printer.
Hello, Printer!
Example 4-13 shows a minimal printing example.
Example 4-13. Hello, Printer!
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Drawing.Printing
' ...
' These two lines initiate printing. Place this code in an
' appropriate place in the application.
Dim pd As New HelloPrintDocument( )
pd.Print( )
' ...
' This class manages the printing process.
Public Class HelloPrintDocument
Inherits PrintDocument
Protected Overrides Sub OnPrintPage(ByVal e As PrintPageEventArgs)
MyBase.OnPrintPage(e)
' Draw text to the printer graphics device.
Dim fnt As New Font("Arial", 10, FontStyle.Regular, _
GraphicsUnit.Point)
e.Graphics.DrawString("Hello, Printer!", fnt, Brushes.Black, 0, 0)
fnt.Dispose( )
' Indicate that there are no more pages.
e.HasMorePages = False
End Sub
End ClassPrinting is managed by defining a class that inherits from the PrintDocument class (defined in the System.Drawing.Printing namespace). Printing is initiated by instantiating the derived class and calling its Print method (inherited ...