Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: otwieranie wygenerowanego w dompdf pliku w Adobe Readerze
Forum PHP.pl > Forum > PHP
bertog
Witam,
mój problem jest następujący:
Mam stworzony w php formularz i generuję z niego plik .pdf z wykorzystaniem dompdf. Skrypt po zapisaniu pliku .pdf na serwerze automatycznie otwiera go w przeglądarce. Czy w dompdf jest jakiś parametr lub polecenie, które pozwoli na automatyczne otwieranie pliku .pdf w Adobe Readerze a nie w przeglądarce? Takie rozwiązanie pozwoliłoby mi na obejście problemu, który opisałem tutaj: Temat: Niewlasciwe wyswietlanie pliku pdf z dompdf w Edge
Mój kod php generujący plik pdf:

  1. $dompdf = new DOMPDF();
  2. $dompdf->set_paper("A4", "portrait");
  3. $dompdf->load_html($html);
  4. $dompdf->render();
  5. $nazwa_pliku='Wniosek_'.$nr_wniosku.'_'.$nazwisko.'.pdf';
  6. $nazwa_pliku = strtolower($nazwa_pliku);
  7. $nazwa_pliku = str_replace(array('ą', 'ć', 'ę', 'ł', 'ń', 'ó', 'ś', 'ź', 'ż','Ą','Ć','Ę','Ł','Ń','Ó','Ś','Ź','Ż','/'), array('a', 'c', 'e', 'l', 'n', 'o', 's', 'z', 'z','A','C','E','L','N','O','S','Z','Z','_'), $nazwa_pliku);
  8. $nazwa_pliku = trim($nazwa_pliku,'-');
  9. echo $nazwa_pliku.'<br>';
  10. $sciezka = '/var/www/wniosek/html/wnioski/'.$nazwa_pliku.'';
  11. $file_to_save = $sciezka;
  12. echo $sciezka;
  13. file_put_contents($file_to_save, $dompdf->output());
  14. header( 'Content-type: application/pdf' );
  15. header( 'Content-Disposition: inline; filename="'.$nazwa_pliku.'"' );
  16. readfile( 'wnioski/'.$nazwa_pliku.'' );
kapslokk
Spróbuj zmienić header Content-Disposition z inline na attachment.
Nie spowoduje to automatycznego odpalenia Adobe Readera, ale PDF zamiast wyświetlać się w przeglądarce zostanie pobrany.
bertog
Dzięki,
takie rozwiązanie chyba mi wystarczy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.