Работа с форматами OpenDocument и форк ODFPros

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Bets
незнакомец
Сообщения: 5
Зарегистрирован: 27.05.2016 19:42:25

Работа с форматами OpenDocument и форк ODFPros

Сообщение Bets »

Мне по работе пршлось столкнуться с импортом файлов в формате odt и ods. Я посмотрел в сторону ODFProc. Скачал с сорсфоржа последнюю версию, если не ошибаюсь 33. Сама идея мне понравилась, а вот реализация нет. Я решил форкнуть код, убрал утечки памяти и добавил классы для работы с odf. Хочу спросить у сообщества, интерсесно ли кому-то развитие этой идеи? Я в любом случае буду код допиливать, а если интересно, то публикация кода, например через svn, требует дополнительных усилий. Напрягусь если востребовано (здесь смайлик). И может я чего-то не нашел в гугле, например эта версия не последняя?
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

fpspreadsheet и fpvectorial - не подойдут?
Bets
незнакомец
Сообщения: 5
Зарегистрирован: 27.05.2016 19:42:25

Сообщение Bets »

Спасибо. Обязательно посмотрю. Я хочу обернуть работу с OpenDocument в интерфейсы и сделать некую dl so чтобы можно было использоват ее в любом языке, коттрый поддерживает интерфейсы. Например делфа и си шарп. Надо свести все к дереву интерфейсов наподобии ком обекта. Пока изучаю варианты
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

сделать некую dl so
- uno?
https://ru.wikipedia.org/wiki/UNO
Аватара пользователя
rayanAyar
новенький
Сообщения: 42
Зарегистрирован: 06.01.2011 07:22:52
Откуда: Новоуральск

Сообщение rayanAyar »

ODFProc (насколько я понимаю пробежавшись по коду) - это тоже XML-генератор (генерирует ODF-файлы путём парсинга и составления XML). Если такой вариант устраивает - тогда действительно лучше смотреть в сторону FPSpreadsheet/FPVectorial.

А если нужно "типа COM-объекта" и кроссплатформенно - тогда только UNO. Но с этим всё плохо. Единственное что я находил:
http://uno-pas-bridge.sourceforge.net/
Но проект мёртв. И заставить его работать мне не удалось.
sign
энтузиаст
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Сообщение sign »

В виндовозе пользую с успехом дельфийскую

Код: Выделить всё

//******************************************************************************
//*                    Written by Yuri (aka Yuric74)                           *
//*           http://www.sql.ru/forum/actualthread.aspx?tid=405083             *
//*                 all version at http://yuri.elmeh.ru                        *
//******************************************************************************
unit uOpenOffice; 


Перелопатить под Лазарус дело пяти минут.

Говорят, что дескать, тогда нужно OpenOffice поставить, так и что? Он бесплатен, ставится легко, да и офис так и так нужен.
Bets
незнакомец
Сообщения: 5
Зарегистрирован: 27.05.2016 19:42:25

Сообщение Bets »

Посмотрел fpvectorial и ODFProc - везде поток данных пердполагается в одном направлении - сформировать отчет из приложения в формате OpenDocument (как справедливо подмечено XML-генератор). У меня задача пустить поток в обратном направлении - затолкать в базу данных [старые] отчеты (XML-парсер).
uOpenOffice может и вариант, но если импорт будет выполняться на сервере, то не факт что OpenOffice можно будет поставить, тут неопределенность :( . Поэтому решил допиливать код без использования OpenOffice и ком-интерфейсов вообще. Посмотрел на объемы "допиливания" и остановился на ODFProc. Моя наработка в этом направлении пока здесь https://micrography.gov.ua/svn/odio/trunk/. Логин/пароль guest/guest. По ссылке слегка патченый ODFProc. Его классы начал оборачивать в интерфейсы (не ком). dll их экспортирует. Тестовый проект на делфи эту дллку линкует. И вроде работает :) . Предполагается, что если некий проект по импорту будет написан на fpc, то подключаем ODFProc напрямую, если на делфи или c# - то длл. Если у кого есть желание + возможность, прошу оценить жизнеспособность такого решения
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

Т.е. вам необходима работа только с электронными таблицами?
И чем этот вариант не устраивает: http://wiki.freepascal.org/FPSpreadsheet_tutorial:_Writing_a_mini_spreadsheet_application#Formatting_of_cells?

п.с.
fpvectorial вроде как с текстовым редактором работает...
Bets
незнакомец
Сообщения: 5
Зарегистрирован: 27.05.2016 19:42:25

Сообщение Bets »

Спасибо посмотрел. Мне не надо формировать документы. Мне надо парсить и в базу... Вообще формирование документов через любой из конструкторов мне сдается сложным (не для меня а для кодера). И стили им назначь и всяко... этож надо знать стадарт! А вот берешь у заказчика готовый документ, там и стили и ну и т.д. И формируешь content.xml по образцу. А вместо старых данных пишешь такой же нод только с новыми. Обычно использую таблицу xslt и xml сформированный как набор данных

Добавлено спустя 1 час 26 минут 36 секунд:
Сообщение возможно не отправилось, посему дублирую
Мне надо импортировать как odt так и ods. Начал с одс. Легче сопоставить электронную таблицу с таблицой в базе данных. В одт могут быть кроме таблиц куски текста, требующие полнотекстового поиска.
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

Мне надо парсить и в базу
вы явно не поняли... Он работает в "обе стороны".
одт
? Вы можете разориться- если под все варианты.
Bets
незнакомец
Сообщения: 5
Зарегистрирован: 27.05.2016 19:42:25

Сообщение Bets »

вы явно не поняли... Он работает в "обе стороны"


Я видел в скриншотах меню "Open". Просто одно мое сообщение не дошло, а продублировать его в полном объеме я поленился :( .
Вообщем сделал импорт ods через ODFProc, как и планировал.

Тему считаю закрытой.
Спасибо всем, кто откликнулся
Ответить