altaf008bd
ах, простите.. Я не понял.
В этом случае я думаю, что вам нужно преобразовать doc-файл в html, а затем загрузить html-контент непосредственно в браузер. Вот пример кода для преобразования doc в html, а затем загрузки html в браузер:
private void OpenMSWordFileByBrowser()
{
string htmlFilePath = "E:\\test.html";
Convert("E:\\test.docx",htmlFilePath, WdSaveFormat.wdFormatHTML);
//
Response.ClearContent();
Response.ClearHeaders();
Response.WriteFile(htmlFilePath);
Response.Flush();
Response.Close();
}
private static void Convert(string docFilePath,string htmlFilePath, WdSaveFormat format)
{
DirectoryInfo dirInfo = new DirectoryInfo(docFilePath);
FileInfo wordFile = new FileInfo(docFilePath);
//
object oMissing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
try
{
word.Visible = false;
word.ScreenUpdating = false;
//
Object filename = (Object)wordFile.FullName;
Document doc = word.Documents.Open(ref filename, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing);
try
{
doc.Activate();
object outputFileName = htmlFilePath;
object fileFormat = format;
doc.SaveAs(ref outputFileName,
ref fileFormat, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing);
}
finally
{
object saveChanges = WdSaveOptions.wdDoNotSaveChanges;
((_Document)doc).Close(ref saveChanges, ref oMissing, ref oMissing);
doc = null;
}
}
finally
{
((_Application)word).Quit(ref oMissing, ref oMissing, ref oMissing);
word = null;
}
}
Вместо физического расположения файла вы можете использовать относительный путь, если файл doc существует в папке вашего приложения, и использовать server.mappath.
imsureshthapa
Да, это сработало для localhost, но я получил ошибку разрешения 'получение фабрики COM-класса для компонента с CLSID {000209FF-0000-0000-C000-000000000046} не удалось из-за следующей ошибки: 80070005 Доступ запрещен.' при размещении на IIS. Я дал все разрешения IUSER, но все еще не работал. Есть Решение?