Problem z Zend Framework

0

Do strony napisanej w Zend musiałem dopisać moduł do pobierania dokumentów pdf. Moduł kontrolować miał, czy osoba pobierająca dany dokument jest zalogowana, czy nie.
Po napisaniu modułu okazało się jednak, że powstał problem z wysyłaniem dokumentu do przeglądarki. Dokument wysyła się do przeglądarki, ale przy próbie jego otwarcia pojawia się informacja w Acrobat, że dokument jest uszkodzony lub niewłaściwie zdekodowany.

Dla testu odpaliłem ten skrypt na lokalhoście i wszystko było OK. Z tą różnicą, że na lokalu skrypt znajdował się w jednym pliku bez MVC, a aplikacja działająca na serwerze napisana jest w MVC.

Nie mam pomysłu, co może być powodem błędu.

Poniżej fragment kodu odpowiedzialnego za wysłanie pliku do przeglądarki :

        $pdf = Zend_Pdf::load($pa);
        $pdfData=$pdf->render();
        header("Content-Disposition: inline; filename=result.pdf"); 
        if(isset($_SERVER['HTTP_USER_AGENT']) AND (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') == true)){
            header('Content-type: application/pdf');
        } else {
            header("Content-type: application/x-pdf");
        }
        
        echo $pdfData;

$pa - to ścieżka do dokumentu pdf
Próbowałem wysyłać również na inne sposoby np. otwierać plik binarnie, ale z takim samym rezultatem.

Proszę o wskazówkę.

0

Zajrzyj do ściągniętego pliku przy pomocy hexedytora (od biedy notatnika) i zobacz czy nie ma htmlowych znaczników czy innych nadmiarowych danych.

0

Nie pomyślałem o tym. Faktycznie w dokumencie znajdują się znaczniki HTML i kod JS.
W dokumencie znajduje się kod strony (całe menu), z której pobierany jest dokument.

Jak można to obejść ?

0

Sprawa rozwiązana. W systemie był załadowany zewnętrzny layout i to przeoczyłem. Wystarczyło go wyłączyć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1