Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] generowanie pliku pdf i jego pobieranie
Forum PHP.pl > Forum > PHP
bagsiur
Witam.

Generuje dokumenty pdf ale nie udaję mi się uzyskać efektu ich pobierania (dokument wyświetla się w przeglądarce). Chcę aby po wygenerowaniu dokumentu pokazało się okienko z możliwością jego zapisu. Co robię nie tak? Z góry dziękuję za pomoc smile.gif

Oto kod:

  1.  
  2. <?php
  3.  
  4. header("Pragma: public");
  5. header("Expires: 0");
  6. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  7. header("Cache-Control: public");
  8. header("Content-Description: File Transfer");
  9. header("Content-type: application/pdf");
  10. header("Content-Disposition: attachment; filename=test.pdf");
  11. header("Content-Transfer-Encoding: binary");
  12.  
  13. require_once('/libs/tcpdf/config/lang/pol.php');
  14. require_once('/libs/tcpdf/tcpdf.php');
  15.  
  16. // create new PDF document
  17. $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
  18.  
  19. // set document information
  20. $pdf->SetCreator(PDF_CREATOR);
  21. $pdf->SetAuthor('Fundacja Droga');
  22. $pdf->SetTitle('Dowód wpłaty - KP');
  23. $pdf->SetSubject('Dowód wpłaty - KP');
  24. $pdf->SetKeywords('Dowód wpłaty - KP, Fundacja Droga');
  25.  
  26. // set default header data
  27. $pdf->SetHeaderData(PDF_HEADER_LOGO, 20, 'FUNDACJA DROGA', 'Dokument typu - KP'.PDF_HEADER_STRING);
  28.  
  29. // set header and footer fonts
  30. $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
  31. $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
  32.  
  33. // set default monospaced font
  34. $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
  35.  
  36. //set margins
  37. $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
  38. $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
  39. $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
  40.  
  41. //set auto page breaks
  42. $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
  43.  
  44. //set image scale factor
  45. $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
  46.  
  47. //set some language-dependent strings
  48. $pdf->setLanguageArray($l);
  49.  
  50. // ---------------------------------------------------------
  51.  
  52. // set default font subsetting mode
  53. $pdf->setFontSubsetting(true);
  54.  
  55. // Set font
  56. // dejavusans is a UTF-8 Unicode font, if you only need to
  57. // print standard ASCII chars, you can use core fonts like
  58. // helvetica or times to reduce file size.
  59. $pdf->SetFont('dejavusans', '', 14, '', true);
  60.  
  61. // Add a page
  62. // This method has several options, check the source code documentation for more information.
  63. $pdf->AddPage();
  64.  
  65. // Set some content to print
  66. $html = <<<EOD
  67. <br />
  68. <h1 style="text-align: center;">DOWÓD WPŁATY - KP</h1>
  69. <p style="text-align: center;">Nr. KP/01/01/2011</p><br /><br />
  70.  
  71. <table cellpadding="7">
  72. <tr>
  73. <td style="width: 80%; height: 50px; border: 1px solid black;">
  74. <h2 style="margin-top: 10px; font-size: 28px;">OD KOGO:</h2><br />
  75. <p style="font-size: 28px;">Mistrz (1980 ? Moskwa) i wicemistrz<br></p>
  76. </td>
  77. </tr>
  78. <tr>
  79. <td style="border: 1px solid black; width: 80%;">
  80. <h2 style="font-size: 28px;">WYSZCZEGÓLNIENIE:</h2><br />
  81. <p style="font-size: 28px; text-align: justify">Mistrz (1980 ? Moskwa) i wicemistrz (1976 ? Montreal) olimpijski, zdobywca czwartego miejsca na Igrzyskach w Monachium 1972 w biegu na 3000 m z przeszkodami, dwukrotny mistrz Europy (1974 ? Rzym i 1978 ? Praga) na tym dystansie. 10-krotny mistrz Polski; 23 razy reprezentował Polskę w meczach międzynarodowych. 10 sierpnia 1972 wyrównał rekord Europy podczas mityngu w Warszawie na dystansie 3000 m z przeszkodami 8:22,2 s. Był również wicemistrzem świata w biegach przełajowych. Do dziś posiada rekordy Polski na dystansach: 3000 m, 5000 m, 1 milę, 2 mile oraz 3000 m z przeszkodami.</p>
  82. </td>
  83. <td style="border: 1px solid black; width: 20%; height: 100px;">
  84. <h2 style="font-size: 28px;">KWOTA:</h2><br />
  85. <p style=" color: red; font-weight: bolder; font-size: 40px; text-align: justify">1 000 zł</p>
  86. </td>
  87. </tr>
  88. </table>
  89. <div style="width: 100%;"></div>
  90. <div style="width: 100%;"></div>
  91. <h2 style="font-size: 28px;">SŁOWNIE ZŁOTYCH: <span style="float: right; font-weight: normal;">.............................................................................
    .................................................................................
    .....</span></h2><br /><br />
  92. <div style="width: 100%;"></div><br />
  93. <p style="font-size: 28px; text-align: center;">POWYŻSZĄ KWOTĘ OTRZYMAŁEM<br />DATA I PODPIS KASJERA:</p><br />
  94. <div style="width: 100%;"></div>
  95. <p style="font-size: 28px; text-align: center;">...................................................................</p><br />
  96. <div style="width: 100%;"></div>
  97. <div style="width: 100%;"></div>
  98. <p style="font-size: 28px;">WYSTAWIŁ: ................................................................................
    ..........</p>
  99. <p style="font-size: 28px;">SPRAWDZIŁ: ................................................................................
    ........</p>
  100. EOD;
  101.  
  102. // Print text using writeHTMLCell()
  103. $pdf->writeHTMLCell($w=0, $h=0, $x='', $y='', $html, $border=0, $ln=1, $fill=0, $reseth=true, $align='', $autopadding=true);
  104.  
  105. // ---------------------------------------------------------
  106.  
  107. // Close and output PDF document
  108. // This method has several options, check the source code documentation for more information.
  109. $pdf->Output("pliczek.pdf");
  110. readfile("pliczek.pdf");
  111.  
  112. ?>
d3ut3r
tak z pamięci:


  1. $pdf->Output("pliczek.pdf",'D');
bagsiur
Dzięki wielkie... tak to jest jak nie do końca czyta się dokumentację haha.gif Zaznaczam POMÓGŁ i pozdrawiam forumowiczów smile.gif
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-2025 Invision Power Services, Inc.