Ihre Anweisung, um die Antwort-Header zu setzen, ist leicht fehlerhaft:
$this->getResponse()
->setHeader('Content-Disposition', 'inline; filename=result.pdf')
->setHeader('Content-type', 'application/x-pdf');
Die oben arbeiten sollte - bitte beachten Sie den Unterschied in der Content-Disposition
- Header.
Übrigens ... Wenn Sie eine Download-Box erzwingen möchten (anstatt das Dokument in den Browser zu laden), sollten Sie die Content-Disposition
attachment
verwenden.
$this->getResponse()
->setHeader('Content-Disposition', 'attachment; filename=result.pdf')
->setHeader('Content-type', 'application/x-pdf');
Je nach Browser kann es möglich sein, dass Sie auch die Content-Length
gesetzt haben oder die Content-type
auf eine Kombination (mehrere Header) ändern von einem oder mehreren der application/force-download
, application/octet-stream
und/oder application/download
. Und wie ich im Kommentar geschrieben habe, können Caching-Header manchmal den Download beeinträchtigen. Überprüfen Sie, welche Caching-Header gesendet werden.
Vielleicht Header bereits gesendet? – Pawka
Der korrekte Mime-Type für PDF ist application/pdf. –