2012-02-18 1 views
1

Мое веб-приложение имеет функцию, в которой предварительно отформатированные RTF-документы используются в качестве шаблонов, и пользователь может выбрать источник данных, а затем объединить с шаблонами документов RTF для создания объединил файлы RTF. В шаблонах RTF есть заполнители, которые заменяются выбранным пользователем контентом. Окончательный документ может быть сохранен или открыт напрямую, если на локальном компьютере доступен доступ к word/wordpad.Отображение/рендеринг RTF-документа в браузере с использованием html textarea или что-то подобное

Теперь у меня есть требование отобразить объединенный документ пользователю для подтверждения. Пользователь может распечатать или сохранить документ непосредственно в системе. Дисплей не должен быть приложением word/wordpad, но должен находиться внутри самого приложения, используя textarea или что-то подобное для рендеринга документа. Не могли бы вы сообщить мне, возможно ли сделать документ RTF в textarea или нет. Наряду с отображаемым контентом должны быть параметры для печати и сохранения документа. Если мне нужно преобразовать RTF в Html, а затем отобразить содержимое html в textarea, сообщите мне, как я могу сделать преобразование, а затем отобразить html на странице.

ответ

1

Это очень сложное требование. Прежде всего, давайте упустим идею о <textarea>, потому что она вообще не поддерживает форматирование. Все редакторы WYSIWYG, которые вы видели там, основаны на .

Во-вторых, ни один браузер не может отображать RTF. Вы можете вставить его как <object>, а некоторые могут его показать (вероятно, IE), но я не могу сказать, какие из них не будут. Портативных устройств почти наверняка не будет. Но вы должны проверить это, хотя, возможно, он работает достаточно хорошо.

В противном случае преобразование HTML также не может быть и речи, потому что у RTF очень много функций, которые нельзя эмулировать в HTML. Есть некоторые конвертеры (google), но все они будут иметь серьезные ограничения. Если вам нужна полная поддержка, вам придется сделать свой собственный рендеринг через Canvas или Flash или что-то в этом роде.

С этой целью я предлагаю проверить Документы Google. Они пережили всю эту проблему и имеют достаточно функциональный движок для отображения наиболее возможных документов. Я думаю, что было также возможно встроить их в свои собственные веб-страницы, хотя я никогда не проверял это сам.

+0

Привет, Спасибо за ваш ответ. Я попробовал просмотрщик документов Google, а также просмотрщик zoho, и оба они как-то обращаются к моему требованию. Но я не могу использовать их, поскольку документы являются частными, и, кроме того, клиент не разрешает доступ в Интернет из своего приложения. Итак, можете ли вы или кто-нибудь сообщить мне, как я могу написать собственное приложение для просмотра приложений doc в качестве компонента и интегрировать его с моим приложением. – javauser

+1

Как я уже сказал, это очень сложно. Вам придется разобрать весь RTF самостоятельно и как-то нарисовать. Спецификация [Спецификация RTF] (http://www.microsoft.com/download/en/details.aspx?displaylang=en&=tm&id=10725) составляет 278 страниц и имеет безумное количество функций. Вы могли бы потратить годы, пытаясь сделать это в одиночку. Я по-прежнему рекомендую искать существующие компоненты, которые вы можете интегрировать в свои продукты. Там должно быть что-то. –

-1

Используйте тег <PRE> для отображения/передачи RTF-документа в браузере.

+0

Это просто не работает .... Протестировано с помощью

, а также протестировано с использованием htmlentities для кодирования RTF в надлежащий HTML, все, что он делает, отображает исходный код RTF. –