Lista dostępnych helper'ów w pomocniku.
Lista dostępnych helper'ów w pomocniku.
W klasie pomocnika (TemplateHelper) możemy skorzystać z takiej właściwości jak $this->writer, w której przechowywany jest obiekt dziedziczący po AbsTemplateWriter, czyli taka klasa pomocnicza w zależności od rozszerzenia szablonu, z którego drukujemy dokument fizyczny.
W tym artykule opiszę jakie metody posiadają poszczególne klasy pomocników. Przykłady będą dostosowane do natychmiastowego użycia w pomocnikach znaczników.
Ogólne dostępne metody
getLineBreakTpl
Metoda zwraca znak nowej linii.
$this->writer->getLineBreakTpl();
bold
Metoda zwróci tekst przekazany w argumencie pogrubiony.
$myText = 'Tekst do wyświetlenie w dokumencie';
$this->writer->bold($myText);
italic
Metoda zwróci tekst przekazany w argumencie kursywą.
$myText = 'Tekst do wyświetlenie w dokumencie';
$this->writer->italic($myText);
toUTF8
Metoda zwróci tekst przekazany w argumencie przekonwertowany do UTF8.
$myText = 'Tekst do wyświetlenie w dokumencie';
$this->writer->toUTF8($myText);
align
Metoda zwróci tekst przekazany w argumencie wyrównany zgodnie z drugim argumentem.
Jako parametry kolejno przyjmuje:
$text(string) - Tekst do wydrukowania w dokumencie$formatter(integer) - Wyrównanie tekstu. Przyjmuje jedną z poniższych opcji:WRITER_ALIGN_LEFTWRITER_ALIGN_RIGHTWRITER_ALIGN_CENTERWRITER_JUSTIFY
$text = 'Tekst do wyświetlenie w dokumencie';
$formatter = WRITER_ALIGN_RIGHT;
$this->writer->align($text, $formatter);
getTable
Metoda zwraca wydrukowaną tabelkę zgodną z typem szablonu. Jako parametry kolejno przyjmuje:
$a(array) - Tablica dwuwymiarowa zawierająca dane do tabeli$format(array) - Tablica zawierająca ustawienia dla każdej kolumny z tablicy $a$printHeader(boolean) - Czy ma zostać wydrukowany nagłówek tabeli
$tplTableFontSize = defined('TPL_TABLE_FONT_SIZE') ? TPL_TABLE_FONT_SIZE : 12;
$tplTableFontSize = defined('TPL_TABLE_FONT_SIZE') ? TPL_TABLE_FONT_SIZE : 12;
$format = [
[ //ustawienia kolumny pierwszej od lewej
'title' => Translator::translate('Lp.'), //nazwa kolumny
'align' => WRITER_ALIGN_CENTER, //wyrównanie tekstu dostępne opcje: WRITER_ALIGN_LEFT|WRITER_ALIGN_RIGHT|WRITER_ALIGN_CENTER|WRITER_JUSTIFY
'width' => '6', //szerokość kolumny
'headerFontSize' => $tplTableFontSize, // wielkość czcionki headera
'dataFontSize' => $tplTableFontSize, // wielkość czcionki danych
]
];
$this->writer->getTable($a, $format, $printHeader = TRUE);
getTable2
Metoda zwraca wydrukowaną tabelkę z zawsze wydrukowanym nagłówkiem. Jako parametry kolejno przyjmuje:
$a(array) - Tablica dwuwymiarowa zawierająca dane do tabeli$format(array) - Tablica zawierająca ustawienia dla każdej kolumny z tablicy $a
$tplTableFontSize = defined('TPL_TABLE_FONT_SIZE') ? TPL_TABLE_FONT_SIZE : 12;
$tplTableFontSize = defined('TPL_TABLE_FONT_SIZE') ? TPL_TABLE_FONT_SIZE : 12;
$format = [
[ //ustawienia kolumny pierwszej od lewej
'title' => Translator::translate('Lp.'), //nazwa kolumny
'align' => WRITER_ALIGN_CENTER, //wyrównanie tekstu dostępne opcje: WRITER_ALIGN_LEFT|WRITER_ALIGN_RIGHT|WRITER_ALIGN_CENTER|WRITER_JUSTIFY
'width' => '6', //szerokość kolumny
'headerFontSize' => $tplTableFontSize, // wielkość czcionki headera
'dataFontSize' => $tplTableFontSize, // wielkość czcionki danych
]
];
$this->writer->getTable2($a, $format = array());
generateBarCode
Metoda zwraca wydrukowany BarCode.
!> Dla szablonów RTF czy DOCX należy użyć metody $this->writer->writeBarCode($type, $data, $params = NULL) i przekazać te same argumenty!
Jako parametry kolejno przyjmuje:
$type(string) - Nazwa typu kreskowego. Dostępne typy:qrcodecode39int25ean13upcacode128ean128ean8postnet
$data(string) - Dane co mają być zakodowane w kodzie o typie jednym z powyższych.$params(json|array) - Dodatkowe parametry.- Dla qrcode to możliwość określenie rozmiaru pojedynczego pixela
['pixel_size' => 2]. Domyślnie 2. - Dla pozostałych to możliwość:
- określenia wysokości
['height' => 40]. Domyślnie 40. - jeżeli zostanie zdefiniowany klucz
no_textto nie będzie wyświetlana zawartość $data pod kodem
- określenia wysokości
- Dla qrcode to możliwość określenie rozmiaru pojedynczego pixela
$type = 'qrcode`;
$data = 'Tekst ukryty w qr';
$params = null;
$this->writer->generateBarCode($type, $data, $params);
setFooter
Metoda ustawia stopkę w tabeli.
Jako parametry kolejno przyjmuje:
$imagePath(string) - Ścieżka do obrazka$params(array) - Dodatkowe parametrytype- typ obrazka png, jpeg. Domyślnie jpeg
$footer = [null, null, null, null, '20,00', 'PLN'];
$this->writer->setFooter($footer);
Dodatkowe metody dla typu RTF i DOCX
writeImage
Metoda zwraca przygotowany obrazek dla szablonu
Jako parametry przyjmuje tablicę z wierszem.
$imagePath = 'var/img/phone.png';
$this->writer->writeImage($imagePath, ['type' => 'png]);
setTableHeaderColor
Metoda ustawia tło w nagłówku tabeli.
Jako parametry przyjmuje kod rgb.
$r = 0; //czerwony
$g = 0; //zielony
$b = 0; //niebieski
$this->writer->setTableHeaderColor($r, $g, $b);
Dodatkowe właściwości dla DOCX
$paperWidth
$this->writer->paperWidth = 10500;
$forcePaperWidth
Czy wymusić szerokość papieru.
$this->writer->forcePaperWidth = true;
$tableHeaderRowDefaultHeight
Ustawia wysokość wiersza w nagłówku.
$this->writer->tableHeaderRowDefaultHeight = 700;
$tableRowDefaultHeight
Ustawia wysokość wiersza.
$this->writer->tableRowDefaultHeight = 400;
$tablePrettyFooter
Wskazuje na indeks wiersza z tablicy przekazanej do metody footer, która ma zostać ładnie wydrukowana 😉
$this->writer->tablePrettyFooter = 4;
$tableBorderSize
Ustawia rozmiar obramowania.
$this->writer->tableBorderSize = 2;