-
Code's Tags
-
Your Codes
-
Reffers
-
Linked Codes
|
Code:
Short link for Twitter:
HTML:
HTML view:
Copy Source | Copy HTML using Microsoft.Office.Interop.Word; using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Text; /// <summary> /// объект для операция с Вордовыми документами /// </summary> public class ConvertDoc { // Объект отвечающий за результат конвертации. // Ставим .txt - текстовый в досовской кодировке static ConvConfig tmpItem = new ConvConfig(".txt", WdSaveFormat.wdFormatDOSText); /// <summary> /// Получение текста из доковского файла /// </summary> /// <param name="file">Ссылка на документ</param> /// <returns>Текст документа</returns> public static String GetDocText(String inFileName) { String retText = String.Empty; //создаем объекты для дальнейшей передачи в вордовые функции object fileName = inFileName; object fileSaveName = Path.GetTempFileName() + tmpItem.itemExtension; //случайное уникальное имя + .txt; object vk_read_only = true; object vk_visible = false; object vk_true = true; object vk_false = false; object vk_dynamic = 2; object vk_saveformat = tmpItem.itemWord; object missing = Missing.Value;//все параметры, которые мы пропустим ///// object vk_range = missing; object vk_to = missing; object vk_from = missing; ///// // создаем класс для работы с вордом ApplicationClass vk_word_app = new ApplicationClass(); Document aDoc = null; try { // вызываем скрытое открытие документа aDoc = vk_word_app.Documents.Open( ref fileName, ref missing, ref vk_read_only, ref vk_false, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref vk_visible, ref missing, ref missing, ref missing); //Сохраняем в файл в заданном формате aDoc.SaveAs(ref fileSaveName, ref vk_saveformat, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); //корректно закрывает все открытое if (aDoc != null) { aDoc.Close(ref vk_false, ref missing, ref missing); } //читаем из временного файла в досовской кодировке и удаляем его retText = File.ReadAllText(fileSaveName.ToString(), Encoding.GetEncoding(866)); File.Delete(fileSaveName.ToString()); } catch (Exception err) { Debug.WriteLine("Ошибка чтения файла: " + inFileName + " - " + err.Message); } finally { vk_word_app.Quit(ref vk_false, ref missing, ref missing); } return retText; } } /// <summary> /// Настройки для конвертации /// </summary> public class ConvConfig { //расширение public String itemExtension; //тип объекта на выдаче public Object itemWord; //The constructors public ConvConfig() { } public ConvConfig(String inExtension, Object inWordType) { // This allows us to set the properties itemExtension = inExtension; itemWord = inWordType; } }
|