Официально выпущен конвертер Microsoft Publisher

В начале июня мы уже писали о начале работы над библиотекой libmspub, реализующей чтение и конвертирование файлов Microsoft Publisher в OpenDocument и SVG. Пора подвести промежуточные итоги.

Библиотека разрабатывается в рамках программы Google Summer of Code 2012. Основную работу выполняется Бреннан Винсент под руководством Фридриха Штрбы (LibreOffice) и Вали Филиппова (re-lab). Поскольку на позапрошлой неделе состоялась промежуточная оценка проекта, была выпущена первая официальная версия, а сразу следом за ней — обновление.

A sample template from stocklayouts.com

Пример конвертирования шаблона, взятого со stocklayouts.com

Что изменилось

За прошедшие 6 недель было внесено достаточно много изменений. Вот краткий перечень самого главного:

  • поддерживается намного больше фигур;
  • читаются мастер-страницы;
  • поддерживается текст в фигурах, включая поля;
  • улучшена поддержка стилей, заливок;
  • появилась поддержка групп, включая вложенные группы;
  • улучшена поддержка трансформаций объектов и групп: вращение, зеркальное отражение;
  • улучшена поддержка растра.

Кроме того, библиотека начала честно читать значение интерлиньяжа, но пока что из-за ошибки в самом LibreOffice работает это не всегда. Вот пример:

Line spacing bug in LibreOffice

Межстрочное расстояние сбивается в заголовке

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

Версии

С точки зрения охвата функциональности лучше всего поддерживаются файлы Publisher 2002. Библиотека также читает файлы в форматах 97, 98, 2000 и 2010, но пока что с меньшей точностью. Особых сложностей, требующих непомерных усилий при реверс-инжинеринге, здесь нет: просто на всё нужно время.

На днях Валя Филиппов посмотрел на файлы свежевыпущенной беты MS Office 2013 и пришёл к выводу, что формат файлов идентичен формату 2010. Так что к списку можно приплюсовать и Publisher 2013.

Скачивание и установка

Конечная версия библиотеки войдёт в состав LibreOffice 3.7. Если дожидаться не хочется, можно всё собрать из исходного кода. Как обычно, рекомендуется брать код libmspub из репозитория Git. Конвертер в OpenDocument входит в состав пакета writerperfect, и его тоже надо брать из Git.

Инструкция может показаться вам знакомой:

1. Собрать и установить libwpd

$ git clone git://libwpd.git.sourceforge.net/gitroot/libwpd/libwpd
$ cd libwpd
$ ./autogen.sh && ./configure && make && sudo make install

2. Собрать и установить libwpg:

$ git clone git://libwpg.git.sourceforge.net/gitroot/libwpg/libwpg
$ cd libwpg
$ ./autogen.sh && ./configure && make && sudo make install

3. Собрать и установить libmspub:

$ git clone git://anongit.freedesktop.org/libreoffice/libmspub
$ cd libmspub
$ ./autogen.sh && ./configure --prefix=/usr && make && sudo make install

4. Собрать и установить writerperfect:

$ git clone git://libwpd.git.sourceforge.net/gitroot/libwpd/writerperfect
$ cd writerperfect
$ ./autogen.sh && ./configure && make && sudo make install

После этого можно пользоваться pub2odg для конвертирования в OpenDocument и pub2xhtml для конвертирования в SVG (как обычно, страницы в формате SVG добавляются в файл XHTML).

Новостей от команды Scribus касательно поддержки файлов Publisher через libmspub не поступало. Впрочем, они сейчас заняты доводкой версии 1.5.0.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*


Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.