Ваше утверждение для установки заголовков ответа слегка искажено:
$this->getResponse()
->setHeader('Content-Disposition', 'inline; filename=result.pdf')
->setHeader('Content-type', 'application/x-pdf');
Выше должно работать - обратите внимание на разницу в Content-Disposition
-заголовке.
Кстати ... Если вы хотите принудительно загрузить окно загрузки (вместо загрузки документа в браузер), вы должны использовать Content-Disposition
attachment
.
$this->getResponse()
->setHeader('Content-Disposition', 'attachment; filename=result.pdf')
->setHeader('Content-type', 'application/x-pdf');
В зависимости от браузера может также потребоваться установить Content-Length
или изменить Content-type
на комбинацию (несколько заголовков) одного или нескольких из application/force-download
, application/octet-stream
и / или application/download
. И, как я написал в комментарии, иногда кэширующие заголовки могут мешать вашей загрузке. Проверьте, какие заголовки кэширования отправлены.