Friday, November 02, 2007 12:35 AM
How to write a print application which prints and creates the copy in Microsoft word or HTML file?
I have written good print application in Vb.net using the rich Print and Drawing Objects in .Net Framework.
I would like to create one soft copy whenever I do print.
What is the best approach?
.Net Framework 2.0
Friday, November 02, 2007 6:00 PMYou could draw each page to a bitmap in the PrintPage event. You could also print a copy to the XPS Document Writer.
Friday, November 02, 2007 9:44 PM
Is the two solution is possible with .Net Framework 2.0?
Monday, November 05, 2007 3:58 AM
PrintDocument.PrintPage Event occurs when the output to print for the current page is needed. It is in namespace of System.Drawing.Printing that is supported in .NET Framework 2.0, 1.1 and 1.0.
The following code snippet shows you the example for the PrintPage event:Code Block
' The PrintPage event is raised for each page to be printed.
Private Sub pd_PrintPage(ByVal sender As Object, ByVal ev As PrintPageEventArgs)
Dim linesPerPage As Single = 0
Dim yPos As Single = 0
Dim count As Integer = 0
Dim leftMargin As Single = ev.MarginBounds.Left
Dim topMargin As Single = ev.MarginBounds.Top
Dim line As String = Nothing
' Calculate the number of lines per page.
linesPerPage = ev.MarginBounds.Height / printFont.GetHeight(ev.Graphics)
' Print each line of the file.
While count < linesPerPage
line = streamToPrint.ReadLine()
If line Is Nothing Then
yPos = topMargin + count * printFont.GetHeight(ev.Graphics)
ev.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, yPos, New StringFormat())
count += 1
' If more lines exist, print another page.
If Not (line Is Nothing) Then
ev.HasMorePages = True
ev.HasMorePages = False
For futher information, you can also take a look at the following link on PrintEvent in MSDN:
Except that method, I would also provide you a more complicated example on the issue. This example would also call the Win32 API spooler function to send the types and other types of raw data to a printer. I hope that can provide you more ideas on this kind of problems:
Tuesday, November 06, 2007 1:44 AM
Thank you very much.