How do I set the Content-type in Joomla?

content-type, http, joomla, php

Solution

Since version 1.5 Joomla has the JDocument object. Use JDocument::setMimeEncoding() to set the content type.

$doc =& JFactory::getDocument();
$doc->setMimeEncoding('application/pdf');

In your special case, a look at JDocumentPDF may be worthwile.

Problem

I am developing a Joomla component and one of the views needs to render itself as PDF. In the view, I have tried setting the content-type with the following line, but when I see the response, it is text/html anyways. ``` header('Content-type: application/pdf'); ``` If I do this in a regular php page, everything works as expected. It seems that I need to tell Joomla to use application/pdf instead of text/html. How can I do it? Note: Setting other headers, such as `Content-Disposition`, works as expected.

Original source