Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Для локальных нужд пишется софт для упрощения перевода текстов с возможностью восстановления стилей и форматирования оригинального документа. Задача состоит в написании парсера OOXML, который должен импортировать текст из *.{doc,ppt, xls}x с мета-данными, достаточными для восстановления исходного форматирования.

На данный момент парсер проходит по text holder'ам формата и заменяет всю внутреннюю разметку на конструкции вида "tag's text". У подобного подхода есть ряд минусов, среди которых:

проблемы при смене порядка следования тегов в оригинале и переводе, т.е. если оригинал содержал bold italic, а перевод содержит курсив жирный, то возникает необходимость в перемещении родителя w:t в нужное место. В приведенном примере с этим проблем нет, но они возникнут при более дальних путешествиях родительского элемента

word не оптимизирует примененные стили, т.е., если в WYSIWIG виден просто болд, в разметке часто встречается some bold

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

возможность поломать разметку пропустив тег, или добавив лишний

и т.д.

В ряде проектов, например, memoQ, trados, и т.д. эта задача решена. Нужно сделать такое же, но с перламутровыми пуговицами.

Задачи импортера:

поддержка ходовых форматов

извлечение и преобразование текстосодержащей OOXML-разметки в наиболее минималистичный формат, удобный для дальнейших манипуляций переводчика

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

выхлоп в plain text

От экспортера нужно:

понимать выхлоп импортера

восстановление исходной разметки

поддержка изменения порядка следования элементов

выхлоп в docx/pptx/etc

На данный момент существует на скорую руку написанные парсеры двух видов:

указанный выше, заменяющий разметку на `%s`;

docx-парсер, преобразует текст по параграфам в/из html.

Оба варианта могут быть предоставлены при необходимости.

Написанный парсер можно будет смело опубликовать под свободной лицензией для вашего портфолио, расположить на pypi, запилить свой transifex с нескучными обоями и переводчицами и т.д.

От кода хочется универсальности, т.е. нужен некий GenericParser, который реализует логику преобразований для OOXML и наследованные парсеры конкретного формата, например, ODTParser(GenericParser), в котором уже сделан fine-tune под текущие заморочки формата.

!Язык программирования: Python.

Желательно уложиться в 2 недели.

Ключевые слова: Python, ooxml, parse, translate.

10 лет назад
pandi5362
Юлия 
32 годаРоссия
10 лет в сервисе
Была
10 лет назад
  • Похожие заказы
  • $100

    Существует компактный OpenSource скриптовый движок Lua Необходимо исследовать его Си-исходники на предмет использования стандартных/сторонник библиотек и понять, почему одна версия существенно отличается от другой по размеру Теперь предметно: Версия 5.1.1 (32 *.с файла): http://www.lua.org/ftp/lua-5.1.1.tar.gz Версия 5.1.5 (32 *.с файла): ...

    Прикладное ПО1 исполнитель
    Завершен
    10 лет назад
  • $20

    Программка должна быть такая: В горизонтальном меню пункты: индексация и pr sape У Индексации выпадающие подпункты: ожидают индексации, prospero, субподряд, результат, отчеты На формах ожидают индексации, prospero, субподряд только форма загрузки файла, на вход будет подаваться csv, в ...

    Закрыт
    10 лет назад
  • Описание изначального проекта: http://www.weblancer.net/projects/615463.html Требуется сделать небольшие обновления: 1) время задержки возврата IP в миллисекундах (сейчас в секундах) 2) в лог добавить функцию отображения хост (сейчас отображается только IP) 3) исправить следующий баг: Пример лога 24.07.14 21:24:12 site.ru. 74.125.72.20 24.07.14 21:24:14 site.ru. 212.7.0.33 24.07.14 ...

    Закрыт
    10 лет назад
  • необходимо написать советник или скрипт подобный вот этому http://www.mql5.com/ru/market/product/5482 только немного видоизмененный по функционалу и разбить его на две части мастер и клиент ( после завершения работы над проектом необходимы исходные коды)

    Прикладное ПОнет заявок
    Закрыт
    10 лет назад
  • $700

    Общая цель: разработка пользовательского приложения для платформы Windows позволяющего в реальном времени получать изображение с подключенной камеры, обрабатывать его (технология chroma key и наложение видеопотока с альфа-каналом), и отображать на внешнем устройстве (проекторе). Одновременно должна ...

    Закрыт
    10 лет назад
  • $700

    Существует таблица базы данных содержащая информацию о нескольких десятках тысяч объектов (в перспективе, до нескольких миллионов). Необходимо разработать инструмент для получения выборок из этих данных. Что-то типа языка запросов, но с некоторыми дополнениями. Примеры запросов: 1. найти ...

    Закрыт
    10 лет назад
  • $1500

    Необходимо разработать приложение для поиска файлов на компьютере (под windows). Т.к. в этой области есть множество открытых разработок то можно использовать любые из них на ваш выбор. Предлагаете варианты. Задача разбивается на 3 подзадачи: 1. Первичное сканирование ...

    Закрыт
    10 лет назад
  • Здравствуйте. Нужна программа для автоматизированной работы с google+ Программа должна авторизоваться в соц.сети, зайти в указанную группу или профиль, открыть список участников сообщества или список друзей, и начать добавлять людей в друзья. Программа должна эмулировать действия ...

    Закрыт
    10 лет назад