#c# #ms-word
#c# #ms-word
Вопрос:
я программно конвертирую документ Word в обычный текстовый файл, используя word api (приложение c # 2.0). Для некоторых документов процесс зависает из-за символов, доступных в документе word. я хочу удалить эти символы в документе Word программно или как я мог бы сохранить документ word в обычный текстовый файл, который содержит символы, без зависания.
помогите мне, пожалуйста, решить проблему
вот пример кода
private void TextFileConvertion(string strsource, string strtarget)
{
// Use for the parameter whose type are not known or
// say Missing
object Unknown = Type.Missing;
//Creating the instance of Word Application
Word.Application newApp = new Word.Application();
newApp.AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityForceDisable;
newApp.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone;
Word.Document doc = null;
try
{
lblProgress.Text = "Converting " strsource " into Text file is under process.";
Application.DoEvents();
// specifying the Source amp; Target file names
object Source = strsource;
object Target = strtarget;
object objTrue = true;
object objFalse = false;
// Source document open here
// Additional Parameters are not known so that are
// set as a missing type
try
{
newApp.Visible = false;
doc = newApp.Documents.Open(ref Source,
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, ref Unknown);
}
catch (Exception exp)
{
ZoniacLogger.Error("Exception : " exp.Message " Stack Trace : " exp.StackTrace);
}
if (doc.ReadOnlyRecommended == true)
return;
// Specifying the format in which you want the output file
object format = Word.WdSaveFormat.wdFormatText;
//Changing the format of the document
newApp.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);
//if (doc.ReadOnlyRecommended == true)
// SetuncheckReadonly(doc, strsource);
//intTxtCounter = intTxtCounter 1;
strTxtCounter = "OK";
}
catch (Exception ex)
{
strTxtCounter = "FAILED";
ZoniacLogger.Error("<TextFileConvertion> Exception : " ex.Message " Stack Trace : " ex.StackTrace);
}
finally
{
if (newApp != null)
{
// for closing the application
newApp.Quit(ref Unknown, ref Unknown, ref Unknown);
newApp = null;
}
}
}
Комментарии:
1. «доступные символы»: что это значит? У вас есть какой-нибудь пример документа?
2. @AlexD и @Kamyar: я привел пример кода в самом моем вопросе
Ответ №1:
Если сохранить word в виде обычного текста — это все, что вам нужно сделать, может быть, самый быстрый и простой способ сделать это — использовать метод SaveAs DocumentClass?
Вам просто нужно установить соответствующий формат вывода в качестве второго параметра. Форматы сохранения