PDA

Zobacz pełną wersję : Virtuemart 3 - Brak polskich znaków w fakturach pdf



Jacob_N
15-10-2015, 12:28
Witam!

Mam problem związany z generowaniem faktur do zamówień w VM 3. W utworzonym pliku zamiast polskich znaków pojawiają się znaki zapytania. Szukałem rozwiązań w google, ale znalazłem tylko informację, jak naprawić ten problem w VM2 (wgranie nowych czcionek i podmiana ich nazwa w pdf.php i invoice.php).

Problem w tym, że w invoice.php nie ma wymaganych wierszy kodu, więc nie mogę nic zmienić. Dodałem tylko, zgodnie z jedną z porad, trzy linie kodu ustawiające czcionki dla funkcji samplePDF (czyli pewnie dla przykładowej faktury z zakładki Sklep/Faktury):



$pdf->setHeaderFont(Array('freesans', '', 8 ));
$pdf->SetFont('freesans', '', 10);
$pdf->setFooterFont(Array('freesans', '', 10 ));


Wygenerowany przykładowy pdf ma polskie czionki - ale ten od zamówień już nie.

Ktoś może zna rozwiązanie tego problemu? Byłbym wdzieczny za pomoc.

noras
19-10-2015, 09:21
@Jacob_n VM3 wymaga zainstalowania http://dev.virtuemart.net/projects/tcpdf/files
Ustawienia języka treści - Polski musisz stworzyć nowy.

A jeśli chodzi i nagłówki które podałeś, to powiedz jeszcze w którym pliku je dokładnie zmieniłeś?

components\com_virtuemart\helpers\vmpdf.php
W linii ~143-145 spróbuj podmienić na powyższe trzy linie kodu.

Jacob_N
19-10-2015, 10:05
TCPDF miałem już zainstalowany.

Polski jako język treści utworzyć od nowa, tzn. usunąć obecny polski i dopiero wtedy dodać nowy?

A co do:

$pdf->setHeaderFont(Array('freesans', '', 8 ));
$pdf->SetFont('freesans', '', 10);
$pdf->setFooterFont(Array('freesans', '', 10 ));

to wstawiłem je w pliku "libraries/joomla/document/pdf/pdf.php"

noras
19-10-2015, 10:33
Spróbuj podmienić je w pliku który podałem wyżej.

Nie mam teraz jak zainstalować VM i J! do testów, jaka wersja VM dokładnie ? :) W wolnej chwili zrobię testa...

Jacob_N
19-10-2015, 11:03
Niestety, zamiana w pliku vmpdf.php nie pomogła, dalej nie ma polskich znaków. Język treści też stworzyłem od nowa.
A co do VirtueMart, to jest w wersji 3.0.10, Joomla w wersji 3.4.4

noras
20-10-2015, 09:19
Przed wykonaniem operacji musisz wykonać kopie zapasową witryny, nie ponoszę odpowiedzialności za problemy, które mogą wystąpić z Twoją witryną. ​A najbezpieczniej wykonaj te operację na kopii serwisu.


Przetestowałem przed chwilą.

Zainstaluj najnowszego VM3 - http://dev.virtuemart.net/projects/virtuemart/files
Tak aby nadpisał wszystkie Twoje zmiany w plikach core.
Następnie musisz zainstalować TCPDF przygotowany przez ekipę VM dla VM3, dokładnie ten http://dev.virtuemart.net/attachments/download/905/com_tcpdf_1.0.0.zip

Po instalacji w twojej instalacji J! powinien stworzyć się libraries\joomla\document\pdf oraz libraries\tcpdf - jeśli tak to jest prawidłowo, wcześniej dla pewności możesz usunąć te foldery aby mieć pewność że się nadpisały.

Następnie w samym VM3 na zapleczu w Sklep -> Faktury/E-maile
po prawej stronie wybierz font family dla PDF'ów. Polskie ogonki obsługuje z tej listy tylko "Free Mono (UTF-8)" - działa na 100%.Sprawdzone na czystej instalacji J! 3.4.4 i VM3.0.11 oraz posiłkowałem się istniejącą już instalacją VM.

PS. Pamiętaj też o poprawnej konfiguracji folderu bezpiecznego (vmfiles i invoices).

Jacob_N
22-10-2015, 09:03
Dziękować - przeinstalowanie VM3 i TCPDF zgodnie z powyższymi instrukcjami pomogło :DD