PHP třída pro generování faktur.
Dostupné metody
Přehled dostupných metod.
Hlavní:
Příklad volání: $pdf->pridejPolozku("Nejaky nazev",1,140.57,'Ks',9,'Popis polozky', 123456);
- generuj(bool $output) - vygeneruje PDF dokument, pokud je $output (dostupný od verze 2.3.001) true, tak provede výstup do PDF a odeslání na e-mail (pokud je nastaveno)
- pridejPolozku(str nazev, int mnozstvi = 1, float cena, str mj = '', float dph = 0, str popis = '', int ean = null) - přidá položku faktury, def hodnoty uvedeny v popisu funkce
- outputPDF() - dostupná od verze 2.3.001 - provede výstup vygenerovaného dokumentu do PDF a odeslání na e-mail (pokud je nastaveno)
- clearData() - dostupná od verze 2.3.001 - vyčistí data předchozí faktury (adresy odběratele, koncového příjemce, položky faktury, platební informace)
Nastavení:
Příklad volání: $pdf->nastaveni->SetObrazek('logo-pes2.jpg', 6.2, 6.2, 'F',20,20);
- setJizUhrazenoVPlatebnichUdajich(bool value)
dostupné od verze 2.4.002
pokud je true a faktura je plně uhrazena, pak je u platebních údajů vypsán velký nápis "již uhrazeno - neplatit" - SetZaokrouhleni(int value, int typ, int zpusob, int rozpusteni, bool pocitatJakoPolozku)
parametry "typ" a "zpusob" dostupné od verze 2.1.002
parametry "rozpusteni" a "pocitatJakoPolozku" dostupné od verze 2.2.001
nastavení zaokrouhlování (0=nezaokrouhlovat, 1=na koruny, 2=na padesátníky), def 0.
Typ: určuje jakým způsobem pracovat se zaokrouhlením (1 = v polozkach uvadet zaokrouhlena cisla, ale pocitat s nezaokrouhlenymi, 2 = v polozkach uvadet zaokrouhlena cisla a pocitat s temito zaokrouhlenymi cisly, 3 = v polozkach uvadet zaokrouhlena cisla a pocitat s temito zaokrouhlenymi cisly, zaokrouhlit celkovou castku), def. 1.
Zpusob: zpusob zaokrouhlování (1 = matematicke zaokrouhlení, 2 = zaokrouhlovat nahoru, 3 = zaokrouhlovat dolů), def. 1
rozpusteni: ur4uje do které sazby započítat zaokrouhlení (1 = nejvyšší sazby na dokladu, 2 = nejnižsí sazby na dokladu, 3 = do sazby s nejvyšší celkovou částkou na dokladu, 4 = do nulové sazby)
pocitatJakoPolozku: true/false - SetSazbyDPH(array) - nastavení sazeb DPH - def array('0' => 'Nulová sazba', '15' => 'První snížená sazba', '10' => 'Druhá snížená sazba', '21' => 'Základní sazba')
- SetZaokrouhlovatDPH(bool) - funkce zrušena od verze 2.2.001
vypnutí/zapnutí zaokrouhlování DPH, def false. Pouze ve verzi 2.1.004: pokud je nastaveno na false, tak u plátců DPH dochází k automatickému rozpuštění zaokrouhlení do sazeb DPH - SetShrnutiDPH(bool) - zobrazení shrnutí DPH, def true
- SetObrazek(cesta, hor_pozice, ver_pozice, [opakovat='F' || 'L' || 'A'], [šířka],[výška]) - vykreslí obrázek na zadanou pozici, opakování: F=první strana, L=poslední strana, A=všechny, def F, pokud do hodnoty ver_pozice zadáme text začínající písmenem C a následovaný znakem + nebo - a číslem, tak bude jako vertikální pozice použita pozice podpisové čáry +/- dané číslo (příklad: zadání 'c-15' znaméná 15mm před podpisovou čarou), toto funguje pouze při nastavení opakování na poslední stranu ('L'). Od verze 2.0 je možné tuto funkci volat opakovaně a vložit tak více různých obrázků.
- SetTextUPodpisu(text, [int velikost_pisma = 8],[styl = '' || 'B']) - vypíše text vlevo od podpisu, styl: B=tučné, nic=normální
- SetTextKonec(text, [int velikost_pisma = 8],[styl = '' || 'B']) - vypíše text na konci faktury, styl: B=tučné, nic=normální
- SetCisloFaktury(mixed) - nastaví číslo faktury
- SetUhrazenoZalohou(float) - výše uhrazených záloh, def 0
- SetVzdalenostPolozek(float) - vzdalenost jednotlivých položek, def 0
- SetPodtrzeni(array || false) - nastavit barvu podtržení položek (false=nepodtrhávat), struktura pole: array(0-255,0-255,0-255), def false
- SetFillcolor(array || false) - DEPRECATED od verze 2.0. Funkci nahrazuje nová funkce SetStyle. - nastavit barvu podbarvení sudých položek (false=nepodbarvovat), struktura pole: array(0-255,0-255,0-255), def array(192,192,192)
- SetPlatceDPH(bool) - plátce či neplátce DPH, def false
- SetKodovani(str) - DEPRECATED od verze 1.3, která již nepoužívá ICONV. - nastavení kódování vstupních textů (pro ICONV), def UTF-8
- SetAutor(str) - nastavení autora PDF dokumentu
- SetTitulek(str) - titulek PDF dokumentu
- SetMena(str) - zobrazovaná měna, def CZK
- SetJmenosouboru(str || false) - DEPRECATED od verze 2.1.004. Použijte nové metody SetNazevSouboru a SetOutputType - název souboru do kterého se má uložit výstup, nebo false pro přímé zobrazení, def false
- SetNazevSouboru(str) - Dostupná od verze 2.1.004 - název souboru pro uložení. Použije se pro uložení na server a také v interaktivním zobrazení když dá uživatel uložit lokálně.
- SetOutputType(str) - Dostupná od verze 2.1.004 - určuje výstupní možnosti - D = force download, I = interaktivní zobrazení v prohlížeči (pokud je možné), F = uložení na server, FI = kombinace F a I, FD = kombinace F a D, E = vrátí výstup jako base64 mime multi-part email attachment (RFC 2045).
- SetZobrazeneSloupce(bool $mj, bool $pocetMj, bool $cenaMj) - Povolení zobrazení konkrétních sloupců u výpisu položek, přidáno ve verzi 24.001
- SetZobrazovatMJ(bool) - vypnutí / zapnutí zobrazování M.J., počtu M.J. a ceny za M.J.
- SetSleva(float sleva, [0 || 1 přímo částka nebo procenta], [0 || 1 || 2 kde vypsat], [0 || 1 vypisovat i při nulové slevě]) - Možnost přidání slevy. První parametr určuje slevu samotnou, druhý zda se jedná o procentuální slevu, nebo o slevu přímou, třetí určuje kde vypsat slevu 0 = v položkách, 1 = dole před celkovou cenou, 2 = dole i v položkách, posledním parametrem můžete zajistit vypsání i nulové slevy. Poznámka: pokud je procentuální sleva, tak se automaticky uvede dole u celkové ceny a procenta jsou započítána přímo do cen jednotlivých položek.
- SetSendEemail(bool) - vypnutí / zapnutí odeslání vygenerované faktury emailem. Fakturu lze emailem zaslat jen když je SetOutputType nastaveno na F nebo FI (pouze v případě uložení PDF na server).
- SetShrnutiPrazdne(bool) - určuje, zda vypisovat ve shrnutí DPH i položky v sazbách s nulovým základem, def true
- SetStyle(str, str || array) - dostupná od verze 2.0 - nastavení stylu. Jako první parametr se zadává styl, který chceme nastavit ('fillColor' = barva pozadí rámečků hlavních nadpisů, 'fontColor' = barva písma hlavích nadpisů, 'priceFillColor' = barva pozadí rámečku u celkové ceny, 'priceFontColor' = barva písma u celkové ceny, 'itemFillColor' = barva podbarvení sudých položek, 'itemFontColor' = barva písma sudých položek). Druhým parametrem může být pole s RGB barvami, nebo string HTML barvy (např. FFBBEE), itemFillColor připouští také parametr (bool)false.
- SetJazyk(str jazyk) - dostupná od verze 2.1 - nastavení jazyka faktury. Uvedený jazyk musí existovat jako soubor ve složce "langs" - viz. vzorové soubory v této složce.
- SetQRPlatba(bool vypisovat, float x, float y, str umisteni('F' || 'L' || 'PU' || 'PA'), float velikost, int styl (1 || 2 || 3) - dostupná od verze 2.1 - vypsání QR platby. X,y = souřadnice na které bude QR kód vypsán. Umisteni: 'F' = první strana, 'L' = poslední strana, 'PU' = platební údaje - Y souřadnice je pevně nastavena do sekce s platebními údaji, 'PA' = v patičce stránky za posledním vypsaným textem - v této pozici je velikost kód zphledňována pro celkovou výšku patičky a přechody na novou stránku. Velikost = velikost strany QR kódu, doporučujeme tuto velikost nastavit na hodnotu cca 30 a více pro lepší čitelnost, v případě malého rozměru kódu nelze zaručit jeho úspěšné načtení všemi zařízeními. Styl: 1 = orámovaný kód s popisem pod kódem, 2 = bez orámování s popisem napravo od kódu, 3 = bez orámování s popisem pod kódem. IBAN je automaticky generován z čísla účtu, v případě nemožnosti vygenerovat IBAN nebude QR kód vykreslen.
- SetTypDokladu(int typDokladu) - dostupná od verze 2.1.002 - určuje typ dokladu. 1 = faktura, 2 = proforma. Od verze 2.1.004 je možné zadávat také typy 3 = opravný daňový doklad / dobropis, 4 = storno faktura. Také je od této verze možné zadávat typy slovně (faktura, proforma, odd, storno).
- SetDoplnujiciInformace(int|str puvodniDoklad, [str duvod = '']) - dostupná od verze 2.1.004 - určuje doplňující informace k dokladům typu ODD/dobropis a STORNO. První parametr udává číslo původního dokladu a druhý údává důvod opravy dokladu.
- SetCarovyKod(int kod, [float X = 10, float Y = 1, float sirka = 30, float vyska = 10]) - dostupná od verze 2.1.004 - Čárový kód faktury. Vygeneruje čárový kód (code_128) a umístí jej na pozici X,Y. Velikost čárového kódu je dána parametry sirka a vyska.
- SetReverseCharge(bool val, [string text = '']) - dostupná od verze 2.2.001 - Pokud je první parametr true, tak uvede fakturu do režimu přenesené daňové povinnosti dle $ 92e zákona o DPH. Parametr text určuje text, který se v této souvislosti vypíše pod shrnutím DPH - pokud není zadán, tak se použije přednastavený.
- SetCastkySDPH(bool val) - dostupná od verze 2.2.005 - Pokud je nastaveno na true, tak částka zadaná v metodě pridejPolozku se bere jako částka s DPH a základ daně + daň jsou dopočítány pomocí koeficientu.
- SetEET(array data) - dostupná od verze 2.2.005 - Zadání údajů z EET, tyto budou vypsány na konci faktury. Předdefinované klíče pole jsou ([fik],[pkp],[bkp],[rezim],[pokladna],[provozovna], [datum]), pokud zadáte vlastní prvek pole, tak klíč bude vypsán tučně a bude následován hodnotou.
- setPozicePoznamky(string $val) - dostupná od verze 2.3.001 - Určuje pozici poznámky u položek - možnosti: top | bottom.
- setBorders(bool $draw, float $width, string $color, float $dash) - dostupná od verze 2.3.001 - Orámování názvu hlavních sekcí. $draw - zapnutí/vypnutí orámování, $width - tloušťka čáry, $color - HEX barva orámování, $dash - šířka přerušení
Dodavatel:
Příklad volání: $pdf->dodavatel->SetJmeno("Petr Daněk");
- SetFirma(str) - název firmy
- SetZeme(str) - země, def Česká republika
- SetTelefon(str) - telefon
- SetEmail(str) - e-mail
- SetWeb(str)
- SetJmeno(str)
- SetUlice(str)
- SetPSC(str)
- SetMesto(str)
- SetIC(str)
- SetDIC(str)
Odběratel:
Příklad volání: $pdf->odberatel->SetJmeno('Jiří Vavřín');
- SetFirma(str) - název firmy
- SetZeme(str) - země, def Česká republika
- SetJmeno(str)
- SetUlice(str)
- SetPSC(str)
- SetMesto(str)
- SetIC(str)
- SetDIC(str)
Konečný příjemce:
Vypíše se pouze, pokud je nastaveno:
$pdf->nastaveni->SetKonecnyPrijemceVypisovat(true);
$pdf->nastaveni->SetKonecnyPrijemceOdlisnaAdresa(true);
Příklad volání: $pdf->konecnyPrijemce->SetJmeno('Jiří Vavřín');
- SetFirma(str) - název firmy
- SetZeme(str) - země, def Česká republika
- SetJmeno(str)
- SetUlice(str)
- SetPSC(str)
- SetMesto(str)
- SetIC(str)
- SetDIC(str)
Informace:
Příklad volání: $pdf->informace->SetVystaveni(date("d.m.Y",time()));
- SetObjednavka(mixed) - číslo objednávky, na jejímž základě byla vydána faktura
- SetZedne(str) - den uskutečnění objednávky
- SetVystaveni(str) - datum vystavení faktury
- SetSplatnost(str) - datum splatnosti
- SetPlneni(str) - datum uskutečnění zdanitelného plnění
- AddParametr(str $nazev, str $hodnota) - přidání vlastního parametru do sekce informace.
Platební údaje:
Příklad volání: $pdf->platebniUdaje->SetZpusobuhrady("Převodem");
- SetZpusobuhrady(str) - způsob úhrady
- SetKS(str) - konstantní symbol
- SetVS(str) - variabilní symbol
- SetSS(str) - specifický symbol
- SetCislouctu(str) - číslo účtu - bez kódu banky
- SetKodbanky(str)
- AddParametr(str $nazev, str $hodnota) - přidání vlastního parametru do sekce platební údaje.
E-mail:
Příklad volání: $pdf->email->SetAddress("kenod@kenod.net");
- SetAddress(str) - e-mailová adresa na kterou se zašle faktura.
- SetPhpMailerPath(str) - cesta ke knihovně PHPMailer (např. $pdf->email->SetPhpMailerPath("faktury/PHPMailer/class.phpmailer.php");)
- SetFrom(str) - e-mailová adresa odesílatele
- SetFromName(str) - název odesílatele
- SetSubject(str) - předmět e-mailu
- SetBody(str) - tělo e-mailu
Elektronický podpis PDF:
Funkce elektronického podpisu jsou zatím v testovacím stádiu. Funkce jsou dostupné od verze 1.3.
Příklad volání: $pdf->nastaveni->SetPodpis('tcpdf.crt');
- SetPodpis(str) - pokud je zadána cesta k souboru certifikátu (*.crt), je načten jeho obsah, jinak je použit přímo samotný řetězec. Certifikát musí být ve formátu PEM
- SetPodpisHeslo(str) - heslo soukromého klíče
- SetPodpisInfo((str)$name = '', (str)$loc = '', (str)$reason = '', (str)$contact = '') - zadání doplňujících informací - jméno, místo, důvod podpisu a kontakt na podepisovatele