Autor | Zpráva | ||
---|---|---|---|
Majkelju Profil |
#1 · Zasláno: 8. 8. 2012, 09:26:30
Zdravím!
Jak zařídím, aby uživatel mohl v prohlížeči zobrazit vytvořený pdf soubor, uložený na serveru? Jeho případné uložení už je pak záležitostí pravého kliku v prohlížeči, že? Používal jsem knihovnu mPDF, která soubor v pohodě zobrazila, přešel jsem ale na jinou metodu vytvoření PDF (wkhtmltopdf) a budu to muset zobrazit čistě pomocí PHP asi.... |
||
Joker Profil |
#2 · Zasláno: 8. 8. 2012, 09:32:41
Majkelju:
Zobrazení PDF v prohlížeči je záležitost prohlížeče (musí mít příslušný plugin). Jediný způsob, jak ho zobrazit ve všech prohlížečích, by bylo nějak ho konvertovat na HTML. |
||
Majkelju Profil |
#3 · Zasláno: 8. 8. 2012, 09:48:03
Joker: Tak HTML už mám vlastně vytvořené (to, ze kterého to převádím do PDF) a zatím ho nechávám zobrazovat místo PDF.... jenže HTML uživateli neukáže záhlaví, zápatí, číslování stránek....
|
||
Ugo Profil |
#4 · Zasláno: 8. 8. 2012, 10:42:15
<?php header('Content-type:application/pdf'); echo file_get_contents(PDF_SOUBOR); die(); ?> |
||
Majkelju Profil |
#5 · Zasláno: 8. 8. 2012, 10:51:51 · Upravil/a: Majkelju
Ugo: Krása!! Navíc pěkně jednoduchý i pro mě :) Díky!
Ugo, myslíš, že bys mi mohl ještě pomoct s kódováním? Jestli to tedy můžu řešit v tomhle tématu.. |
||
Ugo Profil |
#6 · Zasláno: 8. 8. 2012, 12:06:18
snad to tu nikomu vadit nebude a pomůže
|
||
Alphard Profil |
#7 · Zasláno: 8. 8. 2012, 12:18:03
Tady se vybízí použít readfile().
Majkelju: „mohl ještě pomoct s kódováním? Jestli to tedy můžu řešit v tomhle tématu“ Souvisí to s kódováním toho pdf? Jestli je to úplně něco jiného, radši založte nové vlákno. |
||
Majkelju Profil |
Ano, souvisí to s tím... nejprve uložím html obsah do proměnné, tu pak proženu přes iconv(), uložím do .php souboru a z něj přes wkhtmltopdf vytvořím .pdf soubor. iconv() zřejmě proběhne správně, bez něj se mi v uloženém .php české znaky zobrazovaly špatně, když to převedu na windows-1250, tak to funguje dobře. Jenže když to pak převedu na .pdf, tak je kódování zase špatně...zkoušel jsem do příkazu přidat příznak --encoding windows-1250, ale jakoby ho to ignorovalo... (příznak --header-html mi navíc nevytvoří žádné záhlaví)
EDIT: Zkusil jsem wkhtmltopdf spustit přímo z přík. řádku a všechny příznaky fungují... Takže problém bude v tom, že to spouštím přes PHP... dalo by se to nějak obejít? Ještě upozorňuju, že samotný příkaz funguje, jen příznaky ne. $html = ob_get_clean(); $html = iconv("UTF-8","Windows-1250", $html); file_put_contents('../export.php', $html); $commandString = '--header-html header.html '.WKHTML_LIB.' http://www.estiroad.com/export.php sestava.pdf'; exec($commandString); header('Content-type:application/pdf'); echo file_get_contents('sestava.pdf'); die(); |
||
Časová prodleva: 12 let
|
0