?
Solved

Printing a dynamically created pdf file from ASP.NET on a client machine

Posted on 2006-11-16
9
Medium Priority
?
703 Views
Last Modified: 2008-12-10
I have an application developed in ASP.NET with code behind of C#
On a page I have a grid view, with a Print button. When the user clicks Print, based on certain variables a pdf document is created on the server.
I need to print this file to the client machine after the print button is clicked
I don't mind opening the print dialog on the client to select a printer to print the content,  but I do not want to open Adobe reader.

the pdf file created always has a name with the session id appended, example gkhljwtyhjkl.pdf, so everytime a user logs on it creates a file based on his/her session id, if they click the print button.

Please note two things need to happen within the print click event
1) Creation of a pdf file ---(which I have taken care of)
2) Invoking the printing fnctionality.

Thanks
0
Comment
Question by:countrymeister
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
9 Comments
 
LVL 22

Accepted Solution

by:
WMIF earned 1500 total points
ID: 17958281
Need to automatically print a PDF document from your .NET application without annoying dialogs or other user intervention?
http://aspalliance.com/514
0
 
LVL 9

Expert Comment

by:deathtospam
ID: 17958311
Admins --

This should question probably be moved to [Web Development > Web Languages > ASP.NET]


-= DeathToSpam =-
0
 
LVL 1

Author Comment

by:countrymeister
ID: 17958704
You are right, can you please move this question to the ASP.NET topic. i don't know how to do that OR do I have to post another question?
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 22

Expert Comment

by:WMIF
ID: 17958723
did you check out the link that i provided?
0
 
LVL 1

Author Comment

by:countrymeister
ID: 17958767
WMIF

I believe the links provided will print on the server machine, not on the client.
Correct me if I am wrong
0
 
LVL 22

Expert Comment

by:WMIF
ID: 17958780
it will, but that will be the only way to get it printed without bringing up adobe reader on the client.  the server brings it up and chooses the printer to send it to.
0
 
LVL 1

Author Comment

by:countrymeister
ID: 17958855
okay, before i give it a try, can you tell me what the following code has to do with Acrobar reader
do i have to do something like this for Acrobat
 ProcessStartInfo starter = new ProcessStartInfo(acrord32.exe, arguments)

What are the arguments?

 private static void RunExecutable(string executable, string arguments)
  {
   ProcessStartInfo starter = new ProcessStartInfo(executable, arguments);
   starter.CreateNoWindow = true;
   starter.RedirectStandardOutput = true;
   starter.UseShellExecute = false;
   Process process = new Process();
   process.StartInfo = starter;
   process.Start();
   StringBuilder buffer = new StringBuilder();
   using (StreamReader reader = process.StandardOutput)
   {
    string line = reader.ReadLine();
    while (line != null)
    {
     buffer.Append(line);
     buffer.Append(Environment.NewLine);
     line = reader.ReadLine();
     Thread.Sleep(100);
    }
   }
   if (process.ExitCode != 0)
   {
    throw new Exception(string.Format(@"""{0}"" exited with ExitCode {1}. Output: {2}",
executable, process.ExitCode, buffer.ToString());  
   }
  }
0
 
LVL 22

Expert Comment

by:WMIF
ID: 17958886
just below that code it shows you the arguements.  it is the arguements for printing without showing any prompts.

string pathToExecutable = "c:\...\acrord32.exe";
RunExecutable(pathToExecutable, @"/t ""mytest.pdf"" ""My Windows PrinterName""");
0
 
LVL 1

Author Comment

by:countrymeister
ID: 17959053
Okay. so pathToExecutable is the location of the Adobe reader on the server
RunExecutable(pathToExecutable, @"/t ""mytest.pdf"" ""My Windows PrinterName"""); has the arguments to pass namely,  

the adobe reader exe location and the pdf file to print and the location of the printer.

So in this case I need to know the clients printer location and name.
This website is accessed by atleast 100 users, so how do I print to each clients printer.
I don't know if there is anyway to know the clients default printer and replace "My Windows PrinterName" with the clients default printer dynamically.
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Hello, all! I just recently started using Microsoft's IIS 7.5 within Windows 7, as I just downloaded and installed the 90 day trial of Windows 7. (Got to love Microsoft for allowing 90 days) The main reason for downloading and testing Windows 7 is t…
I would like to start this tip/trick by saying Thank You, to all who said that this could not be done, as it forced me to make sure that it could be accomplished. :) To start, I want to make sure everyone understands the importance of utilizing p…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for …
Suggested Courses

800 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question