Pokud budete v Nette potřebovat vytvořit fakturu, doporučuji plugin Eciovni.
composer require OndrejBrejla/Eciovni ~1.1
Následně stačí jen vytvořit akci a funkci pro zobrazení faktury:
use OndrejBrejla\Eciovni\Eciovni; use OndrejBrejla\Eciovni\ParticipantBuilder; use OndrejBrejla\Eciovni\ItemImpl; use OndrejBrejla\Eciovni\DataBuilder; use OndrejBrejla\Eciovni\TaxImpl; //... public function actionDefault() { // in case you downloaded mPDF separately // include_once(LIBS_DIR . '/MPDF54/mpdf.php'); $mpdf = new \mPDF('utf-8'); // Exporting prepared invoice to PDF. // To save the invoice into a file just use the second and the third parameter, equally as it's described in the documentation of mPDF->Output(). $this['eciovni']->exportToPdf( $mpdf ); //file_put_contents( "faktura.pdf", $this['eciovni']->exportToPdf( $mpdf ) );//uloz pdf na disk } //.. protected function createComponentEciovni() { $dateNow = new \DateTime(); $dateExp = new \DateTime(); $dateExp->modify('+14 days'); $variableSymbol = '1234'; $supplierBuilder = new ParticipantBuilder('Jan Baťa', 'Vodňany', '11', 'Čurákov', '13000'); $supplier = $supplierBuilder->setIn('12345678')->setTin('CZ12345678')->setAccountNumber('123456789 / 1111')->build(); $customerBuilder = new ParticipantBuilder('ěščřžýáíé ŠČŘŽÝÁÍÉ', 'Another street', '3', 'Prague 9', '19000'); $customer = $customerBuilder->setAccountNumber('123456789 / 1111')->build(); $items = array( new ItemImpl('Tworba webu', 1, 900, TaxImpl::fromPercent(22)), new ItemImpl('Správa databáze', 1, 900, TaxImpl::fromLowerDecimal(0.22)), new ItemImpl('Píčoviny', 1, 900, TaxImpl::fromUpperDecimal(1.22)), ); /* for($i = 0; $i < 100; $i++) { $items[] = new ItemImpl( "Tworba webu " . $i, 1, 900, TaxImpl::fromPercent(22)); }*/ $dataBuilder = new DataBuilder(date('YmdHis'), 'Faktura - faktura číslo', $supplier, $customer, $dateExp, $dateNow, $items); $dataBuilder->setVariableSymbol($variableSymbol)->setDateOfVatRevenueRecognition($dateNow); $data = $dataBuilder->build(); return new Eciovni($data); }