Как загрузить документ MS Word (.doc и .docx) в память (переменную), не делая этого ?:
wordApp.Documents.Open
Я не хочу открывать MS Word, мне просто нужен этот текст внутри.
Вы мне ответили за DOCX, а как насчет DOC? Я хочу бесплатное и высокопроизводительное решение - не открывать 12.000 экземпляров Word для их обработки. :( Aspose - коммерческий продукт, а 900 $ - это слишком много для того, чем я занимаюсь.





Если вы имеете дело с docx, вы можете сделать это без какого-либо взаимодействия с Word. .docx файл на самом деле ZIP содержит файл XML, вы можете прочитать XML Пожалуйста, обратитесь по ссылкам ниже
http://conceptdev.blogspot.com/2007/03/open-docx-using-c-to-extract-text-for.html
Для документов Word в формате docx я нашел эту интересную статью о CodeProject
Использование DocxToText для извлечения текста из файлов DOCX
В статье автор обсуждает вычеркивание только самих слов.
Для ваших документов Word (не в формате docx), кроме использования API-интерфейсов Office и (в фоновом режиме) создания экземпляра Word, вы можете попробовать использовать один из множества различных конвертеров Doc2Docx на рынке, а затем применить описанный выше процесс для и то и другое.
Я не хочу быть антагонистом, но почему?
Я извлек данные из документов Word на серверах Linux с помощью Word2X или AbiWord, и в зависимости от количества и разнообразия документов при извлечении всегда будут возникать ошибки. Тем хуже, чем больше маркеров, разрывов страниц, разделов документа и других «специальных» функций.
Я понимаю, что сейчас есть варианты автоматизации OpenOffice для обработки документов, но я советую, если можете, просто используйте Word для обработки документов Word.
Если я хочу обрабатывать 12.000 текстовых документов каждый день ... Угадайте, почему я не хочу открывать 12000 экземпляров Word ..
Недавно я провел небольшое исследование по этой теме. Оказывается, чтобы иметь возможность манипулировать файлами Word программно, не открывая само слово, вам понадобятся очень дорогие инструменты.
На проект кода по манипулированию Word есть статья, она может вам пригодиться. Автор создал оболочку C# COM для обработки вызовов Word. Похоже, что на самом деле он открывает слово «приложение».
Этот пост на форумах neowin тоже выглядит многообещающе. Он включает в себя довольно много вызовов PInvoked с целью извлечения текста.
Может быть, если бы вы нашли способ скрыть окно, это было бы приемлемо.
В Aspose есть компонент для чтения, изменения и записи документов Word. Вот ссылка на продукт: Aspose.Words для .NET и Java
Aspose.Words enables .NET and Java applications to read, modify and write Word® documents without utilizing Microsoft Word®. Aspose.Words supports a wide array of features including document creation, content and formatting manipulation, powerful mail merge abilities, comprehensive support of DOC, OOXML, RTF, WordprocessingML, HTML, OpenDocument and PDF formats. Aspose.Words is truly the most affordable, fastest and feature rich Word component on the market.
бесплатная библиотека, -> Задать: 899 долларов США
Вы можете использовать wordconv.exe, который является частью пакета обеспечения совместимости Office, для преобразования из doc в docx.
Просто вызовите команду так: "C: \ Program Files \ Microsoft Office \ Office12 \ wordconv.exe" -oice -nme InputFile OutputFile
Я не уверен, нужно ли вам установить word для его запуска, но он работает. Я использую его локально как команду оболочки Windows для преобразования старых офисных файлов в формат 2007 года, когда захочу.
С помощью docxtemplater вы можете легко получить полный текст слова (работает только с docx).
Вот код (Node.JS)
DocxTemplater=require('docxtemplater');
doc=new DocxTemplater().loadFromFile("input.docx");
result=doc.getFullText();
Это всего лишь три строки кода и не зависит от какого-либо экземпляра слова (все простой JS)
Есть ли бесплатный документ для решения docx?