如何打印任意文件
本文关键字:任意 文件 打印 何打印 | 更新日期: 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();
}