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_LEFT
WRITER_ALIGN_RIGHT
WRITER_ALIGN_CENTER
WRITER_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:qrcode
code39
int25
ean13
upca
code128
ean128
ean8
postnet
$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_text
to 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;