如何打印任意文件

本文关键字:任意 文件 打印 何打印 | 更新日期: 2023-09-27 18:08:25

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

我有一个接收文件的网络服务,我想做的就是把它们发送到打印机。这些文件没有特定的类型——有时是Word文档,有时是PDF,有时是照片。难道就没有办法把任意文件发送到打印机吗?

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

编辑:

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

如何打印任意文件

Chuck Savage为此编写了一个漂亮的扩展方法:

/// <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();
}