PDF generátor → ako na to?

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

Už 3 dni sa snažím niečo spojazdniť čo mi vygeneruje aspon hello world do faktury a neviem si s ničim pomocť, resp. ani to spojazdniť.

Ako prvé som skúšal InvoiceControl a mPDF(stiahol som si z mpdf1.com)

  • do presenteru som dal
<?php
	public function createComponentInvoice() {
    $invoice = new \InvoiceControl();
    // tady provest vsechno nastaveni - viz napr. https://componette.org/search/?q=invoice-control
    return $invoice;
    }

    public function actionZobrazitObjednavku($id){
	define('_MPDF_PATH', LIBS_DIR . '/MPDF57/');
	include_once(LIBS_DIR . '/MPDF57/mpdf.php');
	$mpdf = new mPDF('utf-8');
	$this['invoice']->exportToPdf($mpdf);
    }
?>
  • nedokázal som vyriešiť chybu s konstantou LIBS_DIR, kedže nette ju nepozná(use of undefined constant)
  • nepomohlo ani $this->context->parameters[‚libsDir‘]

Tak som potom premýšlal nad wkhtmltopdf https://github.com/lm/Wkhtmltopdf , ale keďže tam nie je žiadny návod ani v addonoch, nemám potuchy ako s tým pracovať

Tiež v doplnkoch Eciovni https://github.com/…ejla/Eciovni , ale tiež neviem kde tie subory skopirovať …

Prečo chcem PDF? Potrebujem generovať faktúry na eshope…

Nepodarilo sa mi nikde nájsť nejaký návod ako na to. Ak má niekto s generovaním faktúr skusenosti, tak mi kľudne môže odporučiť niečo iné …

Ďakujem za akekolvek rady

bazo
Člen | 620
+
0
-

ja by som odporucal niake online riesenie s api

Milo
Nette Core | 1283
+
0
-

Nechci být hrubý, ale pokud neumíš vyřešit problém s neexistující konstantou, měl by sis nejprve nastudovat základy PHP, pak nějaké stručné info o objektech v PHP, pak si přešíst quick-start a pak generovat PDF.

froggy
Člen | 17
+
0
-

Já na generování PDF používám plugin Pdfresponse – https://componette.org/search/?…. Příklad je k tomu k dispozici, použití je jednoduché.

Filip Procházka
Moderator | 4668
+
0
-

Wkhtmltopdf je wrapper nad programem, který si musíš stáhnout a nakopírovat na server. Používá se přes příkazový řádek a proto Láďa napsal tuto PHP obálku.

Použití máš v examples, podrobnou dokumentaci u tady, nic víc není potřeba :)

iNviNho
Člen | 352
+
0
-

Ked sa mi podarilo definovať si konštanty, tak som rozbehal všetko.

Ajtak sa podakujem za odpovede :)

<?php
define("LIBS_DIR", __DIR__ . "/../libs");
define("APP_DIR", __DIR__);
define("TEMP_DIR", APP_DIR . "/temp");
?>

to Milo: Ak niekto nevie definovať konštantu, lebo to nikdy nepotreboval, tak z toho dedukuješ, že nevie žiadne OOP, resp. v našom prípade PHP? oooh :)

Milo
Nette Core | 1283
+
0
-

iNviNho Přesně tak jsem uvažoval a koukám, že chybně. Omlouvám se Ti a těší mě, že jsi své OOP znalosti rozšířil také o definici konstant.

Filip Procházka
Moderator | 4668
+
0
-

<ot>@Milo jen pro upřesnění, konstanty nemají s OOP vůbec nic společného.</ot>

Milo
Nette Core | 1283
+
0
-

Filip Procházka No, dyť to nikde nepíšu, ne?

lunak83
Člen | 47
+
0
-

Filip Procházka napsal(a):

Wkhtmltopdf je wrapper nad programem, který si musíš stáhnout a nakopírovat na server. Používá se přes příkazový řádek a proto Láďa napsal tuto PHP obálku.

Použití máš v examples, podrobnou dokumentaci u tady, nic víc není potřeba :)

(Vy)řešili jste prosím někdo problém se zalamováním stránek uvnitř řádků velké tabulky? Prakticky všechna řešení pracují s „page-break-inside: avoid !important;“ což mi zdá se nefunguje.

Díky.

LM
Člen | 206
+
0
-

lunak83 napsal(a):

(Vy)řešili jste prosím někdo problém se zalamováním stránek uvnitř řádků velké tabulky? Prakticky všechna řešení pracují s „page-break-inside: avoid !important;“ což mi zdá se nefunguje.

Myslím že řešením bylo obalit tabulku nějakým elementem, který měl page-break-inside: avoid.

<div style="page-break-inside: avoid"><table…