Найти - Пользователи
Полная версия: HTML в Open Document Text
Начало » Django » HTML в Open Document Text
1 2 3
empirik
есть модель джанго. несколько полей представлены в админке редактором wysiwyg. Пользователь в поля вводит данные, они сохраняются, вместе с этим открывается файл шаблона, в него вставляются данные из этих самых полей, и на файл сохраняется под другим именем, прикрепляется к экземпляру модели… естественно, раз данные в html - их надо преобразовать. Так понятнее?
4kpt
Да. Предварительно надо парсить html (пришедшего с wysiwyg) - вынимать из него данные, а уже потом подставлять их в шаблон и получать документ odtpy. Теперь понятно. Но, в любом случае, без парсинга html не обойтись…
empirik
Вот это-то и печально.
4kpt
Есть интересный механизм… wysiwyg может вернуть xml?
В odfpy есть механизм, который позволяет верстать из xml определенного типа odt документ. Уже попробовал - разверстал документ odt в xml. Потом собрал его обратно. Без ошибок :) Может это подойдет?
empirik
формально html, насколько я понимаю, и является xml документом… один корневой элемент, теги, аттрибуты… разве что пространств имен вроде нет.
4kpt
Еще актуально?
empirik
Конечно, актуально. Пока не смог найти ни одного приложения, которое бы подходило для этих целей на сто процентов.
  • python-docx - вроде только для создания документов
  • django-webodt - неплохой вариант, только не хочется использовать OpenOffice под виндоус сервером, он, как пишут, частенько вылетает.
  • Есть вариант отказаться от docx или odt и перейти к pdf, все равно текст не должен правиться после генерации. там вроде есть PISA, надо посмотреть, что можно сделать с ее помощью.
4kpt
Ну Вы и очнулись. Я уже забыл про этот пост и все поудалял.
Помню, что Ваш документ до и после в xml формате open document отличался всего лишь несколькими строками. Необходимо всего-лишь их менять от документа к документу. Если еще надо, то я приведу код обоих страниц и места вставки/замены. Сможете реализовать - проблема будет решена. В модуле odfpy существует два конвентера - один преобразовывает исходный odt документ в xml, другой из этого xml получает odt. Эксперимент с готовым odt показал, что все “даст ист гуд”. Смог в автоматическом режиме собрать из исходного документа итоговый програмно. Нужно только будет немножко пропилить нормальное восприятие кодировки в имени создателя документа (уже даже исправлял). В остальном - все собирается без проблем. Если нужно больше ифнормации - пишите :)
empirik
4kpt, в конечном счете, остановился на конвертировании с помощью вызова openoffice. Результат пока более-менее устраивает. Спасибо.
4kpt
Это полумеры. Ну как хотите :) Я уже все раскопал.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB