Больше никаких мучений с конвертацией: бесплатная утилита, которая моментально превращает любые документы — вот как она освободила меня от нудной работы!

Пингвин Tux среди иконок разных форматов документов

Когда появляется задача переконвертировать документы из одного формата в другой, вариантов масса: можно воспользоваться опцией «Сохранить как» в редакторе или обойтись онлайн-конвертерами. Но я давно нашёл свой рабочий инструмент с открытым кодом — это Pandoc, и он всегда выручает меня.

Pandoc не зря называют «швейцарским ножом для документов»: программа поддерживает десятки форматов файлов и языков разметки. Word, все возможные варианты Markdown, PDF, OpenDocument (стандарт для LibreOffice), Jupyter Notebooks, MediaWiki, EPUB, PowerPoint-презентации, LaTeX и многое другое. Хотя некоторые форматы Pandoc может только открывать или только сохранять.

Установить Pandoc проще простого: она есть в репозиториях почти всех дистрибутивов Linux, на macOS её легко поставить через Homebrew, а для Windows — просто скачайте с официального сайта или воспользуйтесь Chocolatey или Winget.

Простое использование

Pandoc работает через командную строку, но для большинства задач достаточно двух параметров: путь к исходному файлу и -o с именем нового файла, куда сохранится результат. Например, чтобы превратить Markdown в HTML:

pandoc «readme.md» -o «readme.html»

Всё действительно просто. Pandoc сам определяет форматы по расширению файлов, так что указывать их необязательно.

Но иногда автодетект может подвести: допустим, если ваш Markdown сохранён с расширением .TXT, или если вы хотите получить файл без расширения. Тогда спасут параметры -f (формат исходника) и -t (целевой формат):

pandoc «readme.md» -f markdown -t html -o «readme.html»

Нужно быстро сделать из большого текстового файла электронную книгу в формате EPUB? Пара секунд — и готово:

pandoc «readme.txt» -o «readme_converted.epub»

Или, например, нужно превратить Word-документ в HTML, чтобы его можно было читать в браузере без Word. Pandoc справится и с этим:

pandoc «manual.docx» -o «manual.html»

Такой командой получится базовый HTML без оформления. Если хотите получить полноценную HTML-страницу с красивой вёрсткой и правильными отступами, просто добавьте флаг -s:

pandoc «manual.docx» -s -o «manual.html»

А возможностей у Pandoc куда больше! Вы можете подключить свои CSS-стили, настроить оформление кода, управлять преобразованием формул из LaTeX и многое другое. На сайте Pandoc есть примеры с подробными демонстрациями.

Pandoc не поддерживает массовое преобразование файлов сразу «из коробки», но это легко решается простым скриптом на Bash или PowerShell. Такой подход поможет за пару минут обработать сотни Word-документов без лишних хлопот.

Как Pandoc ускорил мою работу

Впервые я попробовал Pandoc, когда писал статьи в стареньком редакторе для MS-DOS — самом простом текстовом редакторе. Я набирал текст в Markdown, чтобы быстро проставлять заголовки и ссылки. Нужно было мгновенно конвертировать этот Markdown в HTML для публикации в CMS.

Pandoc отлично справился с задачей, хотя пришлось добавить параметр –ascii=true, чтобы спецсимволы отображались корректно. Вместо создания отдельного файла я сразу отправлял результат в команду pbcopy на Mac — и HTML-код тут же оказывался в буфере обмена.

pandoc «/Users/corbin/Documents/DOS/MAIN.TXT» -f markdown -t html —ascii=true | pbcopy

Я обернул эту команду в отдельный Shortcut на Mac. Всё, что требовалось: сохранить документ, запустить Shortcut — и можно сразу вставлять HTML-код в исходник материала через CMS. Эксперимент с редактором MS-DOS был недолгим, но к такой схеме я ещё вернусь, если вдруг снова решу поработать в чему-нибудь олдскульном.

Сейчас я снова пишу статьи в Microsoft Word. Но если скопировать текст из Word прямиком в CMS или какой-нибудь визуальный редактор — вместе с текстом тянутся и все шрифты, размеры, лишние теги.

Благо, на помощь приходит Pandoc! Я написал небольшой скрипт — он преобразует рабочий документ Word в HTML, убирает лишние переносы и мгновенно копирует результат в буфер обмена:

pandoc -f docx -t html —ascii=true —extract-media=»$HOME/Desktop/» «$HOME/Documents/Scratch Pad.docx» —wrap=none | pbcopy

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

Я сделал новый Shortcut — теперь в контекстном меню Finder появилась функция «Копировать как HTML» для любого документа. Shortcut передаёт путь файла в Pandoc, и тот тут же превращает его в чистый HTML и копирует в буфер обмена. Это работает не только с Word, но и с другими форматами.

Скриншот Shortcuts на Mac с использованием Pandoc для конвертации файла

В итоге, с Pandoc моя работа стала в разы быстрее, а возиться с форматами и рутиной больше не приходится. Эта утилита выручает меня и при написании текстов, и при их публикации, и при архивировании. Если когда-нибудь потребуется переконвертировать документы — попробуйте Pandoc. Вас он точно удивит.

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Премиум подписка — это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!

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

Также подписывайтесь на нас в:

Алекс Бежбакин
Оцените автора
Добавить комментарий