формат .doc или word

gennady01071

Client
Регистрация
08.10.2014
Сообщения
12
Реакции
1
Баллы
3
Всем привет!
Столкнулся с ситуацией, когда необходимо вытащить текст из doc файлов, более чем 100 000 и то для начала.
Конечно есть некоторые конвертеры которые должны бы справиться с этой ситуацией, но на деле получается что качество хромает, а именно процент обработанных файлов меньше 100%. (если есть что-то бодрое поделитесь пзж)
Я догадываюсь что можно как-то прикрутить что-то вроде xdoc2txt.
Есть у кого решение этой задачи??
 
Последнее редактирование:
  • Оценить
Реакции: Radzhab
Код:
Развернуть Свернуть Копировать
Word.Application word = new Word.Application();
Word.Document doc = new Word.Document();
object fileName = @"C:\wordFile.docx";
// Define an object to pass to the API for missing parameters
object missing = System.Type.Missing;               
doc = word.Documents.Open(ref fileName,
                          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, ref missing);
string ReadValue = string.Empty;
// Activate the document
doc.Activate();

foreach (Word.Range tmpRange in doc.StoryRanges)
{
    ReadValue += tmpRange.Text;
}
 
не получается
 
Последнее редактирование:
ну слаб я в цэшарпе, помогите пзж. объясните что здесь.
e4a7ed75f309aa8f9a9925bd6ffb722f.gif
 
Последнее редактирование:
http://zennolab.com/discussion/threads/sozdanie-word-dokumentov.15666/

Скорее не хватает:
using System;
using Microsoft.Office.Interop.Word;
using System.Reflection;
using System.IO;
в этой теме обсуждается как записать что-то в файл, я хочу достать из файла.
Будьте добры, проверьте по возможности. меня это не слабо тормозит сейчас. готов отблагодарить.
 
Там еще кусок кода для Microsoft.Office.Interop.Word; сравни чего не хватает.


С помощью этой библиотеки можно не только записывать файлы, но читать их.
Код:
Развернуть Свернуть Копировать
var doc = Novacode.DocX.Load(project.Directory+"\\wordFile.docx");
var text = doc.Text.ToString();
return text;
 
Последнее редактирование:
в этой теме обсуждается как записать что-то в файл, я хочу достать из файла.
Будьте добры, проверьте по возможности. меня это не слабо тормозит сейчас. готов отблагодарить.
Не юзай этот интероп. У меня есть статья по работе в Word. Смотри там
 
У меня есть статья по работе в Word. Смотри там
в вашей статье много всего интересного, но не могу найти ничего для себя или я не врубаюсь, вроде все делаю как там написан. не могли бы вы мне помочь с моим вопросом. есть ли разница работы с .docX и .doc ?? помогите пзж, уже вторые сутки на ветер. сижу разбираюсь...
HELP mE!!!
 
Последнее редактирование:
нашел такой код на чтение вроде бы, в тесте показывает "ок" по факту не работает, посмотрите кто понимает и смыслит в этом больше чем я
Код:
Развернуть Свернуть Копировать
const string FILE_NAME = @"C:\123.doc";
try
{
  Stream s = File.OpenRead(FILE_NAME);
}
catch(Exception e)
{
    //System.Diagnostics.Debugger.Break();
    Console.WriteLine(e.Message);
}
 
дошел до visual studio! сейчас могу данным кодом перевести из формата doc в формат txt. но не сильно шарю и прошу помочь
необходимо дописать что бы за место названия файла была переменная. переменная эта должна браться из обычного текстового файла ну и соответственно удаляться и так пока файлы не кончатся.
Код:
Развернуть Свернуть Копировать
using System;
using System.Diagnostics;
using System.IO;

namespace DocX_WordDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            string inputFilePath = "../../Document/";
            string outputFilePath = @"Result\";
            string separatorLine = new string('-', 30);

            UpdateDirectory(outputFilePath);

            #region 1. Conversion
            Conversion.ConvertToTxt(inputFilePath + "Sample02.docx", outputFilePath + "ToTxt.txt");//Название файла братьиз одельного файла в котором список. соответственно отконвертируемый файйл должен иметь тоже название.
            Console.WriteLine("ConvertToTxt finish.");

            Console.WriteLine(separatorLine);

            #endregion

            Process.Start("explorer.exe", outputFilePath);
            Console.WriteLine("Press any key to quit...");
            Console.ReadKey();

        }

        static void UpdateDirectory(string path)
        {
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
        }

    }
}

https://yadi.sk/d/QfDkqNE7oKFpX
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)