您的位置:首页 > 编程语言 > C#

c#调用cmd命令,将doc转换为 pdf

2012-08-08 08:47 483 查看
c#调用cmd命令,将doc转换为pdf
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Diagnostics;

namespaceTools
{
///<summary>
///doc文件转换为pdf文件
///</summary>
publicclassDocToPdf
{
privatestringsavePath="";
///<summary>
///doc文件路径,包括完整文件名
///</summary>
publicstringdocFile;
///<summary>
///ConvertDoc2PDF.js目录,不包括文件名
///</summary>
publicstringjsPath;
///<summary>
///接收的cmd运行的结果
///</summary>
publicstringsExecResult="";
///<summary>
///是否成功
///</summary>
publicboolbSuccess=false;
///<summary>
///
///</summary>
///<paramname="sDocFile">源doc路径,包括文件名</param>
///<paramname="sPdfPath">目的pdf目录</param>
publicDocToPdf(stringsDocFile,stringsPdfPath)
{
docFile=sDocFile;
savePath=sPdfPath;
}
///<summary>
///开始转换
///</summary>
publicvoidStartConvertPDF()
{
Processproc=newProcess();
proc.StartInfo.FileName="cmd.exe";
proc.StartInfo.WorkingDirectory=jsPath;
proc.StartInfo.CreateNoWindow=true;
proc.StartInfo.UseShellExecute=false;
proc.StartInfo.RedirectStandardInput=true;//标准输入重定向
proc.StartInfo.RedirectStandardOutput=true;//标准输出重定向
proc.Start();
proc.StandardInput.WriteLine("cscript//nologo"+jsPath+"ConvertDoc2PDF.js"+docFile+""+savePath);
//proc.StandardInput.WriteLine("exit");
sExecResult=proc.StandardOutput.ReadToEnd();//返回脚本执行的结果
proc.WaitForExit();
proc.Close();
}
///<summary>
///转换完成后的回调函数
///</summary>
///<paramname="ar">IAsyncResult对象</param>
publicvoidEndConvertPDF(System.IAsyncResultar)//ar参数必须写,是线程执行完成后的回调函数
{
if(sExecResult.IndexOf("isuccess")!=-1)bSuccess=true;
elseif(sExecResult.IndexOf("isfail")!=-1)bSuccess=false;
//如果放在B/S系统,你可以在此处写数据库,是成功还是失败,并用一个WEBService程序不断检查数据库,此WEBService程序不放在该回调用函数中
//如果放在C/S系统,回调函数可以不放在类中,以便在窗体程序中调用结果
}

}
}




要安装软件环境,转换时似乎很费cpu和内存。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: