通过wps api转换doc为docx

最近有个需求就是读取一堆word文档的内容,查找里面的内容并记录。

网上搜了一下NPOI可以读取docx文件,但是word文档中有大部分是doc文档,于是使用wps api对doc文档进行转换。

前期准备

  • 需要先在机子上安装wps。
  • 然后引用 Upgrade Kingsoft WPS 3.0 Object Library。

转换代码

var type = Type.GetTypeFromProgID("KWps.Application");
dynamic wps = Activator.CreateInstance(type);
try
{
    dynamic doc = wps.Documents.Open(srcPath, Visible: false);
    doc.SaveAs(destPath, WdSaveFormat.wdFormatXMLDocument);
    doc.close();
    Console.WriteLine(destPath);
}
catch (Exception ex)
{
    Console.WriteLine($"转换docx出错:{ex.StackTrace}");
}
finally
{
    wps.Quit();
}
C#

Comment