![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks. |
| |||||||
![]() |
| |
| | #1 (permalink) |
| | Problem Printing Objects From A Web Page I am pulling my hair out trying to print various objects from a .net web page My apologies for cross posting but I need an answer and my previous post has attracted no interest. ASP.Net 2.0 using C# This is a simple web page on our intranet (written as a test) and all I am trying to do is print a document to a named printer. If I use a StreamReader then I get an output to the printer. This prints all the lines in the text file to the printer. However, this only works for basic text files. I cannot achieve an output for an Excel spreadsheet, a MS Word document or a pdf document. If I choose not to use a StreamReader then all I get is a blank sheet of paper no matter what type of file I try to print. Can anyone please help as I am getting desperate as I need to create a complex web based printing application very soon. // A Simple HTML Page For A test web based application <body> <form runat="server"> <p> <ASP ropDownList id="ddlDebug"runat="server" AppendDataBoundItems="True" AutoPostBack="True"> <ASP:ListItem value="Debug">Stream </ASP:ListItem> <ASP:ListItem value="NoDebug">No Stream </ASP:ListItem> </ASP ropDownList></p> <p> <ASP:Button id="button2" runat="server" text="Button"> </ASP:Button> </p> <p> <ASP:ListBox id="listBox1" runat="server" width="1156px" height="442px"> </ASP:ListBox> </p></font> </form> </body> </html> // Some of the code behind if (! IsPostBack) { if(impersonateValidUser("Administrator", "domain", "password")) { //Insert your code that runs under the security context of a specific user here. } else { //Your impersonation failed. Therefore, include a fail-safe mechanism here. } } else { } } void myDoc_PrintPage(object sender, PrintPageEventArgs e) { float linesPerPage = 0; float yPos = 0; int count = 0; float leftMargin = e.MarginBounds.Left; float topMargin = e.MarginBounds.Top; topMargin = topMargin + 50; // When I try a direct print without Streaming I remove this block of code using (StreamReader streamToPrint = new StreamReader(myDoc.DocumentName)) { string Lline; // Read and display lines from the file until the end of the file is reached. while ((Lline = streamToPrint.ReadLine()) != null) { listBox1.Items.Add(Lline); // For debug purposes - DIsplay to browser listbox - Remove Later topMargin = topMargin + 20; yPos = topMargin + (count * printFont.GetHeight(e.Graphics)); e.Graphics.DrawString(Lline, printFont, Brushes.Black, leftMargin, yPos, new StringFormat()); } } // e.HasMorePages = true; } private void button2_Click(object sender, System.EventArgs e) { listBox1.Items.Clear(); // Try and print the document myDoc.DocumentName = @"\\MyPc\Temp\MyTestDoc.txt"; listBox1.Items.Add("Document Name - " + myDoc.DocumentName); myDoc.PrinterSettings.PrinterName = LPrinterName; listBox1.Items.Add("Printer Name - " + myDoc.PrinterSettings.PrinterName); foreach (System.Drawing.Printing.PaperSize paperSize in myDoc.PrinterSettings.PaperSizes) { if (paperSize.PaperName == "A3") { myDoc.DefaultPageSettings.PaperSize = paperSize; myDoc.DefaultPageSettings.PrinterSettings.DefaultPageSettings.Landscape = true; } } myDoc.PrinterSettings.FromPage = 1; myDoc.PrinterSettings.MinimumPage = 1; myDoc.PrintPage += new PrintPageEventHandler(myDoc_PrintPage); myDoc.Print(); } |
My System Specs![]() |
![]() |
| Thread Tools | |
| |
Similar Threads | ||||
| Thread | Forum | |||
| Printing web page to a PDF | Vista print fax & scan | |||
| Printing Objects from a web page | .NET General | |||
| HP1020 not printing last page | Vista hardware & devices | |||
| printing test page | Vista print fax & scan | |||
| Printing q web page | Vista print fax & scan | |||