我正在开发一个简历档案,人们上传他们的简历,该简历将保存在特定的位置。最重要的是人们可以使用任何版本的MS-word来准备他们的简历和简历文件扩展名可以是doc或docx。所以我只想知道是否有任何免费的库可用于从doc或docx文件中提取文本数据,这将适用于所有ms-word版本,如果ms-word未安装在pc中也可以工作。我搜索谷歌并发现一些文章从doc文件中提取文本数据,但我不确定它们是否适用于所有ms-word版本。所以请指导我使用哪个库来从ms-word中提取数据,而不管ms-word版本如何也给我一些关于这个问题的好文章链接。
还指导我是否有任何查看器可用于显示来自我的c#apps的doc文件内容,而不管ms-word版本。 感谢
**Need to add this reference Microsoft.Office.Interop.Word**
using System.Runtime.InteropServices.ComTypes;
using System.IO;
public static string GetText(string strfilename)
{
string strRetval = "";
System.Text.StringBuilder strBuilder = new System.Text.StringBuilder();
if (File.Exists(strfilename))
{
try
{
using (StreamReader sr = File.OpenText(strfilename))
{
string s = "";
while ((s = sr.ReadLine()) != null)
{
strBuilder.AppendLine(s);
}
}
}
catch (Exception ex)
{
SendErrorMail(ex);
}
finally
{
if (System.IO.File.Exists(strfilename))
System.IO.File.Delete(strfilename);
}
}
if (strBuilder.ToString().Trim() != "")
strRetval = strBuilder.ToString();
else
strRetval = "";
return strRetval;
}
public static string SaveAsText(string strfilename)
{
string fileName = "";
object miss = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.Document doc = null;
try
{
Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
fileName = Path.GetDirectoryName(strfilename) + @"\" + Path.GetFileNameWithoutExtension(strfilename) + ".txt";
doc = wordApp.Documents.Open(strfilename, false);
doc.SaveAs(fileName, Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatDOSText);
}
catch (Exception ex)
{
SendErrorMail(ex);
}
finally
{
if (doc != null)
{
doc.Close(ref miss, ref miss, ref miss);
System.Runtime.InteropServices.Marshal.ReleaseComObject(doc);
doc = null;
}
GC.Collect();
GC.WaitForPendingFinalizers();
}
return fileName;
}
答案 0 :(得分:1)
答案 1 :(得分:0)
Microsoft Interop Word Nuget
string docPath = @"C:\whereEverTheFileIs.doc";
Application app = new Application();
Document doc = app.Documents.Open(docPath);
string words = doc.Content.Text;
doc.Close();
app.Quit();