Меню

Чем открыть docx linux

открыть docx

чем открыть docx кроме монстров опенофис и либреофис?

пишет -тип архива не поддерживается, ос xubuntu

Кофисом можно ,но я боюсь что он не менее монстр.

Буквально вчера нужно было открыть докх с несколько таблицами и формулами. Если нужно только посмотреть содержимое, то один из лучших вариантов это отправить себе письмо на яндекс почту и в браузере открыть, а там уже в пдф или что надо. Гугл докс тоже хорошо. Ещё можно отредактировать, хотя как там вставлялись формулы не обратил внимание. Что касается caligra и LO, то там всё совсем плохо было. Калигра чуть лучше наверно показывало содержимое и форматирование, но некоторые формулы в ЛО я мог редактировать. Zoho writer — хуже всего наверное.

В целом это всё от документа зависит и что тебе от него надо. Пол года назад пробовал калигру, то ужаснулся и удалил как страшный сон. Сильно хуже чем в ЛО. Может допили, а может просто документ такой попался.

antiword попробуй хотя я не знаю как он с docx.

как вариант — catdoc. Хз как он с docx, но доки есть, может и docx переварит.

пишет -тип архива не поддерживается, ос xubuntu

Кто пишет? С какими параметрами unzip вызывал?

чем открыть docx кроме монстров опенофис и либреофис?

Ещё MS Word’ом можно открыть, как ни странно.

Источник

How to open Microsoft Word documents in Linux

In an office or production environment, sharing documents between different applications and operating systems is a common issue. If you need to create, open, and edit Microsoft Word documents in Linux, you can use LibreOffice Writer or AbiWord. Both are robust word processing applications that read and write files in Word .doc and .docx formats.

If you need command-line tools that extract the text from Word files, Antiword (.doc files) and docx2txt (.docx) are useful programs to have at your disposal.

In this tutorial, we’ll look at these four applications and how you can use them. We’ll walk through installing them on several of the most popular Linux distributions, including Debian, Ubuntu, Fedora, OpenSUSE, CentOS, and Arch Linux. We’ll also help with installing the core Microsoft TrueType fonts on your Linux system.

LibreOffice

LibreOffice is a free, open-source, actively maintained and frequently updated office productivity suite that is compatible with Microsoft Office applications, including Microsoft Word. You can save your LibreOffice Writer documents in .doc or .docx format, and then either opens correctly in Microsoft Word.

Installing LibreOffice

LibreOffice can be installed using your package manager. To install it, open a terminal and use the following command appropriate for your operating system:

Debian 8, Ubuntu 15

Fedora 23

OpenSUSE 10

CentOS 7

Arch Linux 2016

Once LibreOffice is installed, it should appear in the Applications menu of your GUI. You can also run it from a terminal with the command:

AbiWord

AbiWord is another free and open-source word processor. It has a clean, simple interface developed for almost twenty years. Like LibreOffice, it can open, edit, and save Microsoft Word .doc and .docx files. Unlike LibreOffice, Abiword is not a complete office suite, so it has a smaller footprint and consumes fewer system resources.

Installing AbiWord

Debian 8, Ubuntu 15

Fedora 23

OpenSUSE 10

CentOS 7

Arch Linux 2016

Antiword

Antiword is a command-line tool that converts the contents of a .doc file to plain text.

Antiword only converts .doc files. If you need to convert a .docx file, see docx2txt in the next section.

Using Antiword

Running antiword with the name of a Word .doc file outputs the plain text of the file to standard output.

Antiword does a great job of formatting tables. It also has options for including images as PostScript objects and outputting to PDF.

You can redirect the output to a text file:

Or, if you want to open it directly in a text editor, you can pipe the text to vim:

Installing antiword

Debian 8, Ubuntu 15

Fedora 23

OpenSUSE 10

CentOS 7

Docx2txt

Docx2txt is a command-line tool that converts .docx files to plain text. (It does not convert .doc files.)

To print the contents of a .docx file to the terminal screen or a file, call docx2txt and specify a dash as the output file name. In this example, notice the dash at the end of the command.

To convert a .docx file and output to a text file, use the command form:

To open the .docx text in vim, use the command form:

To open it in nano:

To install doc2txt, follow the instructions for your version of Linux below:

Debian 8

Ubuntu 15

Fedora 23

Fedora’s repositories do not offer a package for docx2txt, but you can install it manually:

Download the source from SourceForge’s docx2txt page. Extract the archive:

You need to make sure that perl, unzip and make are installed on your system, so install or upgrade those packages now:

Then, run make as the root user to install:

Читайте также:  Как отформатировать флешку ошибка windows

Docx2txt is now installed as docx2txt.sh. For instance, to convert the file word-document.docx to a text file, you can run:

The converted text file automatically saves as word-document.txt.

OpenSUSE 10

SUSE repositories do not offer a package for docx2txt, but you can download it from SourceForge’s docx2txt page. Extract the archive:

You need to make sure that perl, unzip and make are installed on your system, so install or upgrade those packages now:

Then, run make as root to install:

Docx2txt is now installed as docx2txt.sh. For instance, to convert the file word-document.docx to a text file, you can run:

The converted text file is automatically saved as word-document.txt.

CentOS 7

CentOS repositories do not offer a package for docx2txt, but you can download it from SourceForge’s docx2txt page. Extract the archive:

You need to make sure that perl, unzip and make are installed on your system, so install or upgrade those packages now:

Then, run make as root to install:

Docx2txt is now installed as docx2txt.sh. For instance, to convert the file word-document.docx to a text file, you can run:

The converted text file is automatically saved as word-document.txt.

Arch Linux 2016

Installing Microsoft-compatible fonts

The core Microsoft fonts are available on Linux. Install them if you are going to be working with Microsoft Word files — especially if they were created on a Windows system. The core fonts include:

  • Andale Mono
  • Arial
  • Arial Black
  • Calabri
  • Cambria
  • Comic
  • Courier
  • Impact
  • Times
  • Trebuchet
  • Verdana
  • Webdings

To install them, follow these steps:

Debian 8, Ubuntu 15

Fedora 23

Install packages required for installation:

Then install the local RPM package:

OpenSUSE 10

Install packages required for installation:

Then install the local RPM package:

CentOS 7

Install packages required for installation:

Then install the local RPM package:

Arch Linux 2016

Install packages required for installation:

Extract the contents of the local RPM package:

This command extracts the raw contents of the RPM file and creates two directories, etc and usr that correspond to your /etc and /usr directories. The font files themselves are located in usr/share/fonts/msttcore.

Источник

Ищу просмотрщик MS Office файлов на Linux.

Посоветуйте какую-нибудь маленькую программку, которая просто открывает .docx, .ppt, .xls и т.п., без редактирования.

Пробовал офисные пакеты (WPS Office, OpenOffice), но они слишком громоздки для подобной задачи.

что значит громоздки? Ты можешь через них конвертировать скриптом в pdf и его уже смотреть.

Хм, это мысль. Но все равно напрямую открыть и сразу смотреть проще и быстрее, был бы просмотрщик.

Вроде то, что нужно. Сейчас попробую установить.

А офис онлайн не вариант? Можно ещё посмотреть teams от ms. Там вроде можно открыть файлы, но умеет ли он делать это без сети я не знаю.

catdoc(1), xls2csv(1), catppt(1).

docx2txt для docx ещё.

Если KDEфобии нету, то okular умеет, если библиотеки calligra или как там её присутствуют.

antiword лучшее что можно придумать для doc, в docx к сожалению не умеет.

Заливай на яндекс диск и смотри в браузере.

сразу смотреть проще и быстрее

напрямую открывать будет работать только для простых docx файлов, для больших и сложных лучше гонять конвертацию в pdf через либру. Бонусом идет — возможность гонять не только в pdf, но и в epub какой-нить.

word viewer под вайном

Не так давно узнал (на лоре), что ms его выпилила с сайта.

FreeOffice, на манжарке даже шёл из коробки.

Источник

Работа с текстовыми документами в Linux и аналог Word

Информация, приведенная в данной статье вряд-ли станет полезной для заядлых линуксоидов. Но для новичков, которые решили установить у себя операционную систему Linux и пощупать — что же она из себя представляет будет вполне полезной.

Давайте проанализируем — что нужно пользователю в первую очередь. Рядовому пользователю. Это просмотр фильмов, работа с документами, электронная почта и, в принципе, все. Здесь мы рассмотрим установку аналога Microsoft Word в Linux. Это всем известный проект LibreOffice.

Если назвать сейчас это название кому-то, возможно он и не поймет о чем идет речь. Этих людей, можно условно поделить на две части. Первая — часть, которая никогда не сталкивалась с Linux, открытым ПО и также никогда не пользовалась. Вторая часть — те, которые пользовались, но помнят, что аналогом Microsoft Word в линуксе является OpenOffice.

Стоит успокоить вторую группу людей — проект OpenOffice и LibreOffice можно считать единым целым . Конечно достаточно условно т.к. это два совершенно разных отдельных проекта с формальной точки зрения. Но фактически, разработчики, работавшие на старом проекте перешли на новый. Таким образом пользователи имеют возможность продолжать пользоваться привычным программным обеспечением, правда под видоизмененным (если брать их точку зрения) названием.

Процесс установки достаточно прост. Чтобы установить аналог Word-а — просто пройдите по ссылке в начале статьи. Там достаточно хорошо описан процесс установки.

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

Читайте также:  Защитник windows отключен политикой

Если брать общий вывод об использовании LibreOffice — наверное проще всего сформулировать это в следующем: если вы хотите использовать данный пакет — используйте его на своем компьютере, для печати и для переноса на компьютер, который читает родной для этого офиса формат. Если же нужно профессионально использовать все возможности — тут уже каждый должен принять решение для себя. Портирование документов между системами — задача не очень простая и тут сложно давать какие-либо рекомендации. Поэтому используйте на свой страх и риск. Хотя, если вам не требуются какие-то специфически фичи — никаких проблем возникнуть не должно.

Жми Привет! Если статья полезна, поддержи меня и сайт, поделись ей

Источник

Как я разбирал docx с помощью XSLT

Задача обработки документов в формате docx, а также таблиц xlsx и презентаций pptx является весьма нетривиальной. В этой статье расскажу как научиться парсить, создавать и обрабатывать такие документы используя только XSLT и ZIP архиватор.

Зачем?

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

  • библиотеки может просто не существовать
  • в проекте не нужен ещё один чёрный ящик
  • ограничения библиотеки по платформам и т.п.
  • проблемы с лицензированием
  • скорость работы

Поэтому в этой статье будем использовать только самые базовые инструменты для работы с docx документом.

Структура docx

Для начала разоберёмся с тем, что собой представляет docx документ. docx это zip архив который физически содержит 2 типа файлов:

  • xml файлы с расширениями xml и rels
  • медиа файлы (изображения и т.п.)

А логически — 3 вида элементов:

  • Типы (Content Types) — список типов медиа файлов (например png) встречающихся в документе и типов частей документов (например документ, верхний колонтитул).
  • Части (Parts) — отдельные части документа, для нашего документа это document.xml, сюда входят как xml документы так и медиа файлы.
  • Связи (Relationships) идентифицируют части документа для ссылок (например связь между разделом документа и колонтитулом), а также тут определены внешние части (например гиперссылки).

Они подробно описаны в стандарте ECMA-376: Office Open XML File Formats, основная часть которого — PDF документ на 5000 страниц, и ещё 2000 страниц бонусного контента.

Минимальный docx

Простейший docx после распаковки выглядит следующим образом

Давайте посмотрим из чего он состоит.

[Content_Types].xml

Находится в корне документа и перечисляет MIME типы содержимого документа:

_rels/.rels

Главный список связей документа. В данном случае определена всего одна связь — сопоставление с идентификатором rId1 и файлом word/document.xml — основным телом документа.

word/document.xml

  • — сам документ
  • — тело документа
  • — параграф
  • — run (фрагмент) текста
  • — сам текст
  • — описание страницы

Если открыть этот документ в текстовом редакторе, то увидим документ из одного слова Test .

word/_rels/document.xml.rels

Здесь содержится список связей части word/document.xml . Название файла связей создаётся из названия части документа к которой он относится и добавления к нему расширения rels . Папка с файлом связей называется _rels и находится на том же уровне, что и часть к которой он относится. Так как связей в word/document.xml никаких нет то и в файле пусто:

Даже если связей нет, этот файл должен существовать.

docx и Microsoft Word

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

Вот что в них содержится:

  • docProps/core.xml — основные метаданные документа согласно Open Packaging Conventions и Dublin Core [1], [2].
  • docProps/app.xml — общая информация о документе: количество страниц, слов, символов, название приложения в котором был создан документ и т.п.
  • word/settings.xml — настройки относящиеся к текущему документу.
  • word/styles.xml — стили применимые к документу. Отделяют данные от представления.
  • word/webSettings.xml — настройки отображения HTML частей документа и настройки того, как конвертировать документ в HTML.
  • word/fontTable.xml — список шрифтов используемых в документе.
  • word/theme1.xml — тема (состоит из цветовой схемы, шрифтов и форматирования).

В сложных документах частей может быть гораздо больше.

Реверс-инжиниринг docx

Итак, первоначальная задача — узнать как какой-либо фрагмент документа хранится в xml, чтобы потом создавать (или парсить) подобные документы самостоятельно. Для этого нам понадобятся:

  • Архиватор zip
  • Библиотека для форматирования XML (Word выдаёт XML без отступов, одной строкой)
  • Средство для просмотра diff между файлами, я буду использовать git и TortoiseGit

Инструменты

Также понадобятся скрипты для автоматического (раз)архивирования и форматирования XML.
Использование под Windows:

  • unpack file dir — распаковывает документ file в папку dir и форматирует xml
  • pack dir file — запаковывает папку dir в документ file

Использование под Linux аналогично, только ./unpack.sh вместо unpack , а pack становится ./pack.sh .

Использование

Поиск изменений происходит следующим образом:

  1. Создаём пустой docx файл в редакторе.
  2. Распаковываем его с помощью unpack в новую папку.
  3. Коммитим новую папку.
  4. Добавляем в файл из п. 1. изучаемый элемент (гиперссылку, таблицу и т.д.).
  5. Распаковываем изменённый файл в уже существующую папку.
  6. Изучаем diff, убирая ненужные изменения (перестановки связей, порядок пространств имён и т.п.).
  7. Запаковываем папку и проверяем что получившийся файл открывается.
  8. Коммитим изменённую папку.
Читайте также:  Tiffany and co windows

Пример 1. Выделение текста жирным

Посмотрим на практике, как найти тег который определяет форматирование текста жирным шрифтом.

  1. Создаём документ bold.docx с обычным (не жирным) текстом Test.
  2. Распаковываем его: unpack bold.docx bold .
  3. Коммитим результат.
  4. Выделяем текст Test жирным.
  5. Распаковываем unpack bold.docx bold .
  6. Изначально diff выглядел следующим образом:


Рассмотрим его подробно:

docProps/app.xml

Изменение времени нам не нужно.

docProps/core.xml

Изменение версии документа и даты модификации нас также не интересует.

word/document.xml

Изменения в w:rsidR не интересны — это внутренняя информация для Microsoft Word. Ключевое изменение тут

в параграфе с Test. Видимо элемент и делает текст жирным. Оставляем это изменение и отменяем остальные.

word/settings.xml

Также не содержит ничего относящегося к жирному тексту. Отменяем.

7 Запаковываем папку с 1м изменением (добавлением ) и проверяем что документ открывается и показывает то, что ожидалось.
8 Коммитим изменение.

Пример 2. Нижний колонтитул

Теперь разберём пример посложнее — добавление нижнего колонтитула.
Вот первоначальный коммит. Добавляем нижний колонтитул с текстом 123 и распаковываем документ. Такой diff получается первоначально:

Сразу же исключаем изменения в docProps/app.xml и docProps/core.xml — там тоже самое, что и в первом примере.

[Content_Types].xml

footer явно выглядит как то, что нам нужно, но что делать с footnotes и endnotes? Являются ли они обязательными при добавлении нижнего колонтитула или их создали заодно? Ответить на этот вопрос не всегда просто, вот основные пути:

  • Посмотреть, связаны ли изменения друг с другом
  • Экспериментировать
  • Ну а если совсем не понятно что происходит:


Идём пока что дальше.

word/_rels/document.xml.rels

Изначально diff выглядит вот так:

Видно, что часть изменений связана с тем, что Word изменил порядок связей, уберём их:

Опять появляются footer, footnotes, endnotes. Все они связаны с основным документом, перейдём к нему:

word/document.xml

Редкий случай когда есть только нужные изменения. Видна явная ссылка на footer из sectPr. А так как ссылок в документе на footnotes и endnotes нет, то можно предположить что они нам не понадобятся.

word/settings.xml

А вот и появились ссылки на footnotes, endnotes добавляющие их в документ.

word/styles.xml

Изменения в стилях нас интересуют только если мы ищем как поменять стиль. В данном случае это изменение можно убрать.

word/footer1.xml

Посмотрим теперь собственно на сам нижний колонтитул (часть пространств имён опущена для читабельности, но в документе они должны быть):

Тут виден текст 123. Единственное, что надо исправить — убрать ссылку на .

В результате анализа всех изменений делаем следующие предположения:

  • footnotes и endnotes не нужны
  • В [Content_Types].xml надо добавить footer
  • В word/_rels/document.xml.rels надо добавить ссылку на footer
  • В word/document.xml в тег надо добавить

Уменьшаем diff до этого набора изменений:

Затем запаковываем документ и открываем его.
Если всё сделано правильно, то документ откроется и в нём будет нижний колонтитул с текстом 123. А вот и итоговый коммит.

Таким образом процесс поиска изменений сводится к поиску минимального набора изменений, достаточного для достижения заданного результата.

Практика

Найдя интересующее нас изменение, логично перейти к следующему этапу, это может быть что-либо из:

  • Создания docx
  • Парсинг docx
  • Преобразования docx

Тут нам потребуются знания XSLT и XPath.

Давайте напишем достаточно простое преобразование — замену или добавление нижнего колонтитула в существующий документ. Писать я буду на языке Caché ObjectScript, но даже если вы его не знаете — не беда. В основном будем вызовать XSLT и архиватор. Ничего более. Итак, приступим.

Алгоритм

Алгоритм выглядит следующим образом:

  1. Распаковываем документ.
  2. Добавляем наш нижний колонтитул.
  3. Прописываем ссылку на него в [Content_Types].xml и word/_rels/document.xml.rels .
  4. В word/document.xml в тег добавляем тег или заменяем в нём ссылку на наш нижний колонтитул.
  5. Запаковываем документ.

Распаковка

В Caché ObjectScript есть возможность выполнять команды ОС с помощью функции $zf(-1, oscommand). Вызовем unzip для распаковки документа с помощью обёртки над $zf(-1):

Создаём файл нижнего колонтитула

На вход поступает текст нижнего колонтитула, запишем его в файл in.xml:

В XSLT (файл — footer.xsl) будем создавать нижний колонтитул с текстом из тега xml (часть пространств имён опущена, вот полный список):

В результате получится файл нижнего колонтитула footer0.xml :

Добавляем ссылку на колонтитул в список связей основного документа

Сссылки с идентификатором rId0 как правило не существует. Впрочем можно использовать XPath для получения идентификатора которого точно не существует.
Добавляем ссылку на footer0.xml c идентификатором rId0 в word/_rels/document.xml.rels :

Прописываем ссылки в документе

Далее надо в каждый тег добавить тег или заменить в нём ссылку на наш нижний колонтитул. Оказалось, что у каждого тега может быть 3 тега — для первой страницы, четных страниц и всего остального:

Добавляем колонтитул в [Content_Types].xml

Добавляем в [Content_Types].xml информацию о том, что /word/footer0.xml имеет тип application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml :

В результате

Весь код опубликован. Работает он так:

  • in.docx — исходный документ
  • out.docx — выходящий документ
  • TEST — текст, который добавляется в нижний колонтитул

Выводы

Используя только XSLT и ZIP можно успешно работать с документами docx, таблицами xlsx и презентациями pptx.

Источник

Adblock
detector