如何打印任意文件?

时间:2014-06-13 14:06:06

标签: c# wpf printing

我很难找到相关信息,我在MSDN /等上找到的所有文档都是关于创建XPS文档并将其发送到打印机。

我有一个接收文件的网络服务,我想要做的就是将它们发送到打印机。这些文件不是特定类型 - 有时它们是Word文档,有时是PDF,有时是照片。没有任何方法可以将任意文件发送到打印机吗?

这是一个WPF库,顺便说一句。

编辑:

为了进一步澄清,我不知道它是什么类型的文件 - 它只是一个键入令牌的二进制流。 shell解决方案的问题在于它依赖于文件扩展名来确定如何打印文件,如果您尝试传递无扩展名文件,则会出错。

1 个答案:

答案 0 :(得分:0)

Chuck Savage为此写了一篇漂亮的extension method

/// <summary>
/// Print the file
/// </summary>
/// <param name="value"></param>
public static void Print(this FileInfo value)
{
    if (!value.Exists)
        throw new FileNotFoundException("File doesn't exist");
    Process p = new Process();
    p.StartInfo.FileName = value.FullName;
    p.StartInfo.Verb = "Print";
    p.Start();
}