Вопрос

Как загрузить документ MS Word (.doc и .docx) в память (переменную) без этого?

wordApp.Documents.Open

Я не хочу открывать MS Word, я просто хочу этот текст внутри.

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

Это было полезно?

Решение

Вы можете использовать wordconv.exe, который является частью пакета обеспечения совместимости Office, для преобразования из doc в docx.

http: // www .microsoft.com / загрузки / details.aspx familyid = 941b3470-3ae9-4aee-8f43-c6bb74cd1466 & амп;? DisplayLang = ен

Просто вызовите команду так: " C: \ Program Files \ Microsoft Office \ Office12 \ wordconv.exe " -oice -nme InputFile OutputFile

Я не уверен, что вам нужно установить слово для запуска, но оно работает. Я использую его локально в качестве команды оболочки Windows для преобразования старых офисных файлов в формат 2007 в любое время.

Другие советы

Для документов Word в формате docx я нашел эту интересную статью в The CodeProject

Использование DocxToText для извлечения текста из файлов DOCX

В статье автор обсуждает выделение только самих слов.

Для ваших документов Word (не в формате docx), кроме использования API-интерфейсов Office и (на заднем плане) создания экземпляра Word, вы можете попробовать передать его одному из множества различных конвертеров Doc2Docx на рынке, а затем применить выше процесс для обоих.

Если вы имеете дело с docx, вы можете сделать это без какого-либо взаимодействия с Word Файл .docx на самом деле ZIP содержит файл XML, вы можете прочитать XML Пожалуйста, обратитесь по ссылкам ниже

http: / /conceptdev.blogspot.com/2007/03/open-docx-using-c-to-extract-text-for.html

Office (2007) Открытые форматы файлов XML

Недавно я провел небольшое исследование на эту тему. Оказывается, чтобы иметь возможность программно управлять файлами слов, не открывая само слово, вам нужны очень дорогие инструменты.

В проекте, посвященном манипулированию Word, есть статья. найти это полезным. Автор создает оболочку C # COM для работы с вызовами в Word. Похоже, что это на самом деле открывает приложение Word, хотя.

Этот пост закончен на Новые форумы тоже выглядят многообещающе. Он включает в себя довольно много вызовов PInvoked для извлечения текста.

Возможно, если бы вы могли найти способ скрыть окно, это было бы приемлемо.

Aspose имеет компонент для чтения, изменения и записи документов Word. Вот ссылка на продукт: Aspose.Words для .NET и Java

  

Aspose.Words включает .NET и Java   приложения для чтения, изменения и записи   Слово & # 174; документы без использования   Microsoft Word & # 174 ;. Aspose.Words поддерживает   широкий спектр функций, включая   создание документов, содержание и   манипулирование форматированием, мощная почта   способности слияния, всесторонняя поддержка   DOC, OOXML, RTF, WordprocessingML,   HTML, OpenDocument и PDF форматы.   Aspose.Words действительно самый   доступный, быстрый и многофункциональный   Компонент Word на рынке.

С помощью docxtemplater вы можете легко получить полный текст слова (работает только с docx).

Вот код (Node.JS)

<код> DocxTemplater = требуется ( 'docxtemplater'); doc = new DocxTemplater (). loadFromFile (" input.docx "); Результат = doc.getFullText ();

Это всего лишь три строки кода и не зависит ни от одного экземпляра слова (все простые JS)

Я не хочу быть антагонистом, но почему?

Я извлек данные из документов Word на серверах Linux, используя Word2X или AbiWord, и в зависимости от количества и разнообразия документов всегда будут ошибки при извлечении. Это тем хуже, чем больше маркеров, разрывов страниц, разделов документов и других «специальных» сообщений. Возможности есть.

Я понимаю, что теперь есть варианты автоматизации OpenOffice для обработки документов, но я советую, если вы можете, просто использовать Word для обработки документов Word.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top