(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

У поддержки файлов Corel DRAW в СПО появился новый шанс

Источник: linuxgraphics
linuxgraphics

В рамках проекта LibreOffice начата разработка библиотеки на C++ для чтения файлов Corel DRAW. В затылок им дышит разработчик Calligra Suite с собственной реализацией поддержки CDR.

Чего уж там скрывать: за почти пять лет существования проекта UniConvertor прогресс в отношении файлов Corel DRAW более чем скромен. UC так и не ушёл сильно дальше поддержки страниц, кривых Безье, заливок и обводок. Какие бы на то у команды ни были причины, принципиальных улучшений давно не видно, впрочем, равно как и самой разработки.

В прошлом году искренне ваша команда re-lab успела ещё немного изучить формат CDR, пока переносила его парсер в OLE Toy - ранее созданную нами программу для исследования двоичных форматов.

Полученную новую информацию, к сожалению, пристроить к делу было некуда. Нельзя сказать, чтобы нас это очень вдохновляло на новые трудовые подвиги. К счастью, уже знакомый вам Фридрих Штрба из команды LibreOffice пришёл на помощь и в конце ноября написал первый код парсера файлов CDR.

Активная работа над проектом началась лишь на прошлой неделе, но буквально вчера Фридрих выпустил первую версию библиотеки с минимальной поддержкой файлов CDR.

Что в библиотеке

По структуре и составу библиотека libcdr очень похожа на libvisio: в ней есть парсер и пробный конвертер в SVG, который сохраняет рисунки SVG внутрь документа XHTML. Если он находит в CDR несколько страниц, каждая из них сохраняется внутри XHTML как новый встроенный рисунок SVG.

Кроме того, если пересобрать LibreOffice с поддержкой libcdr, файлы Corel DRAW будут открываться в нём напрямую. Словом, никаких отличий от libvisio.

Что поддерживается

На текущий момент библиотека читает только файлы v7-X3 и конвертирует основные объекты: контуры, прямоугольники, эллипсы, секторы, дуги. Частично поддерживается цветная заливка, есть минимальная поддержка обводки. Забороть многоугольники пока не удалось, но мы работаем над этим.

Некоторые ошибки вроде чтения размера страницы и ориентации прямоугольников были исправлены сразу после выпуска версии 0.0.1. В связи с этим всем, кто интересуюется проектом, советуем тестировать только код из Git и почаще обновлять локальную копию репозитория.

Сложности

Давайте сразу договоримся, что как и в случае с Visio поддерживать абсолютно все возможности формата не получится. Например, ни в OpenDocument, ни в SVG нет раздельного скругления углов прямоугольника.

Поэтому cdr2xhtml честно конвертирует такие фигуры в кривые Безье.

Согласитесь, что для использования клипарта и старых наработок в режиме "как есть" этого более чем достаточно.

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

Что касается SVG, в нём CMYK поддерживается через icc-color, и это вполне приемлемо, поскольку Corel DRAW работает примерно так же и даже сохраняет цветовые профили прямо в CDR. Больше того, в SVG2 планируется поддержка некалиброванных устройств вывода, так что можно будет вбивать значение CMYK без привязки к цветовым профилям.

Иными словами, libcdr нужно просто уметь отдавать цвета как есть или, по выбору клиентского приложения, конвертировать их в RGB.

О будущем

Фридрих планирует дополнительно попиарить проект на конференции FOSDEM, которая пройдёт на этих выходных в Брюсселе, и в любом случае продолжит писать код. Искренне ваша команда re-lab со своей стороны будет и дальше помогать LibreOffice с реверс-инжинерингом..

Где взять, как собрать и использовать

Процедура абсолютно та же, что и для libvisio. Подробности можно узнать из конца статьи про Visio/LibreOffice. Краткий вариант прилагается.

Забираем код из Git:

$ git clone git://anongit.freedesktop.org/libreoffice/libcdr

Собираем:

$ ./autogen.sh && ./configure && make && sudo make install

Используем конвертер:

$ cdr2xhtml file.cdr > file.xhtml

Используем любимый текстовый редактор для извлечения встроенного документа SVG в отдельный файл, открываем файл в Inkscape.

Как обычно, ждите новостей.

Стоп, а что с Calligra Suite?

О, да. Фридрих Коссебау из команды Calligra Suite начал работать над собственным импортировщиком CDR для Karbon. Он посмотрел на libcdr, но решил создать парсер RIFF для Qt, и уже на его основе написать импортировщик CDR.

Любопытно, что в лучших традициях любительской палеонтологии Фридрих №2 собирается сконцентрировать внимание на четвёртой и пятой версиях формата. Как видите, импорт контуров у него работает. Библиотека libkoralle, которая и выполняет разбор файлов RIFF, тоже публично доступна.

Три проекта для поддержки одного формата - это как-то многовато. Но давайте всё-таки посмотрим, что из этого выйдет.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Обсудить материал в конференции Дизайн, графика, обработка изображений »
Написать редактору 
 Рекомендовать » Дата публикации: 30.05.2012 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Pinnacle Studio 21 Plus. Электронный ключ.
VideoStudio Ultimate 2018 ML. Электронный ключ
PaintShop Pro 2018 ULTIMATE ESD ML Global. Электронный ключ.
PaintShop Pro 2018 ESD ML Global. Электронный ключ.
VideoStudio Pro X10 ML. Электронный ключ
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование в AutoCAD
Компьютерный дизайн - Все графические редакторы
Программирование на Visual С++
Мастерская программиста
Компьютерная библиотека: книги, статьи, полезные ссылки
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Corel. Сохранение файла в старом формате. (27)
у меня есть горящий вопрос по Корелу и никто мне не может дать на него ответ. Я работаю в...
 
Рисунок/разработка персонажа (1)
Приветик всем. Увидел здесь...
 
Как извлечь рисунки из файла Word (40)
Вообще-то есть еще способ - сделать в Word-е Copy рисунка, открыть Microsoft Photo Editor и там:...
 
3D редакторы, плюсы и минусы (2)
Одно из многих сотен бестолковых обобщений. Прости их господи, Васей Пупкиных
 
Штрих код (2)
Сообщите, подскажите! Как автоматизировать в Corel печать переменного штрих кода. Есть этикетки,...
 
 
 



    
rambler's top100 Rambler's Top100