WPF(C#) 打印各类型文件.
2016-02-02 13:38
211 查看
复杂的问题简单化,
遇上文件打印的需求,希望实现直接打印的功能,不要手动打开文件再点击打印.
刚开始有点蒙圈,之前做过Office的文件操作,知道可以通过代码进行打印..
但是本次需要打印各种常见类型文档.都要代码控制?
先后在百度一下关键字 WPF打印PDF. C#打印PDF..
得到好多不需要的内容,不是自己需要的.
问题简单化一下..其实不必考虑那么多,直接调用打印进程不就好了么 - - .
实测打印word等Office时,Office会打开在关闭,打印图片会自动调出图片打印设置,打印PDF默认后台开始打印.很省心.
代码段:
using System;
using System.Diagnostics;
using System.IO;
namespace Util
{
public class PrintUtil
{
public static bool Print(string pathStr)
{
try
{
if (File.Exists(pathStr) == false)
return false;
var pr = new Process
{
StartInfo =
{
FileName = pathStr,
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,
Verb = "Print"
}
};
pr.Start();
return true;
}
catch (Exception)
{
return false;
}
}
}
}
遇上文件打印的需求,希望实现直接打印的功能,不要手动打开文件再点击打印.
刚开始有点蒙圈,之前做过Office的文件操作,知道可以通过代码进行打印..
但是本次需要打印各种常见类型文档.都要代码控制?
先后在百度一下关键字 WPF打印PDF. C#打印PDF..
得到好多不需要的内容,不是自己需要的.
问题简单化一下..其实不必考虑那么多,直接调用打印进程不就好了么 - - .
实测打印word等Office时,Office会打开在关闭,打印图片会自动调出图片打印设置,打印PDF默认后台开始打印.很省心.
代码段:
using System;
using System.Diagnostics;
using System.IO;
namespace Util
{
public class PrintUtil
{
public static bool Print(string pathStr)
{
try
{
if (File.Exists(pathStr) == false)
return false;
var pr = new Process
{
StartInfo =
{
FileName = pathStr,
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,
Verb = "Print"
}
};
pr.Start();
return true;
}
catch (Exception)
{
return false;
}
}
}
}