После опробования разных вариантов мы pdf делаем связкой mako+pdflatex. Причина такого выбора в том, что любой другой опробованный нами способ требует на порядок больше усилий чтобы получить качество документов удовлетворяющее заказчика. Минус этого подхода в том что latex довольно медленная штука. Кроме того нельзя отдавать редактирование шаблонов на сторону пользователя (как и большинстве других технологий). Латех любит в случае ошибки ждать подтверждение от пользователя, что не совсем приятно при работе сервера.
Посмотрите
https://pypi.python.org/pypi/xhtml2pdf.Насколько я знаю есть еще одна проблемка. Всякие организации типа Налоговой, бугалтерий, планово технических отделов, и т.п. жестко требуют чтобы данные предоставлялись в разработанных ими формах. Формы у них зачастую в ворде или екселе. Они их со страшной силой меняют (могут почти каждую неделю). Сделаны они в большинстве случаев так, что в принципе неработоспособны. Например если текста много то он просто не виден при печати и т.д. и т.п. … :(:(:(.
Ну тут или штат девочек надо держать чтобы эти изменения отслеживать, или мутить обратную конвертацию в нормальные форматы и держать штат мальчиков которые будут оживлять этого монстра для конвертации, или послать этих …….(подставьте свое) и не иметь с ними никаких дел. Мы к счастью с такими организациями дел не имеем. :)
Я думаю что это неизбежный эволюционный процесс развития технологий документооборота. И вы по мере сил должны бороться с глупостью в этих технологиях. Предлагайте свои решения заказчику. Отстаивайте их.
Мое мнение:
В большинстве случаев вы отдаете конечный документ. Клиент тогда вообще не имеет право его исправлять. (типа отдаем pdf,ps)
Если надо править - то это не документ, а шаблон документа. Что отдавать зависит от механизма шаблонизации (например отдаем не doc а dot). Наилучший - оставить его у себя на сервере предоставив веб интерфейс для задания данных. На стороне клиента на мой взгляд наилучшим на текущий момент вариантом является pdf с полями ввода.
Если отдаете xls то это уже не документ и не шаблон а алгоритм. И отдавать xls надо только если есть нужда проводить вычисления на стороне клиента. Но тоже не считаю что это хороший выбор вычислительного инструмента.