Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Generowanie plików Word z formatowaniem
Forum PHP.pl > Forum > PHP
KJ_PL
Witam
stanąłem przed problemem generowania plików Word z określoną zawartością, w tym danymi z SQL, w określonym formatowaniu. Poczytałem na tym forum o problemach z formatowaniem, generowania takich plików za pomocą COM-a, itd. Jako że zaliczam się jeszcze winksmiley.jpg do początkujących, spróbowałem podejść do problemu prostą drogą i...chyba się udało. A może nie - prośba o ocenę bardziej doświadczonych w temacie.

A więc robię to tak:

  1. <?php
  2. $dana1 = "Dana1";
  3. $dana2 = "Dana2";
  4. $plikwordowski = "<html>
  5. <head>
  6. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
  7. <style type='text/css'>
  8. p {
  9. font-family:Tahoma;text-align:left;font-weight:normal;font-size:11px;
  10. }
  11. </style>
  12. </head>
  13. <body>
  14. <p>Plik wordowski z daną 1: <b>$dana1</b><br>
  15. i daną 2:<b>$dana2</b></p>
  16. </body>
  17. </html>";
  18. $genplik='pliki/plik.doc';
  19. $efekt=fopen($genplik, "wr");
  20. fwrite($efekt, $plikwordowski);
  21. fclose($efekt);
  22. echo "Plik wygenerowany.";
  23. ?>


Szablon pliku jest zmienną, zawierającą plik w html z podstawionymi zmiennymi...Ścieżka do pliku zamiast rozszerzenia .html ma .doc. Może prymitywne, ale...działa. Chyba że zawiera to jakieś błędy, o których nie wiem a powinienem? Jak to widzicie?
WereWolf
może się mylę, ale to w żadnym wypadku nie jest plik worda... to po prostu plik z kodem w htmlu, a to, że widzisz go "poprawnie" w wordzie to pewnie wina tego, że masz możliwość wizualnej edycji kodu html w wordzie
KJ_PL
OK, pewnie masz rację. Ale czy nie spełnia to wymagań Worda (tekst+formatowanie+możliwość edycji)?
Nie twierdzę, że jest to super odkrycie, ale może w pewnych przypadkach jest przydatne jako pewnego rodzaju atrapa?
luinnar
Na Twoim miejscu zrobiłbym pewien test.

To wygenerowałeś to kod html z innym zozszerzeniem. Spróbuj otworzyć go w Notatniku i zobacz jak wygląda. Potem otwórz go w wordzie Wordzie i zapisz pod inną nazwą. Nowy plik otwórz w Notatniku? Widać różnicę?

Word potrafi odczytywać pliki html, każdy odbiorca zaraz zrozumie że to nie plik *.doc tylko jakaś marna podróba. Pewnie ktoś już stworzył klasę do generowania plików *.doc w php. Google prawdę Ci powie.
jekyl
na pewno sa filtry ktore dokonuja zamiany worda na html np wvWare i jest pod linuxem i pod windowsem odpalany z lini polecen wystarczy zainstalowac i wywolac prosta komeende

  1. <?php
  2.  
  3. system("wvWare plik.doc > plik.html");
  4.  
  5. ?>

sadze ze ze znalezieniem czegos co robi html na worda nie powinno byc problmeu a takie cos co udalo sie Tobie zasymulowac to raczje do profesjonalnych rozwiazan sie nie nadaje winksmiley.jpg
WereWolf
Cytat(KJ_PL @ 29.12.2006, 22:32:33 ) *
OK, pewnie masz rację. Ale czy nie spełnia to wymagań Worda (tekst+formatowanie+możliwość edycji)?
Nie twierdzę, że jest to super odkrycie, ale może w pewnych przypadkach jest przydatne jako pewnego rodzaju atrapa?

w pewnych przypadkach być może, ale... no właśnie, jest jedno poważne ale... nie wszyscy mają włączoną możliwość edycji kodu html w wordzie - a wtedy zobaczą po prostu czysty kod, jak w notatniku...
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.