有没有办法将Microsoft Word文档转换成记事本文件.txt格式?

5
我尝试了这段代码。
string[] ext = att.Name.Split('.');
string file = ext[0].ToString();
object Target = file + ".txt";
object nullobject = System.Reflection.Missing.Value;

Application.Documents.Open(ref FileName, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref value, ref value, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj);
object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatUnicodeText;

Application.ActiveDocument.SaveAs(ref Target, ref format,
                        ref Unknown, ref Unknown, ref Unknown,
                        ref Unknown, ref Unknown, ref Unknown,
                        ref Unknown, ref Unknown, ref Unknown,
                        ref Unknown, ref Unknown, ref Unknown,
                        ref Unknown, ref Unknown);
Application.Visible = false;
Microsoft.Office.Interop.Word.Document oDoc1 = Application.ActiveDocument;
string strNewDocText1 = oDoc1.Content.Text;

但是在strNewDocText1中得到的输出包括项目符号和额外的字形格式。

我希望将我的Word文档简单地转换为纯文本格式。


您不能安全地在像ASP.NET这样的服务程序中使用Office APIs。它们仅适用于桌面应用程序。 - John Saunders
1个回答

2
我相信这个例子是从这里引用的:http://www.codeproject.com/Articles/5273/How-to-convert-DOC-into-other-formats-using-C 所以基本上你有一个RTF文档,必须将其转换为纯文本。这里有一个例子。 最简单的方法就是添加对System.Windows.Forms.dll的引用。
System.Windows.Forms.RichTextBox rtBox = new System.Windows.Forms.RichTextBox();

string richText = text// The rich text (with bullets and so on.)
rtBox.Rtf = richText ;
string plainText = rtBox.Text;

System.IO.File.WriteAllText(@"output.txt", plainText);

1
但是我的应用程序不是桌面应用程序。 - Krunal Mevada
1
这并不意味着你不能添加对该程序集的引用。那是最快和最简单的解决方案。 - Nas
我添加了 System.Windows.Forms.dll。@Nas - Krunal Mevada
@Nas 当我运行这段代码时,我收到了“文件格式无效”的错误。 - Krunal Mevada
当它接受字符串richtext值时,rtBox.Rtf = richText; - Krunal Mevada
显示剩余8条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接