mPdf na „ostrém“ neakceptuje css styly

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
knedle
Člen | 34
+
0
-

Zdravím,

potřebuju nakopnout v mém problému:

mám generování (html do) PDF za pomocí mPDF přes místní PDFResponse (viz https://forum.nette.org/…0b-a-php-5-3)

na localhostu (windows) mi tento kód úspěšně generuje požadovaná pdf včetně aplikovaných media=print stylů (externí soubor)

ovšem po nahraní na hosting (onebit), se sice PDF generuje, ale žádné styly nejsou aplikovány – zda je ignoruje nebo nenačtě nejsem schopen z toho pdf zjistit

přičemž:

  • pokud zruším v presenteru, v příslušnem renderu příkaz generování pdf:

    $this->sendResponse($pdf);

    zobrazí se html stránka včetně stylů

  • že se načítá @layout , kterým je šablona rozšířena, mám odzkoušeno
  • zkoušel jsem media „screen“ i „print,screen“, a aktuálně mám „all“ – žádný efekt
  • přesun stylu z externího souboru dovnitř html (layoutu) také negativní – ačkoli tam nějaké pravidla jsou vidět

netuší někdo, kde by mohl být problém?
nemá někdo nápad, co ještě můžu vyzkoušet?
imho se to bude motat okolo windows x linux, ale nechytám se

Melmen
Člen | 132
+
0
-

A o kód se podělíš, nebo je to hádanka? :)

knedle
Člen | 34
+
0
-

hádanka ani ne, spíš, zda se s tím už někdo nepotkal

ale pokud chce někdo pátrat v kódu, zde je

http://goo.gl/jebj0

Editoval knedle (20. 2. 2012 23:04)

knedle
Člen | 34
+
0
-

ok – mrtvo, zkusím se dopátrat proč:

u těch, kteří jej zkusili (kód Lístku)

1/ fungoval vám bez problémů všude, kde jste jej nasadili?

2/ nefungoval vám – ale netušíte proč?

abych věděl na čem jsem…

btw – a jedna prosba – může to někdo vyzkoušet přímo na onebit hostingu? ať mám jistotu, že to není jen nějaká má trapná chyba typu 777…

díky

Editoval knedle (20. 2. 2012 9:43)

stenly
Člen | 6
+
0
-

Teď jsem se s tím taky potkal zkus zkontrolovat jestli máš na produkčním serveru povolené v php

allow_url_fopen pokud nemámš přístup k phpinfo tak stačí zkusit zavolat

file_get_contents("http://example.com/");
//(a v laděnce ti dyštak vyskočí chyba s tím že allow_url_fopen=0)

pokud se ti vrátí tahle chyba tak pokud nemáš možnost upravit php.ini

musíš styly dotáhnout ručně

$stylesheet = file_get_contents($this->context->params['wwwDir'].'/stylesheets/app.css');
$mpdf->WriteHTML($stylesheet,1);