Kterou knihovnu pro rychlou tvorbu pdf?

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

Ahoj,

jakou knihovnu používáte pro generování velkých pdf. Teď využívám pdfResponse. Na generování souboru, který je velký 1,7 MB a má 125 stránek čekám 6 minut a to jsem musel smazat všechny třídy a helpery ze šablony.
Dá se používat něco rychlejšího? Je vůbec možné takhle velký pdf generovat v nějakém rozumném čase?

iguana007
Člen | 970
+
+7
-

Já používám toto: http://wkhtmltopdf.org/

Filip Procházka
Moderator | 4668
+
0
-

Já taky :) Kdyby/Wkhtmltopdf

norbe
Backer | 405
+
0
-

Vám s tím vážně jde udělat nějaký výstup, který vypadá stejně jako v browseru? Před pár měsíci jsem tím zkoušel nahradit dompdf a výsledek byl nesrovnatelně horší…

David Matějka
Moderator | 6445
+
0
-

@norbe ano vs dompdf (ktery je mimochodem 2× vetsi)

Šaman
Člen | 2659
+
0
-

A ten druhý mi Firefox s FoxitReader pluginem ani nezobrazí, jen vypíše, že obsahuje chyby.

Filip Procházka
Moderator | 4668
+
0
-

Samozřejmě abys mohl použít wkhtmltopdf, tak musíš mít VPS. Na sdíleném hostingu to nepusíš, leda by to tam bylo už nainstalované a povolené spouštět.

Další podmínkou je grafické prostředí na serveru. Což je dost stupidní, protože grafické servery na servery nepatří :) Proto se často používá xvfb, což je nějaký virtuální buffer, který to umožní spustit i na serveru bez grafického prostředí.

S Láďou to teďka maličko refaktorujeme, aby se tam xvfb a další nástroje daly použít výrazně jednodušeji https://github.com/…topdf/pull/6 – u toho pullrequestu je rozběhané renderování na travisu v testech, to by mohlo pomoct. Až to dotáhneme, tak k tomu možná napíšeme i nějakou doc :) Btw, to co je teď v masteru je perfektně funkční.

David Matějka
Moderator | 6445
+
0
-

A jeste doplnim, ze existuje binding do php jako extension: https://github.com/…hp-wkhtmltox

Filip Procházka
Moderator | 4668
+
0
-

@DavidMatějka už jsem se chtěl radovat, než jsem si všiml té array driven konfigurace :-/ php-wkhtmltox/test_pdf.php

David Matějka
Moderator | 6445
+
0
-

@FilipProcházka tak ona je to jen low-level podpora ty knihovny, viz http://wkhtmltopdf.org/…ettings.html, jako bys nepsal hezky wrappery nad vetsima prasarnama :)

me spis vylekaly ty reportovany segfaulty, mem corruption a 500

HonzaN
Člen | 66
+
+1
-

mPDF mi generuje katalog čítající cca 250 stran v 300dpi naprosto bez problému. Generuju ho sekvenčně po stránkách které nakonec mergnu do jednoho PDF. Trvá to asi minutu…

n.u.r.v.
Člen | 485
+
0
-

jj, také používám mpdf

Takto to používám (dle nějakého manuálu na netu):

action metoda :

...
$tpl = new \Nette\Templating\FileTemplate(cesta_k_sablone);
$tpl->registerFilter(new \Latte\Engine);
...
Naplnění šablony daty -> předání prom...$tpl->nejaka_prom;
...
použití mpdf:
$pdf = new \mPDF('', 'A4', 10, 'arial');
$pdf->ignore_invalid_utf8 = true;
$pdf->WriteHTML(file_get_contents('../www/css/pdf_style.css'), 1);
$pdf->setFooter('|' . date('Y') . " © www.project.cz|");
$pdf->WriteHTML($tpl);
stažení v browseru:
$pdf->Output(nazev_vysledneho_pdf, 'D');
nebo uložení na server:
$pdf->Output('cesta/kam/ulozit.pdf', 'F');

Editoval n.u.r.v. (13. 5. 2015 13:04)