предположим, что я не смог использовать какие-либо внешние преобразователи, потому что пользователь системы не будет иметь их, когда он использует нашу систему.
Вы действительно можете использовать внешние инструменты, поскольку ваш код Java / JSF выполняется на веб-сервере, а не на веб-клиенте (веб-браузере). Все, что получает веб-браузер, - это просто HTML / CSS / JS-код, сгенерированный Java / JSF. Откройте страницу в веб-браузере, щелкните правой кнопкой мыши и Просмотреть исходный код и убедитесь сами. Вы просто устанавливаете внешний инструмент на веб-сервере и запускаете его там.
Чтобы загрузить файл в JSF, вам нужно получить стороннюю библиотеку компонентов, поскольку стандартная реализация не имеет компонента загрузки, например Томагавка t:inputFileUpload
или из библиотеки компонентов, которую вы уже используете.
Чтобы преобразовать PPT во Flash, выполните соответствующее действие с помощью внешнего инструмента в методе действия управляемого компонента и сохраните файл Flash где-нибудь в файловой системе локального диска веб-сервера. Вы можете сохранить его в общедоступном веб-контенте, чтобы он был напрямую доступен по URL, но эти файлы будут потеряны при повторном развертывании веб-приложения. Если этого не произойдет, храните его вне общедоступного веб-контента.
У меня нет опыта работы с конвертерами PPT-Flash, поэтому я не могу рекомендовать конкретный, но Google узнает, что выбор довольно велик. Кажется, есть Java решение iSpring .
Чтобы отобразить файл Flash, используйте элемент HTML <object>
, который указывает на URL-адрес файла Flash. Если файл Flash хранится за пределами общедоступного веб-контента, вам необходимо создать сервлет, который получает InputStream
файла из файловой системы локального диска и записывает его в OutputStream
ответа по правильному набору. заголовков HTTP, а затем пусть URL элемента <object>
указывает на это.