- Как легко конвертировать форматы документов в Linux
- Базовая установка и использование Pandoc
- Параметры командной строки Pandoc
- Справочные файлы ODT / DOCX
- Бэкэнд рендеринга PDF
- Генератор электронных книг
- Дополнительные советы
- Уценка Пандока
- Используйте графический интерфейс с Pandoc
- Пандок снимает стресс от переключения
- Взаимная конвертация и обработка электронных документов
- Что потребуется
- Другие возможности
Как легко конвертировать форматы документов в Linux
Одной из часто упоминаемых проблем с переходом на Linux является совместимость файлов. Вы неизменно будете отправлять пользователям файлы других операционных систем, и они не будут выглядеть одинаково при открытии в таких приложениях, как Word. Пока вы можете установить шрифты или попробовать виртуальные машины или эмуляторы
чтобы убедиться, что все выглядит единообразно, другой подход заключается в том, чтобы выполнить свою работу в текстовом формате, а затем преобразовать ее после того, как вы это сделали.
Одним из инструментов, который вы можете использовать для преобразования между форматами, является pandoc, необходимый инструмент в наборе инструментов любого пользователя Linux.
Базовая установка и использование Pandoc
Установка pandoc в большинстве дистрибутивов Linux — это простая поездка в репозитории. В системах на основе Ubuntu следующая команда установит его для вас:
После установки вы можете начать использовать программу командной строки для преобразования файлов. Отлично справляется с Markdown и другими легкими языками разметки, если у вас есть .Мэриленд файл лежит вокруг, вы можете преобразовать это в HTML с помощью следующего:
-о флаг говорит имя выходной файл ты хочешь. В этом случае он также выводит формат вывода (HTML) по расширению имени файла. Вы можете использовать -р (за читать) а также -вес (за записывать) флаги, чтобы сообщить pandoc тип конверсии, который вы хотите. Предположим, вы привыкли писать в Markdown, но вам нужно что-то опубликовать на странице на MediaWiki:
В своих более ранних версиях pandoc фокусировался на «обновлении» файлов в том смысле, что он мог преобразовывать более простые форматы (такие как Markdown) в более сложные (например, ODT или Microsoft DOCX). Но это будет сейчас читать эти более сложные форматы, а также. Это означает, что если вы привыкли к текстовому процессору, но соблазнены всеми причинами использовать меньший и более портативный текстовый формат
стало намного проще.
Учитывая каталог, полный файлов Word, следующая команда преобразует каждый из них в Markdown:
Обратите внимание, что это оставит вас с именами файлов filename.docx.md, так что вам нужно будет выполнить команду быстрого переименования (или, что еще лучше, добавить ее к вышеупомянутому сценарию оболочки)
Параметры командной строки Pandoc
Теперь, когда у вас есть некоторые основы, мы рассмотрим некоторые из более сложных опций параметров командной строки pandoc.
Справочные файлы ODT / DOCX
Предположим, вы преобразовали все свои старые, громоздкие файлы текстового процессора в Markdown. Пока вы наслаждаетесь радостью от написания простого текста, в какой-то момент вам придется поделиться этим с кем-то. И этот кто-то может быть не так просвещен, как вы. Вы можете просто полностью изменить читать а также записывать флаги для преобразования вашего файла обратно в формат Word:
Но некоторым людям нравятся их файлы Word с определенными шрифтами, пронумерованными заголовками и т. Д. DOCX back-end поддерживает файлы шаблонов, называемые справочные файлы, как раз для такого случая. Это ODT или же DOCX файлы, которые вы настроили со всем необходимым стилем. Затем pandoc применяет эти стили при преобразовании, если вы передаете ему ссылочный файл в командной строке:
Обратите внимание, как шрифты, настроенные в справочном файле выше (Arial Black для заголовка 1 и т. Д.) Отображаются в преобразованном файле ниже. Вы можете создать столько эталонных файлов, сколько вам нужно (например, по одному на клиента). Затем полностью игнорируйте форматирование во время написания и применяйте стили за один шаг при конвертации.
Бэкэнд рендеринга PDF
Создание PDF-файлов также является простым упражнением после установки необходимых пакетов. Облегченный способ получить возможность записи в формате PDF — это установить wkhtmltopdf пакет, инструмент командной строки для преобразования HTML в PDF. Pandoc поддерживает это изначально, так что если вы установите записывать флаг HTML, но выходной файл как PDF, он будет интерпретировать это как ваше намерение использовать wkhtmltopdf все само собой!
Кроме того, вы можете перейти к полнофункциональной опции с помощью системы набора текста TeTex. Воспользуйтесь тем, что эти пакеты Предлагаемые установки для пакета pandoc, переустановив с помощью следующей команды:
Затем откиньтесь на спинку кресла, пока много (на самом деле, много) пакетов устанавливаются. Как только они будут завершены, вы можете преобразовать свой файл непосредственно в PDF, указав его как записывать флаг:
В то время как wkhtmltopdf Опция требует установки только одного пакета, вы можете получить более удобные для печати результаты с TeTex. А именно, шрифты с засечками используются по умолчанию, а страницы автоматически нумеруются.
Генератор электронных книг
Наконец, pandoc может конвертировать ваши файлы в электронные книги, подходящие для чтения на телефоне или в электронном ридере.
, EPUB а также EPUB3 Бэк-энд даст вам правильно отформатированную книгу:
Дополнительные советы
Преимущества pandoc выходят за рамки его возможностей в качестве утилиты командной строки … например, она включает поддержку улучшенной версии Markdown и может быть легко интегрирована с графическими приложениями.
Уценка Пандока
В дополнение к тому, что pandoc является инструментом конвертации, он поддерживает слегка улучшенную версию Markdown. Используя pandoc вместо стандартного уценка Команда, у вас есть некоторые дополнительные функции, в том числе следующие:
- Метаданные — Разновидность Pandoc в Markdown позволяет вам включать в заголовок вашего документа такую информацию, как автор, дата, адрес электронной почты и т. Д.
- Текстовые украшения — Вы можете применять текстовые декорации, такие как зачеркивание или супер / подстрочный, которые не поддерживаются в стандартной Markdown через pandoc.
- таблицы — Это само по себе делает Пандок стоящим по сравнению с «ванильной» уценкой. Используя символ конвейера для разделения ячеек таблицы, вы можете создать таблицу, которая варьируется от действительно уродливой до удобочитаемой как в обычном тексте, так и в визуализированном формате.
- Необычные списки — Pandoc позволяет форматировать списки с уровнями в стиле структуры, например, «1.», затем «A.», затем «i.» И т. Д. Вы также можете указать начальный номер для списков, где списки в простой уценке начинаются с «1.»
- Подсветка синтаксиса кода — Вы можете применить подсветку к своим блокам кода, сообщив Pandoc, что это за язык.
Выше приведены только некоторые функции Pandoc Markdown. Посетите страницу руководства на pandoc.org для получения полного списка дополнительных возможностей, предоставляемых этим вариантом Markdown.
Используйте графический интерфейс с Pandoc
Хотя pandoc эффективен как инструмент командной строки, он содержит много опций. Если вы новичок в Linux, вы можете предпочесть использовать pandoc с графическим интерфейсом. Хотя по умолчанию он не содержит графического интерфейса, вы можете установить PanDocElectrion конвертировать ваши документы с указателем и щелчком. Загрузите скрипт установки с веб-сайта приложения, затем запустите его, чтобы установить все необходимые пакеты и саму программу.
После установки начало вечера команда в PanDocElectron каталог запустит приложение. Благодаря выпадающим спискам форматов и возможности выбора входного файла с помощью диалогового окна это поможет вам привыкнуть к «входам и выходам» pandoc.
Если вы знакомы с множеством опций и флагов pandoc, но хотите просто вызов это, вы можете интегрировать его с вашим текстовым редактором GUI. Например, редактор Atom содержит несколько пакетов, которые позволяют сохранить текущий файл в различных форматах с помощью pandoc (пакет pandoc-convert):
Другой вариант — запускать команды pandoc, используя встроенные функции редактора, такие как команда build. атома строить-инструменты Пакет дает вам возможность указать пользовательские команды:
Затем вы можете вызвать команду build для ваших файлов, совместимых с pandoc, так же, как и для исходного кода:
Пандок снимает стресс от переключения
С pandoc в вашем наборе вы можете быть спокойны, зная, что вы всегда можете передать свои документы другим людям в нужном им формате. В то же время вы можете воспользоваться некоторыми из замечательных возможностей Linux (подумайте о предоставлении одного из текстовых редакторов на базе терминала, таких как напор попытка).
Вы часто конвертируете файлы назад и вперед между форматами? Если у вас возникли проблемы с совместимостью, сообщите нам в комментариях, и мы посмотрим, сможем ли мы использовать pandoc, чтобы разобраться с вами!
Источник
Взаимная конвертация и обработка электронных документов
В корпоративном секторе иногда возникает задача автоматической конвертации документов из одного формата в другой, а так же задача их програмной обработки и модификации. Казалось бы, в чём проблема: для нормальных форматов давным-давно написаны полнофункциональные библиотеки для работы — так что Perl или Python в руки и вперёд.
Но, к превеликому сожалению для всех системных администраторов и программистов различных бизнес-приложений, огромная масса документооборота в данный момент всё ещё осуществляется с использованием закрытых и плохо поддающихся модификации и разбору форматов. Что уж тут лукавить — речь идёт о doc, xls и иже с ними, а так же во многом о docx, xlsx и подобных. Что делать с такими файлами, особенно если у вас нету свободной Windows с установленной последней версией Office, — совершенно непонятно. Безусловно, если у вас есть Windows, Visual Studio и навыки работы в C#, то проблем с анализом документов Microsoft будет значительно меньше. Зато возникнут проблемы с ODF. Плюс часто хочется сохранять результат в формате PDF, дабы уже никто не мог его изменить.
К счастью, есть достаточно универсальный способ работы практически с любыми распространёнными форматами документов на любой платформе. О нём и пойдёт речь дальше.
Без сомнения все знают про OpenOffice и его прогрессивное ответвление — LibreOffice. Последние версии этих пакетов отлично справляются с документами Microsoft — по крайней мере гораздо лучше многих бесплатных библиотек парсинга.
Но не многие знают, что у OpenOffice и конечно же у LibreOffice есть API, позволяющий работать с документами напрямую из Python. В частности, с помощью этого API можно преспокойно конвертировать документы из одного формата в другой.
Таким образом для разбора любого документа достаточно преобразовать его в соответствующий формат ODF, затем с помощью любимого языка программирования выполнить все необходимые изменения, а затем, при необходимости, сконвертировать результат в PDF или формат MS Office 2003 (doc, xls).
Другой сценарий: у вас есть куча документов в редактируемых форматах (doc, docx, odt), а вам надо сделать из них PDF. Всё тот же скрипт позволит вам без проблем автоматически выполнить такое преобразование. Или же вы для внутреннего документооборота используете стандартизированный ODF, но ваши партнёры до сих пор даже до docx не доросли. Ничего страшного — LibreOffice поможет автоматически сконвертировать ODF в формат MS Office.
Вообще сценариев применения API LibreOffice превеликое множество — так что круг возможных задач для решения очень широк.
Что потребуется
В статье описывается использование LibreOffice на Ubuntu, хотя с небольшой модификацией все инструкции переносятся как на другие дистрибутивы Linux и OpenOffice, так и на Windows и MacOS.
Всё, что нужно — это установленные LibreOffice и Python, а так же базовое умение писать скрипты.
Собственно сам bash скрипт конвертации выглядит так:
Этот скрипт можно вызывать из другого скрипта-обёртки для пакетной обработки большого количества файлов.
Например, мне нужно было добавить к большому количеству doc документов титульные листы одинакового формата и сохранить результат в формате PDF. Для добавления титульных листов я использовал скрипт на Perl и библиотеку OpenOffice::OODoc (доступную в Ubuntu как пакет libopenoffice-oodoc-perl). В итоге получился такой скрипт пакетной обработки:
Теперь достаточно выполнить
и на выходе получим набор PDF файлов с красивыми титульными листами.
Другие возможности
С помощью описанной техники можно не только конвертировать различные форматы документов между собой, но и выполнять экспорт в файлы изображений, как то JPEG или PNG. Для этого потребуется поставить ImageMagic, затем с помощью описанного скрипта сконвертировать документ в PDF, а с помощью ImageMagic сконвертировать PDF в нужный формат изображений:
Чуть больше информации об автоматической конвертации документов с использованием LibreOffice или OpenOffice можно найти тут:
Упоминаемый выше Python API для LibreOffice (который, к слову, называется PyUNO), можно использовать для прямого редактирования документов из Python, хотя зачастую это не очень удобно. Подробнее можно почитать в этом хабратопике.
UPD: Как подсказали в комментариях: добрые люди упростили конвертацию документов с помощью OpenOffice (LibreOffice), написав скрипт-обёртку unoconv. Эта утилитка делает ровно то же и ровно таким же способом, что и описаные выше скрипты. Но она безусловно будет удобней в большинстве случаев, если нормально запустится на вашей системе.
Источник