如何在SELECTED打印机中打印任何文档

我想使用.net打印选定打印机中的任何文档,如pdf,word,excel或文本文件。我已成功在默认打印机中进行此类打印。现在唯一的问题是在所选打印机中打印。

这是打印的代码。

public bool Print(string FilePath) { if (File.Exists(FilePath)) { if (ShellExecute((System.IntPtr )1, "Print", FilePath, "", Directory.GetDirectoryRoot(FilePath), SW_SHOWNORMAL).ToInt32() <= 32) { return false; } else { return true; } } else { return false; } } 

 Process printJob = new Process(); printJob.StartInfo.FileName = path; printJob.StartInfo.UseShellExecute = true; printJob.StartInfo.Verb = "printto"; printJob.StartInfo.CreateNoWindow = true; printJob.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; printJob.StartInfo.Arguments = "\"" + printerAddress + "\"" + " " + printerExtraParameters; printJob.StartInfo.WorkingDirectory = Path.GetDirectoryName(path); printJob.Start(); 

您对默认打印机成功测试的文件格式是什么?

不可能只将“任何”文档发送到打印机,通常需要由能够读取文件格式然后将其呈现给打印机或可由打印机解释的文件的应用程序来解释特定文件格式。

在大多数情况下,如果您可以渲染到PostScript或PDF,则可以使用单个解释器进行打印。