public void Word2Pdf(string docFile, string pdfFile)
{
try
{
object WpsApp;
Object wpsDocs;
Object wpsDoc;
Type wpsAppName = Type.GetTypeFromProgID("Wps.Application");
//创建一个WPS实例
WpsApp = Activator.CreateInstance(wpsAppName);
//得到Documents对象
wpsDocs = wpsAppName.InvokeMember("Documents", BindingFlags.GetProperty, null, WpsApp, null);
//设置关键参数即可,例如: 在打开的方法中,只要指定打开的文件名与是否可见
object[] abc = new object[15];
abc[0] = docFile;
abc[11] = true;
//打开C盘下的Demo.wps
wpsDoc = wpsAppName.InvokeMember("Open", BindingFlags.InvokeMethod, null, wpsDocs, abc);
abc = new object[3];
//生成PDF
abc[0] = pdfFile;
wpsAppName.InvokeMember("ExportPdf", BindingFlags.InvokeMethod, null, wpsDoc, abc);
wpsAppName.InvokeMember("Close", BindingFlags.InvokeMethod, null, wpsDoc, null);
wpsAppName.InvokeMember("Quit", BindingFlags.InvokeMethod, null, WpsApp, null);
ReleaseAllRef(WpsApp);
ReleaseAllRef(wpsDocs);
ReleaseAllRef(wpsDoc);
}
catch (Exception)
{
throw;
}
finally
{
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
GC.WaitForPendingFinalizers();
}
}