Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 28, 2013 20:47:11

empirik
Зарегистрирован: 2012-03-26
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

HTML в Open Document Text

есть модель джанго. несколько полей представлены в админке редактором wysiwyg. Пользователь в поля вводит данные, они сохраняются, вместе с этим открывается файл шаблона, в него вставляются данные из этих самых полей, и на файл сохраняется под другим именем, прикрепляется к экземпляру модели… естественно, раз данные в html - их надо преобразовать. Так понятнее?

Офлайн

#2 Июнь 28, 2013 21:38:02

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

HTML в Open Document Text

Да. Предварительно надо парсить html (пришедшего с wysiwyg) - вынимать из него данные, а уже потом подставлять их в шаблон и получать документ odtpy. Теперь понятно. Но, в любом случае, без парсинга html не обойтись…



Офлайн

#3 Июнь 28, 2013 21:59:58

empirik
Зарегистрирован: 2012-03-26
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

HTML в Open Document Text

Вот это-то и печально.

Офлайн

#4 Июнь 28, 2013 22:45:00

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

HTML в Open Document Text

Есть интересный механизм… wysiwyg может вернуть xml?
В odfpy есть механизм, который позволяет верстать из xml определенного типа odt документ. Уже попробовал - разверстал документ odt в xml. Потом собрал его обратно. Без ошибок :) Может это подойдет?



Офлайн

#5 Июнь 29, 2013 09:38:24

empirik
Зарегистрирован: 2012-03-26
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

HTML в Open Document Text

формально html, насколько я понимаю, и является xml документом… один корневой элемент, теги, аттрибуты… разве что пространств имен вроде нет.

Офлайн

#6 Июль 2, 2013 00:55:38

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

HTML в Open Document Text

Еще актуально?



Офлайн

#7 Июль 20, 2013 12:43:26

empirik
Зарегистрирован: 2012-03-26
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

HTML в Open Document Text

Конечно, актуально. Пока не смог найти ни одного приложения, которое бы подходило для этих целей на сто процентов.

  • python-docx - вроде только для создания документов
  • django-webodt - неплохой вариант, только не хочется использовать OpenOffice под виндоус сервером, он, как пишут, частенько вылетает.
  • Есть вариант отказаться от docx или odt и перейти к pdf, все равно текст не должен правиться после генерации. там вроде есть PISA, надо посмотреть, что можно сделать с ее помощью.

Офлайн

#8 Июль 20, 2013 19:07:15

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

HTML в Open Document Text

Ну Вы и очнулись. Я уже забыл про этот пост и все поудалял.
Помню, что Ваш документ до и после в xml формате open document отличался всего лишь несколькими строками. Необходимо всего-лишь их менять от документа к документу. Если еще надо, то я приведу код обоих страниц и места вставки/замены. Сможете реализовать - проблема будет решена. В модуле odfpy существует два конвентера - один преобразовывает исходный odt документ в xml, другой из этого xml получает odt. Эксперимент с готовым odt показал, что все “даст ист гуд”. Смог в автоматическом режиме собрать из исходного документа итоговый програмно. Нужно только будет немножко пропилить нормальное восприятие кодировки в имени создателя документа (уже даже исправлял). В остальном - все собирается без проблем. Если нужно больше ифнормации - пишите :)



Отредактировано 4kpt (Июль 20, 2013 19:09:50)

Офлайн

#9 Июль 20, 2013 21:58:04

empirik
Зарегистрирован: 2012-03-26
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

HTML в Open Document Text

4kpt, в конечном счете, остановился на конвертировании с помощью вызова openoffice. Результат пока более-менее устраивает. Спасибо.

Офлайн

#10 Июль 20, 2013 22:12:48

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

HTML в Open Document Text

Это полумеры. Ну как хотите :) Я уже все раскопал.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version