empirik
Июнь 28, 2013 20:47:11
есть модель джанго. несколько полей представлены в админке редактором wysiwyg. Пользователь в поля вводит данные, они сохраняются, вместе с этим открывается файл шаблона, в него вставляются данные из этих самых полей, и на файл сохраняется под другим именем, прикрепляется к экземпляру модели… естественно, раз данные в html - их надо преобразовать. Так понятнее?
4kpt
Июнь 28, 2013 21:38:02
Да. Предварительно надо парсить html (пришедшего с wysiwyg) - вынимать из него данные, а уже потом подставлять их в шаблон и получать документ odtpy. Теперь понятно. Но, в любом случае, без парсинга html не обойтись…
empirik
Июнь 28, 2013 21:59:58
Вот это-то и печально.
4kpt
Июнь 28, 2013 22:45:00
Есть интересный механизм… wysiwyg может вернуть xml?
В odfpy есть механизм, который позволяет верстать из xml определенного типа odt документ. Уже попробовал - разверстал документ odt в xml. Потом собрал его обратно. Без ошибок :) Может это подойдет?
empirik
Июнь 29, 2013 09:38:24
формально html, насколько я понимаю, и является xml документом… один корневой элемент, теги, аттрибуты… разве что пространств имен вроде нет.
4kpt
Июль 2, 2013 00:55:38
Еще актуально?
empirik
Июль 20, 2013 12:43:26
Конечно, актуально. Пока не смог найти ни одного приложения, которое бы подходило для этих целей на сто процентов.
- django-webodt - неплохой вариант, только не хочется использовать OpenOffice под виндоус сервером, он, как пишут, частенько вылетает.
- Есть вариант отказаться от docx или odt и перейти к pdf, все равно текст не должен правиться после генерации. там вроде есть PISA, надо посмотреть, что можно сделать с ее помощью.
4kpt
Июль 20, 2013 19:07:15
Ну Вы и очнулись. Я уже забыл про этот пост и все поудалял.
Помню, что Ваш документ до и после в xml формате open document отличался всего лишь несколькими строками. Необходимо всего-лишь их менять от документа к документу. Если еще надо, то я приведу код обоих страниц и места вставки/замены. Сможете реализовать - проблема будет решена. В модуле odfpy существует два конвентера - один преобразовывает исходный odt документ в xml, другой из этого xml получает odt. Эксперимент с готовым odt показал, что все “даст ист гуд”. Смог в автоматическом режиме собрать из исходного документа итоговый програмно. Нужно только будет немножко пропилить нормальное восприятие кодировки в имени создателя документа (уже даже исправлял). В остальном - все собирается без проблем. Если нужно больше ифнормации - пишите :)
empirik
Июль 20, 2013 21:58:04
4kpt, в конечном счете, остановился на конвертировании с помощью вызова openoffice. Результат пока более-менее устраивает. Спасибо.
4kpt
Июль 20, 2013 22:12:48
Это полумеры. Ну как хотите :) Я уже все раскопал.