LibreOffice научился читать файлы Microsoft Publisher

Благодаря ежегодной программе Google Summer of Code в LibreOffice Draw появилась возможность читать файлы Microsoft Publisher.

Фридрих Штрба официально анонсировал доступность публичного репозитория библиотеки libmspub, позволяющей читать и конвертировать файлы Microsoft Publisher. Код библиотеки будет задействован в LibreOffice 3.7.

На текущий момент библиотека читает файлы v2003+ со встроенной растровой графикой, отформатированным текстом (гарнитура, начертание, кегль, цветная заливка) и фигурами. Вот пример макета, взятого со stocklayouts.com и открытого в LibreOffice Draw:

PUB in LibreOffice Draw

Проектом занимается Бреннан Винсент (Brennan Vincent), участвующий в программе Google Summer of Code 2012. Руководителями студента являются Фридрих Штрба и Валя Филиппов.

Это уже третий совместный проект LibreOffice и всецело вашей команды re-lab. Архитектура библиотеки повторяет архитектуру libvisio и libcdr, поэтому зависимости всё те же: libwpd и libwpg.

Для быстрого конвертирования в OpenDocument придётся собрать и writerperfect, в противном случае будет доступен только временно уступающий по качеству экспорт в SVG.

Исходный код находится в репозитории Git.

История проекта libmspub ведёт отсчёт с конца 2010 года, когда команда Scribus выразила интерес к хотя бы основной информации о формате, которая позволила бы реализовать минимальную версию конвертера. Проект re-lab выполнил основной разбор формата, но разработчики Scribus не смогли ответить взаимностью.

В результате до мая этого года работа по реверс-инжинерингу .pub была приостановлена. А вот программа OLE Toy, написанная специально для разбора файлов Publisher, за эти два года научилась читать массу других форматов — Visio, Corel DRAW, Macromedia Freehand и т.д.

Сейчас в обеих командах — LibreOffice и re-lab — OLE Toy является ключевым инструментом реверс-инжинеринга, а благодаря проекту GSoC он наконец-то исполнит своё изначальное предназначение.

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

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

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


*


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