Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]utworzenie pdfa z formularza
Forum PHP.pl > Forum > Przedszkole
Krismen
Mam taki formularz:

  1. <?php
  2.  
  3. $nazwisko=$_POST['nazwisko'];
  4.  
  5. echo "<form action='pdf.php' method='POST'>";
  6. echo "<input type='text' name='nazwisko' value='".$nazwisko."'/>";
  7. echo "<input type='submit' value='dalej'>";
  8. echo "</form>";
  9.  
  10. ?>


Chciałbym wygenerować z niego plik pdf. Pól w całym formularzu będzie o wiele więcej, wklejam tylko kawałek kodu. I skrypt który generuje plik pdf:

  1. <?php
  2.  
  3. // utworzenie krótkich nazw zmiennych
  4. $nazwisko = $_POST['nazwisko'];
  5.  
  6. header('Content-Disposition: attachment; filename="plik.pdf"');
  7. header( 'Content-type: application/pdf' );
  8.  
  9. $data = date( 'F d, Y' );
  10.  
  11. // otwarcie pliku szablonu
  12. $nazwa_pliku = 'wniosek.pdf';
  13. $wyswietl = file_get_contents($nazwa_pliku);
  14.  
  15. // zamiana symboli zastępczych w szablonie na dane
  16.  
  17. $wyswietl = str_replace( '<<Nazwisko>>', $nazwisko, $wyswietl );
  18. $wyswietl = str_replace( '<<mm/dd/rrrr>>', $data, $wyswietl );
  19.  
  20. // wysłanie wygenerowanego dokumentu do przeglądarki
  21.  
  22. echo $wyswietl;
  23.  
  24. ?>


Plik pdf mam gotowy, jest w nim sporo danych które są stałe i pola które powinny się podmienić na dane wpisane przez użytkownika np. nazwisko i data. W pliku pdf'a pola do podmiany są w <<>>. Plik się generuje ale pola nie są podmieniane... Dodam jeszcze że plik pdf tworzyłem już chyba wszystkimi dostępnymi programami typu: PDFCreator, Bullzip PDF Printer a także Acrobat Distiller 7.0. Siedzę na tym już od rana i kończą mi się pomysły.
Ktoś pomoże?


erix
Jeśli szablony w PDF i PHP, to tylko FPDI.

I zapomnij o zwykłej podmianie przez str_replace; PDF, to nie jest format tekstowy. Szablon załadujesz biblioteką, o której wspomniałem, ale będziesz musiał ręcznie nanosić komórki z zawartością.
Krismen
Ok, dzięki poczytam o FPDI. Ciekawe jest to, że ten przykład wziąłem z książki Vademecum Profesjonalisty. Pisze tam, że tak się da zrobić, mało tego na CD do tej książki jest plik pdf, po jego otwarciu w acrobacie są pola w nawiasach <<>>. W pliku php jest użyta funkcja str_replace i to działa! Flaszkę temu kto mi wyjaśni jak to jest zrobione.
Załączam link do tego przykładu
link
erix
(luźna myśl, nie jestem w 100% pewien)

Sęk w tym, że PDF-y od którejś wersji są kompresowane, bodajże gzipem. Trzeba by było spróbować ją wyłączyć podczas generowania PDF-a albo zjechać w dół z wersją.
Ilware
polecam http://code.google.com/p/wkhtmltopdf/ tworzy z pliku html pdf, z uwzględnieniem wszystkich css dla danego html'a
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.