20.4. Strony dokumentu.
Poprzedni | Rozdział 20. Zend_Pdf | Następny

## 20.4. Strony dokumentu.

Strona dokumentu PDF jest reprezentowana przez klasę `Zend_Pdf_Page`.

Strony PDF mogą być tworzone lub ładowane z istniejącego dokumentu PDF.

Nowa strona może być dodana przez utworzenie obiektu `Zend_Pdf_Page` lub wywołanie metody `Zend_Pdf::newPage()`, która zwraca obiekt `Zend_Pdf_Page`. Różnicą jest to, że metoda `Zend_Pdf::newPage()` tworzy stronę dołączoną do dokumentu. W przeciwieństwie to luźnych stron, niepołączonych z żadnym dokumentem, nie może ona być użyta z kilkoma dokumentami PDF, ale ma ona trochę lepszą wydajność. [6]. Do ciebie należy wybor sposobu, którego użyjesz.

Metoda `Zend_Pdf::newPage()` oraz konstruktor klasy `Zend_Pdf_Page` przyjmują ten sam zestaw parametrów. W obydwóch jest to rozmiar strony ($x, $y) w punktach (1/72 cala), lub definiowana stała, która jest traktowana jako typ strony:

- Zend_Pdf_Page::SIZE_A4

- Zend_Pdf_Page::SIZE_A4_LANDSCAPE

- Zend_Pdf_Page::SIZE_LETTER

- Zend_Pdf_Page::SIZE_LETTER_LANDSCAPE

Strony dokumentu są przechowywane w tablicy `$pages` będącej publiczną właściwością klasy `Zend_Pdf`. Jest to tablica obiektów `Zend_Pdf_Page`. Kompletnie definiuje ona zbiór oraz kolejność stron dokumentu, a także możemy nią manipulować jak zwykłą tablicą:

Przykład 20.4. Zarządzanie stronami dokumentu PDF.

    <?php
    ...
    // Odwróć kolejność stron
    $pdf->pages = array_reverse($pdf->pages);
    ...
    // Dodaj nową stronę
    $pdf->pages[] = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
    // Dodaj nową stronę
    $pdf->pages[] = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);

    // Usuń określoną stronę.
    unset($pdf->pages[$id]);

    ...
    ?>

[6] Jest to limitacja wersji V1.0 modułu Zend_Pdf. Będzie to wyeliminowane w przyszłych wersjach. Jednak luźne strony zawsze będą dawały lepsze (bardziej optymalne) wyniki przy używaniu stron w kilku dokumentach.

Poprzedni | Początek rozdziału | Następny
20.3. Zapisywanie zmian w dokumencie PDF. | Spis treści | 20.5. Rysowanie.