Я разрабатываю компонент Joomla, и одно из представлений должно отображаться в формате PDF. В представлении я попытался установить тип содержимого с помощью следующей строки, но когда я вижу ответ, в любом случае это text / html.
header('Content-type: application/pdf');
Если я сделаю это на обычной странице php, все будет работать, как ожидалось. Кажется, мне нужно сказать Joomla использовать application / pdf вместо text / html. Как мне это сделать?
Примечание. Установка других заголовков, например Content-Disposition, работает должным образом.






Начиная с версии 1.5 Joomla имеет объект JDocument. Используйте JDocument :: setMimeEncoding (), чтобы установить тип содержимого.
$doc =& JFactory::getDocument();
$doc->setMimeEncoding('application/pdf');
В вашем особом случае стоит взглянуть на JDocumentPDF.
Похоже, ссылка на JDocumentPDF мертва. Видимо в рамках v1.6 от него отказались. Здесь еще жива старая ссылка: api.joomla.org/1.5/Joomla-Framework/Document/JDocumentPDF.ht ml
Для тех из вас, кто думает, что это очень старый ответ, я подтверждаю, что JDocument :: setMimeEncoding () все еще работает, даже в версии 1.6 (еще не пробовал на 1.7).
У меня была такая же проблема в joomla 2.5. После 8 часов щелканья в панели администратора joomla я нашел решение.
Теперь у вас должна быть возможность загружать PDF-файлы в медиа-менеджер. Надеюсь, что это работает для вас. Я только что настроил свой для загрузки расширений .mov.
Проблема в том, что это сработало только один раз. Теперь ссылка для просмотра не работает всякий раз, когда я перехожу к файлу .mov с фильмом на жестком диске. Но это произойдет, если я выберу любой другой тип файла?
Я могу подтвердить, что он все еще работает на Joomla 1.7.