Of course printing from the server side for the client is involves a very complicated printer selection (even server can access all printers), but I leave that for you (And I not even mention how wrong is to have a server with all those UI based tools installed on)...
When you right click a file in Explorer you - mostly - get a Print/Print To option somewhere next to Open...
Explorer can add that menu item based on info stored in the registry for each and every extension (file type)...
You can do the same...
For instance if you have a .txt (text) file you can go to the registry and retrieve the print command to print that file...
string szExt = Registry.GetValue("HKEY_CLASSES_ROOT\\" + ext, string.Empty, null);
string szPrintTo = Registry.GetValue(string.Format(@"HKEY_CLASSES_ROOT\{0}\shell\Printto\command", szExt), string.Empty, null);
All you have to do is replace the parameters (%1, %2) with your files and execute the command (using Process)...