Przejdź do głównej treści

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
$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 parametry
    • type - 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;