Zadejte hledaný výraz...

PHP | Uložení do html po ukončení JS

Petr Holomoj
verified
rating uzivatele
(22 hodnocení)
5. 2. 2016 09:00:59
Zdravím,
už se tu nějakou dobu mořím s funkcí a nějak již nemám nápady.
V kostce:
Potřebuji generovat PDF soubor (generování provádí mPdf), který má upravený bootstrapgrid, každý prvek má:
Obsah má absolutní pozici, tak aby fungovalo umístění prvků na horizontální ose.
Obsah se generuji přes PHP, který se následně ukládá do HTML kódu, a z toho kódu se generuje PDF.
Problém nastává s výškou jednotlivých řádku, prvky se překrývají. Proto potřebuji přidat JS funkci, která určí nejvyšší obsah v každém řádku, a přidá odsazení (css top) ke každému řádku.
Zde ale nevím, zda je možné, aby mi php uložilo:
funkce
file_put_contents()
uloží výsledek
Za každou radu budu vděčný.
Děkuji
5. 2. 2016 09:00:59
https://webtrh.cz/diskuse/php-ulozeni-do-html-po-ukonceni-js#reply1172142
Mohlo by sa dať tak, že po načítaní stránky zavoláš ajaxom PHP funkciu na vytvorenie PDF, do ktorej si pošleš aktuálne HTML - získané cez JS (jQuery).
Celý HTML kód získaš napr cez:
"" + $("html").html() + "";
5. 2. 2016 09:19:07
https://webtrh.cz/diskuse/php-ulozeni-do-html-po-ukonceni-js#reply1172141
acidclick
verified
rating uzivatele
5. 2. 2016 09:19:26
Doporucuju se vykaslat na mPdf a pouzit treba wkhtmltopdf. Leta jsem se trapil s pozicovanim a stylovanim v mPdf az jsem na jeden projekt pouzil wkhtmltopdf a je to nebe a dudy.
5. 2. 2016 09:19:26
https://webtrh.cz/diskuse/php-ulozeni-do-html-po-ukonceni-js#reply1172140
Petr Holomoj
verified
rating uzivatele
(22 hodnocení)
5. 2. 2016 10:37:52
Tak jsem to domyslel, když jsem byl venčit psa :-) Použil jsem radu Matúše, trochu jsem upravil postup, takže to nyní funguje
Po kliknutí na tlačítko:
1. Ajax č.1: vygeneruje základní strukturu html stránky, tu vloží do skrytého divu(tudíž se provedou jQuery funkce a přidají se potřebné atributy pro pozice
2. Ajax č.2: načte obsah skrytého divu a vygeneruje PDF
Zatím to vypadá, že to funguje.
wkhtmltopdf - Zkusím, uvídím, jak to pozicování funguje tam.
Díky
5. 2. 2016 10:37:52
https://webtrh.cz/diskuse/php-ulozeni-do-html-po-ukonceni-js#reply1172139
i-PRESS
verified
rating uzivatele
(2 hodnocení)
5. 2. 2016 11:16:03
Nebylo by lepší, vyřešit to na starně serveru? Spíše bych upravil ten bootstrapgrid.
V tomto řešení vidím několik nevýhod. Jednak se to prakticky nedá testovat když to vyžaduje renderovací jádro browseru. Navíc, jakákoliv doplněk browseru manipulující s DOMem, či vlastní injectovaný javascript (mám jich několik) může "rozbít" i to výsledné PDF. Nemyslím si, že by generování PDF mělo být závislé na prohlížeči. Prakticky vše, co provádí ten JS, lze vyřešit i v PHP.
5. 2. 2016 11:16:03
https://webtrh.cz/diskuse/php-ulozeni-do-html-po-ukonceni-js#reply1172138
Petr Holomoj
verified
rating uzivatele
(22 hodnocení)
5. 2. 2016 17:35:01
Děkuji za připomínku. Nakonec jsem upravil přes PHP funkci generující boostrap grid, tak aby položky nemuseli mít absolutní pozici, takže JS již není potřeba.
5. 2. 2016 17:35:01
https://webtrh.cz/diskuse/php-ulozeni-do-html-po-ukonceni-js#reply1172137
Pro odpověď se přihlašte.
Přihlásit