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

gennady01071

Client
Регистрация
08.10.2014
Сообщения
12
Благодарностей
1
Баллы
3
Всем привет!
Столкнулся с ситуацией, когда необходимо вытащить текст из doc файлов, более чем 100 000 и то для начала.
Конечно есть некоторые конвертеры которые должны бы справиться с этой ситуацией, но на деле получается что качество хромает, а именно процент обработанных файлов меньше 100%. (если есть что-то бодрое поделитесь пзж)
Я догадываюсь что можно как-то прикрутить что-то вроде xdoc2txt.
Есть у кого решение этой задачи??
 
Последнее редактирование:
  • Спасибо
Реакции: Radzhab

myweb101

Client
Регистрация
29.04.2013
Сообщения
175
Благодарностей
30
Баллы
28
Код:
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;
}
 

gennady01071

Client
Регистрация
08.10.2014
Сообщения
12
Благодарностей
1
Баллы
3
не получается
 
Последнее редактирование:

gennady01071

Client
Регистрация
08.10.2014
Сообщения
12
Благодарностей
1
Баллы
3
ну слаб я в цэшарпе, помогите пзж. объясните что здесь.
e4a7ed75f309aa8f9a9925bd6ffb722f.gif
 
Последнее редактирование:

myweb101

Client
Регистрация
29.04.2013
Сообщения
175
Благодарностей
30
Баллы
28

gennady01071

Client
Регистрация
08.10.2014
Сообщения
12
Благодарностей
1
Баллы
3
http://zennolab.com/discussion/threads/sozdanie-word-dokumentov.15666/

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

myweb101

Client
Регистрация
29.04.2013
Сообщения
175
Благодарностей
30
Баллы
28
Там еще кусок кода для Microsoft.Office.Interop.Word; сравни чего не хватает.


С помощью этой библиотеки можно не только записывать файлы, но читать их.
Код:
var doc = Novacode.DocX.Load(project.Directory+"\\wordFile.docx");
var text = doc.Text.ToString();
return text;
 
Последнее редактирование:

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113
в этой теме обсуждается как записать что-то в файл, я хочу достать из файла.
Будьте добры, проверьте по возможности. меня это не слабо тормозит сейчас. готов отблагодарить.
Не юзай этот интероп. У меня есть статья по работе в Word. Смотри там
 

gennady01071

Client
Регистрация
08.10.2014
Сообщения
12
Благодарностей
1
Баллы
3
У меня есть статья по работе в Word. Смотри там
в вашей статье много всего интересного, но не могу найти ничего для себя или я не врубаюсь, вроде все делаю как там написан. не могли бы вы мне помочь с моим вопросом. есть ли разница работы с .docX и .doc ?? помогите пзж, уже вторые сутки на ветер. сижу разбираюсь...
HELP mE!!!
 
Последнее редактирование:

gennady01071

Client
Регистрация
08.10.2014
Сообщения
12
Благодарностей
1
Баллы
3
нашел такой код на чтение вроде бы, в тесте показывает "ок" по факту не работает, посмотрите кто понимает и смыслит в этом больше чем я
Код:
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);
}
 

gennady01071

Client
Регистрация
08.10.2014
Сообщения
12
Благодарностей
1
Баллы
3
дошел до 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
 

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