#java #jsp #editor #wysiwyg #doc
#java #jsp #редактор #wysiwyg #документ
Вопрос:
Я разрабатываю веб-приложение, которое нуждается в мощном.редактор документов. Пользователь должен выбрать шаблон документа (обычно файл .doc), заполненный заполнителями, и с помощью некоторых макросов заполнить заполнители правильными значениями (возможно, выбранными из базы данных). Я предложил своему боссу разрешить пользователю загружать шаблон, редактировать его с помощью своего настольного приложения (MS Word, OpenOffice Writer, ecc), но босс хочет, чтобы он был в Сети и на странице jsp. Мне кажется, у меня есть только два варианта: апплет или javascript (я знаю только об этих двух, есть множество других технологий, которые я не знаю).
Поток будет:
- пользователь выбирает шаблон с сервера
- клиентский компьютер загружает выбранный шаблон и загружает его в веб-редактор
- пользователь редактирует шаблон
- пользователь отправляет отредактированный файл на сервер
- сервер сохраняет файл
Я видел эти два редактора wsyiwyg (ckeditor и tinymce), но я не нашел поддержки .doc (ни .odt). Знаете ли вы какой-либо другой плагин, который я мог бы использовать для достижения этого результата? Спасибо!
Ответ №1:
Конвертируйте DOC в RTF или любой другой формат, поддерживаемый этими редакторами WYSISYG, а затем конвертируйте его обратно при отправке. Доступно несколько бесплатных Java-API, которые могут спасти документы Word.
- Apache POI HWPF / XWPF (оба .doc и .docx)
- OpenOffice.org UNO (только .docx)
- Docx4J (только .docx)
Комментарии:
1. Я решил использовать TinyMCE и работать с HTML-файлами вместо преобразования туда и обратно в формате doc. Спасибо!
Ответ №2:
Похоже, у вас уже есть свой ответ, но на случай, если это полезно, я видел проект разработчика, использующий Docmosis для работы с шаблонами в формате DOC. Docmosis выполняет анализ, ища поля и разделы в шаблоне, и сохраняет их где-то в объекте Java. Вы можете получить доступ к нему и использовать его в качестве основы для создания веб-форм и т. Д. Динамически — На основе самого шаблона документа!