2009-05-21 4 views
1

Как вы можете динамически генерировать файл .doc с помощью AJAX? Python? Adobe AIR? Я думаю о ситуации, когда онлайн-приложение для ПК/настольного приложения принимает обратную связь с пользователем в форме статьи (a la wiki) в кодировке исландского символа, а затем при нажатии кнопки выдает файл .doc, содержащий пользовательский ввод для веб-страницы. Любые решения/предложения будут высоко оценены.Динамическая генерация файлов .doc

PS- Я не хочу идти с этим способом C#/Java.

+0

Почему .doc и не, скажем, .pdf? – Glenn

ответ

0

Это не нужно делать с помощью AJAX (в м смысле, что Ajax, как правило, используется для динамического взаимодействия на стороне клиента)

Вам нужен скрипт сервера, который принимает входные данные и преобразует его в документ.

Вы можете использовать что-то вроде OpenOffice и питона, если он имеет некоторый интерфейс см http://wiki.services.openoffice.org/wiki/Python

или на окнах можно непосредственно использовать объекты Слово COM создать документ с помощью win32apis , но это менее вероятно, что сервер окон python :)

Я думаю, что лучшей альтернативой является создание PDF-файла, который будет приятнее и проще. Reportlab имеет замечательную библиотеку для создания PDF-файлов, и она работает как шарм от python. Как только у вас есть pdf, вы можете использовать некоторый конвертер pdf в doc, но я думаю, что PDF будет достаточно хорошим.

Edit: поколение Doc На второй мысли, если вы настаиваете на DOC вы можете иметь сервер окон в этом случае вы можете использовать COM OBJETS для создания DOC, XLS или что-то увидеть http://win32com.goermezer.de/content/view/173/284/

+0

спасибо. Я не очень хорош на Python, так что это похоже на большую работу! никогда не баловался в OO.o, но это кажется хорошей возможностью. – SSingh

+0

Вы вообще не хотите делать .doc, вы особенно не хотите делать COM-взаимодействие с офисом на сервере (вопросы лицензирования и производительности). Новые форматы Office 2007 «стандартные» - .docx, .xlsx. - стоит подумать, потому что это может быть создано без копии офиса. – Murph

2

Проблема с форматом MS *.doc MS является то, что он недостаточно документирован, поэтому он не может иметь очень хорошую поддержку, например, PDF, что является стандартом.

За исключением проблем с генерацией doc, у вас могут возникнуть проблемы с чтением файлов doc. Например, пользователи на Linux-машинах.

Вам следует подумать о создании RTF на сервере. Он более стандартен и, следовательно, более поддерживается как для создания документов, так и для чтения документа впоследствии. Если вам не нужны очень конкретные функции, для большинства типов документов этого достаточно, и по умолчанию слово MS открывает его, подобно тому как он открывает собственный собственный формат.

PyRTF - проект, который вы можете использовать для генерации RTF с помощью python.

+0

Я совсем забыл о .rtf. Хорошо, используя это вместо .doc, спасибо! – SSingh

+0

Слово также поддерживает хорошо документированный формат XML. – ChrisW

+0

Вы имеете в виду docx? – SSingh

Смежные вопросы