generowanie pliku PDF za pomocą biblioteki mPDF - instalacja

1

Faktycznie, jakie to proste :)

Do głównego katalogu (tam, gdzie jest index.html i reszta) wrzuciłem za pomocą WinSCP katalog vendor i działa. Polskie znaki również.

0

Całość fajnie działa, niebawem pliki wrzucę na oficjalny serwer. Pytanie mam tylko odnośnie ścieżek do poszczególnych arkuszy CSS. Wszystko mam podzielone na katalogi: katalog na skrypty JS, skrypty PHP oraz CSS. Tylko pliki HTML siedzą w głównym katalogu.
PDF generowany przez bibliotekę mPDF korzysta z arkusza, do którego ścieżka jest taka:

$stylesheet = file_get_contents('../arkusze_CSS/arkusz.css');

Czy to "jest zgodne ze sztuką"? Bo arkusz CSS siedzi wyżej, w równoległym katalogu.

0

Miałem problem z uruchomieniem tego na serwerze, gdzie był PHP 5.6.40. Więc pobrałem starszą wersję mPDF tj. 6.1.4 (wersja > 7 nie zadziała na PHP w wersji 5) i tak zmodyfikowałem kod PHP:

$stylesheet = file_get_contents('arkusz.css');

$mpdf = new \mPDF();
$mpdf->WriteHTML($stylesheet, 1);
$mpdf->WriteHTML($html, 0);
$mpdf->Output('plik.pdf', 'I');

I działa :)

https://mpdf.github.io/css-stylesheets/introduction.html

0

Lepiej zobacz czy na tym serwerze nie dasz rady uruchomić nowszej wersji PHP. Coś od 7.3 wzwyż. 5.6.X jest już dawno temu End Of Life i nie zaleca się już używania go.

0

Na chwilę obecną nie ma takiej możliwości. Ale skrypty na wersję 7 przecież już mam sprawdzone. Także w razie czego kopiuj&wklej :)

0

Każdy projekt z czasem się rozrasta. Za moment będziesz potrzebował paczki X, potem Y i za pół roku będziesz wszystko przepisywał.

0

Na początku kodu mam instrukcję która sprawdza, czy krytyczne pole formularza jest wypełnione (isset()). Jeżeli nie, to wyświetlam komunikat, a potem wracam do formularza (echo, sleep, header). Całość jest w IFie:

If not OK
{komunikat + przekierowanie}

Dobrze myślę, że nawet jak powyższa instrukcja zadziała, to dopóki fragment kodu odpowiedzialny za generowanie kodu nie będzie w ELSE:

If not OK
{komunikat + przekierowanie}
else
{generuj}

To serwer tak czy inaczej na darmo będzie "mielił" ten formularz?
Chodzi mi po prostu o to, co się dzieje po instrukcji header. Skrypt dalej się wykonuje, czy stop?

0

Jak dobrze zrozumiałem, to po prostu po header dajesz exit i tyle.


if($isWrong)
{
    header();
    exit();
}
else
{
    doTheJob();
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0