1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Конвертируем DOCX в DOC — 7 способов

Конвертируем DOCX в DOC — 7 способов

Во время работы с документами Word пользователю может понадобится преобразовать файл из одного формата в другой, например, docx в doc. Эти форматы используются в приложении Word входящего в состав офисного пакета Microsoft Office.

Любой современный текстовый редактор MS Word поддерживает оба формата: DOCX и DOC, но так было не всегда. Это началось после выхода версии офисных приложений Microsoft Word 2007 или новее. Оба формата поддерживаются в следующих версиях офисных программ: Word 2007, Word 2010, Word 2013, Word 2016, Word 2019.

  1. DOC и DOCX: в чем разница
  2. Конвертируем DOCX в DOC из Word 2019, 2016, 2013, 2010, 2007
  3. Использование пакета совместимости для Microsoft Office Word 2003
  4. Перевод DOCX в DOC с помощью LibreOffice
  5. Преобразование формата DOCX в DOC используя OpenOffice
  6. Как конвертировать DOCX в DOC онлайн на Convertio.co
  7. Получаем DOC из DOCX на Online-Convert.com
  8. Простой способ изменения формата в Windows
  9. Выводы статьи
Статья в тему:  Программы для приема тв. Все тв каналы россии

Относительно новый формат DOCX не поддерживается в версии Microsoft Word 2003 или младше. Это значит, что в этих версиях приложения можно открыть только файл формата DOC, а документ в формате DOCX посмотреть не получится.

Вначале посмотрим, чем отличается DOC от DOCX, в чем разница между этими близкими форматами, созданными одним разработчиком — Microsoft.

DOC и DOCX: в чем разница

В программе Word для сохранения документов наиболее широко используются расширения файлов «.docx» и «.doc». Пользователи часто встречаются с файлами, имеющими подобные расширения.

Корпорация Майкрософт разработала собственный формат для работы с текстовыми документами, который используется в приложении Word. В версиях Microsoft Office 97-2003 применялся формат «Doc», а начиная с версии Microsoft Office 2007 и новее — формат «DocX». Как нетрудно заметить, к «Doc» был добавлен «X», что означает «XML». DOCX (Office Open XML) является преемником устаревшего формата DOC.

Основные отличия между данными форматами:

  • Размер файла DocX несколько меньше, чем у файла Doc, за счет встроенной функции сжатия в специальный ZIP-архив.
  • DocX — контейнерный формат, в котором хранится информация о тесте, разметке, таблицах и сценариях в отдельных папках и файлах, в отличие от Doc, где все данные хранятся в одном файле.
  • При использовании DOCX у пользователя будет большее количество функциональных возможностей при работе с текстовыми документами.
Статья в тему:  Какие разъемы на карте. Разъемы ноутбуков и их назначение

Нам стало понятно, что файлы DOCX не получится просто открыть в Word 2003 в более ранних версиях, также в программах, не поддерживающих данный формат, но имеющих поддержку формата DOC. Это происходит из-за того, что у формата DocX нет обратной совместимости.

С другой стороны, файлы формата DOC легко открываются в режиме ограниченной функциональности в новых версиях программы: Word 2019, Word 2016, Word 2013, Word 2010, Word 2007.

Некоторым пользователям необходимо иметь возможность использовать файлы DOC по разным причинам:

  • на компьютере установлен Microsoft Office 2003;
  • этот формат требует программное обеспечение, у которого есть поддержка устаревшего типа файлов;
  • пользователь работает на нескольких устройствах, на одном из которых обеспечена поддержка только файлов старого формата.

Принимая во внимание вышесказанное, становится понятно, что нам необходимо конвертировать DOCX в DOC, чтобы открыть данный тип файлов на ПК, не имеющих новых версий Microsoft Office. Нам нужно решить возникшую задачу: перевести DOCX в DOC.

Из инструкций этого руководства вы узнаете о том, как преобразовать DOCX в DOC разными методами: с помощью программного обеспечения, установленного на компьютере или онлайн, используя инструменты на удаленном сервере, или при помощи средств Windows.

Зачем такая путаница между файлами doc и docx?

Разработчиком офисной программы Word является компания Microsoft. В свое время эта компания анонсировала появление нового расширения .docx для файлов, которые занимают намного меньше места на жестком диске компьютера по сравнению с файлами со старым расширением .doc.

Статья в тему:  Как назвать группу на работе. Как назвать группу вконтакте

Кстати, особенно это заметно на «тяжелых» вордовских файлах с многочисленными картинками и таблицами. Файлы .docx с большим количеством картинок, таблиц, занимают на жестком диске компьютера значительно меньше места, чем такой же файл, но с расширением .doc.

Аналогично эксельные (Excel) таблицы с новым расширением .xlsx также существенно экономят место на жестком диске ПК по сравнению с таблицами со «старым» расширением .xls.

Другой плюс такого перехода с формата .doc на .docx состоит в том, что Word 2007 (и более поздние версии) имеют более широкий функционал, чем Word 97-2003.

Именно поэтому, если файл со «старым» расширением .doc открыть с помощью Word 2007 (или более поздней версии), то неожиданно сверху можно увидеть надпись «Режим ограниченной функциональности» (рис. 1). Он потому и ограниченный, что для файлов со «старым» расширением .doc нельзя использовать неограниченные возможности нового Word 2007.

Рис. 1 Файл с расширением .doc открывается в Word 2007 в режиме ограниченной функциональности

Чтобы убрать надпись «Режим ограниченной функциональности» и работать с документом в обычном режиме без ограничений, надо сохранить файл .doc в новом формате .docx, об этом подробнее ниже.

Итак, вордовские файлы могут иметь такие расширения:

  • .doc (созданы в редакторе Word 2003), либо
  • .docx (созданы в Word 2007 и позднее).

На первый взгляд, разница небольшая: всего лишь одна «лишняя» буква «х». Однако если периодически пользоваться то компьютером с Windows XP, то компьютером с Windows 7, то рано или поздно сталкиваешься с такой ситуацией. Создан файл в Word 2007, значит, он имеет расширение .docx. Если перенести файл .docx на Windows XP и попытаться открыть его там, то он может не открыться.

Статья в тему:  Онлайн-конвертеры файлов DOCX в DOC. Конвертируем DOCX в DOC

Как я писала выше, проблема в том, что старый Word 2003 (тот, который производит файлы с расширением .doc) не понимает, не открывает и не дружит с новыми файлами из Word 2007, у которых расширение .docx.

Как решить проблему? Во-первых, обращать внимание на то расширение, которое появляется у файла при его первом сохранении в Word.

Во-вторых, файл с расширением .docx можно сохранить в Word 2007 с другим расширением — .doc. Тогда у Вас будет один и тот же файл, сохраненный с разными расширениями. Например, в Word 2007 один и тот же файл можно сохранить так:

  • test.doc,
  • test.docx.

Тогда файл test.doc будет открываться в Word 2003 и в Word 2007 (правда, здесь в режиме ограниченной функциональности).

Как конвертировать docx в doc или doc в docx в Word 2007

Word 2003 года сохраняет и открывает документы с расширением .doc.
А Word 2007 г. (и позднее) сохраняет и открывает документы с расширением .docx.
Однако в Word 2007 есть возможность открыть документ .docx и сохранить его как .doc. Либо можно сделать наоборот: файл .doc сохранить как .docx.

Рис. 2 Как файл со «старым» расширением .doc сохранить с «новым» расширением .docx или наоборот сохранить .docx в .doc

Для этого в Word 2007 (или более поздняя версия Word)

  • откройте документ,
  • нажмите кнопку Office (цифра 1 на рис. 2),
  • в этом меню кликните по опции «Сохранить как»,
  • выберите папку или место для хранения файла (цифра 2 на рис. 2),
  • откройте выпадающий список «Тип файлов» (цифра 3 на рис. 2) — появится окно, как на рис. 3.
Статья в тему:  Полная прошивка телефона с компьютера. Прошивка андроид

Рис. 3 Нужно кликнуть по Типу файла – Документ Word (*.docx)

Как видно на рис. 3, нужно кликнуть по Типу файла – Документ Word (*.docx) – цифра 2 на рис. 3. После этого автоматически у файла появится «новое» расширение .docx. Остается щелкнуть по кнопке «Сохранить» (рис. 2).

Если нужно обратная процедура, то есть, из .docx сделать .doc, то на рис. 3 нужно кликнуть по типу файла «Документ Word 97-2003 (*.doc)», после чего нажать на кнопку «Сохранить».

Если приведенные выше варианты не подходят, используйте онлайн-конвертер.

Как перевести doc v docx и обратно в Word 2007

Конвертация .doc в .xml

Теперь, когда, казалось бы, можно воспользоваться классом-конвертором DocxToXml, работа которого была описана вот в этой статье, нас поджидает сюрприз, связанный с особенностями работы b2xtranslator.

Давайте посмотрим на результат работы библиотеки повнимательнее и сравним с оригинальным .docx файлом, из которого был экспортирован .doc файл для конвертации. Для этого достаточно изменить расширение сравниваемых файлов с .docx на .zip. Вот отличия, которые мы увидим, заглянув внутрь архивов:

1. В результате конвертации в новом .docx файле (справа) отсутствуют папки customXml и docProps.

2. Внутри папки word, мы также найдем определенные отличия, перечислять которые я, конечно же, не буду:

3. Естественно, что и метаданные, по которым осуществляется навигация внутри документа, также отличаются. Например, на представленном скрине и далее оригинальный .docx слева, сгенерированный b2xtranslator – cправа.

Статья в тему:  Скачать треки с вконтакте. Как скачать музыку вконтакте

Налицо явное отличие в атрибутах тега “w:document” , но этим отличия не заканчиваются. Всю «мощь» библиотеки мы ощутим, когда захотим обработать списки и при этом:

  • a. Сохранить их нумерацию
  • b. Не потерять структуру вложенности
  • c. Отделить один список от другого

Давайте сравним файлы document.xml для вот этого списка:

Вот так будет выглядеть .xml для первого элемента списка.

-Во-первых, мы видим, что сама структура документов несколько отличается (например, точка внутри строк рассматривается как отдельный элемент, что, как оказалось, совсем не страшно).
-Во-вторых, у тегов остался только один атрибут ( w:rsidR ), а вот w:rsidR , w14:textId , w:rsidRDefault , w:paraId и w:rsidP пропали. Все эти особенности приводят к тому, что наш класс-конвертер DocxToXml (про него подробно можно почитать здесь) подавится и поднимет лапки вверх с ошибкой NullReferenceException , что указывает на отсутствие индексирования параграфов внутри документа.

Вместе с тем, если мы попытаемся такой файл отрыть в Word, то увидим, что все хорошо отображается, а таблицы и списки покоятся на своих местах! Магия!

В общем, когда в поисках решения я потратил N часов на чтение документации, мои красные от дебагера глаза омылись горькими слезами, а один лишь запах кофе стремился показать коллегам мой дневной рацион, решение было найдено!

Исходя из документации к формату doc и алгоритмов работы b2xtranslator, можно сделать вывод, что исторически в бинарных офисных текстовых документах отсутствовала индексация по параграфам*. Возникает задача расставить необходимые теги в нужных местах.

Статья в тему:  Плавная анимация перемещения с помощью CSS

За индекс параграфа отвечает атрибут тега paraId , о чем прямо написано здесь. Данный атрибут относится к пространству имен w14 , о чем можно догадаться при изучении document.xml из архива .docx. В принципе, на скринах выше вы это тоже видите. Объявление пространства имен в .xml выглядит так:

Теперь давайте заставим b2xtranslator добавлять это пространство имен и идентификатор каждому параграфу. Для этого в файле

b2xtranslatorCommonOpenXmlLibContentTypes.cs” после 113 строки добавим вот эту строчку:

Кстати, если посмотрите на комментарии в коде, то увидите, что в этом блоке как раз располагаются поддерживаемые пространства имен для вордовых документов:

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

b2xtranslatorDocWordprocessingMLMappingMainDocumentMapping.cs” в 24 строке вставим код:

Разработчики библиотеки также позаботились о документации:

Теперь дело за малым – заставить b2xtranslator индексировать параграфы. В качестве индексов предлагаю использовать рандомно сгенерированные GUID – может быть, это несколько тяжеловато, но зато надежно!

Переходим в файл

b2xtranslatorDocWordprocessingMLMappingDocumentMapping.cs” и в 504 и 505 строки вставляем вот этот код:

Что касается второй строчки, в которой мы добавляем каждому тегу параграфа атрибут w14:textId = «77777777» , то тут можно лишь сказать, что без этого атрибута ничего работать не будет. Для пытливых умов вот ссылка на документацию.

Если серьезно, то, как я понимаю, атрибут используется, когда текст разделен на разные блоки, внутри которых происходит индексация тегов, которые могут иметь одинаковый Id внутри одного документа. Видимо, для этих случаев используется дополнительная индексация текстовых блоков. Однако, так как мы используем GUID, который в несколько раз больше индексов, используемых в вордовских документах по умолчанию, то генерацией отдельных индексов для текстовых блоков можно и пренебречь.

Вот теперь мы получили .docx-файл, пригодный для дальнейшего преобразования в .xml. Подробнее о том, как работать с ним дальше, вы можете прочитать в этой статье или воспользоваться уже выложенным на github-решением.

В заключение, если у вас на проекте есть возможность воспользоваться платным надежным софтом, то этот путь скорее всего не для вас. Однако же, если вы энтузиаст, пишете свой pet-проект и уважительно относитесь к авторским правам, а также если ваш проект находится в стадии прототипирования и пока не готов к покупке дорогостоящих лицензий, а разработку продолжать надо, то, мне кажется, этот вариант может вам очень даже подойти! Тем более, что у вас есть возможность воспользоваться готовым решением и не заливать свои краснющие зенки визином, изучая документацию и особенности работы некоторых, на первый взгляд, сомнительных решений.

Наконец, бонус для тех, кто хочет разобраться, что значат все эти бесконечные теги и их атрибуты в документах .docx и как они мапаются на бинарный .doc: советую заглянуть в файл

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector