Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]PHPWord i polskie znaki
BartekN
post 13.02.2014, 14:09:58
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 3
Dołączył: 21.02.2008

Ostrzeżenie: (0%)
-----


Cześć,
Mam taki kod jak poniżej i niestety jest problem z zapisem pliku *.docx z polskimi znaczkami. Przekopałem support autora PHPWord, to forum czy np. taka porada http://phpword.codeplex.com/discussions/431281 i niestety nie działa, tworzy plik, ale z mega krzakami. Miał ktoś z was styczność z tą biblioteką?

  1. <?php
  2. require_once './lib/PHPWord.php';
  3.  
  4. $filename = date('Y-m-d-H-i-s',time()).'.docx';
  5.  
  6. $PHPWord = new PHPWord();
  7. $document = $PHPWord->loadTemplate('szablon.docx');
  8.  
  9. $input = "ęóąśłżźćńĘÓĄŚŁŻŹĆŃ";
  10.  
  11. $txt = html_entity_decode(iconv('UTF-8', 'ISO-8859-2',$input));
  12. $txt2 = html_entity_decode(iconv('UTF-8', 'UTF-8',$input));
  13. $txt3 = html_entity_decode(iconv('UTF-8', 'windows-1250',$input));
  14. $txt4 = html_entity_decode(iconv('ISO-8859-2', 'UTF-8',$input));
  15.  
  16. $document->setValue('Value1', $txt);
  17. $document->setValue('Value2', $txt2);
  18. $document->setValue('Value3', $txt3);
  19. $document->setValue('Value4', $txt4);
  20.  
  21. $document->save($filename);
  22.  
  23.  
  24. echo html_entity_decode(iconv('UTF-8', 'UTF-8',$input));
  25. echo html_entity_decode(iconv('UTF-8', 'ISO-8859-2',$input));
  26. echo html_entity_decode(iconv('UTF-8', 'windows-1250',$input));
  27. echo html_entity_decode(iconv('ISO-8859-2', 'UTF-8',$input));


Podbijam temat, może komuś wpadnie fajny pomysł i uda się to rozwiązać. Zależy mi na PHPWord ponieważ można sobie fajnie ustalić szablon pliku worda i nie trzeba się bawić w układanie pliku jak to ma miejsce np. w PHPRtfLite (gdzie działa kodowanie)

Ten post edytował BartekN 12.02.2014, 17:54:17
Go to the top of the page
+Quote Post
lukasz1991a
post 11.02.2016, 20:33:20
Post #2





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 11.02.2016

Ostrzeżenie: (0%)
-----


Hej,
Też miałem ten problem i też bardzo długo szukałem odpowiedzi na różnych forach. W końcu postanowiłem sam odnaleźć przyczynę krzaczków. Okazało się że Twórcy nieumiejętnie stosowali finkcje utf8_encode. Aby Twój szablon działał wystarczy w pliku Template.php za komentować linię 88 (całego ifa najlepiej skasować). W tej linii jest użyta ta funkcja.
Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 02:07