<sect1 id="zend.pdf.pages">
    <title>Страницы документа<!-- Document pages. --></title>
    <para>
    Абстракция страницы документа PDF представлена классом <code>Zend_Pdf_Page</code>.
<!--
    PDF document page abstraction is represented by <code>Zend_Pdf_Page</code> class.
-->
    </para>

    <para>
    Страницы PDF либо загружаются из существующего документа PDF, либо создаются.
<!--
    PDF pages either are loaded from existing PDF, or created.
-->
    </para>

    <para>
    Новая страница может быть получена посредством создания нового объекта
    <code>Zend_Pdf_Page</code> или вызова метода <code>Zend_Pdf::newPage()</code>,
    который возвращает объект <code>Zend_Pdf_Page</code>. Их различие в том, что
    метод <code>Zend_Pdf::newPage()</code> создает страницу, уже прикрепленную
    к документу. В отличие от неприкрепленой, она не может использоваться
    с несколькими документами PDF, но имеет несколько лучшую производительность.
<!--
    New page can be obtained by creating new <code>Zend_Pdf_Page</code> object or calling
    <code>Zend_Pdf::newPage()</code> method, which returns <code>Zend_Pdf_Page</code> object.
    The difference is that <code>Zend_Pdf::newPage()</code> method creates a page, already attached to
    the document. In difference from unattached pages it can't be used with several PDF documents,
    but has a little bit better performance.
-->
    <footnote>
        <para>
        Имеется ограничение версии V1.0 модуля Zend_Pdf. Она будет устранена в
        будущих версиях. Но неприкрепленные страницы всегда дают лучший (более
        оптимальный) результат при совместном использовании в нескольких документах.
<!--
        It's a limitation of V1.0 version of Zend_Pdf module. It will be eliminated in future versions.
        But unattached pages will always give better (more optimal) result for sharing pages between documents.
-->
        </para>
    </footnote>
    . Какой подход использовать — решать вам.
<!--
    . It's your choice, which approach should be used.
-->
    </para>

    <para>
    Метод <code>Zend_Pdf::newPage()</code> и конструктор <code>Zend_Pdf_Page</code>
    принимают одинаковый набор параметров. Это либо размер страницы ($x, $y) в
    пойнтах (1pt = 1/72 inch), либо предопределенная константа, которая
    трактуется как тип страницы:

<!--
    <code>Zend_Pdf::newPage()</code> method and <code>Zend_Pdf_Page</code> constructor take the same
    set of parameters. It either the size of page ($x, $y) in a points (1/72 inch), or predefined constant,
    which is treated as a page type:
-->
        <itemizedlist>
            <listitem>
                <para>Zend_Pdf_Const::PAGESIZE_A4</para>
            </listitem>
            <listitem>
                <para>Zend_Pdf_Const::PAGESIZE_A4_LANDSCAPE</para>
            </listitem>
            <listitem>
                <para>Zend_Pdf_Const::PAGESIZE_LETTER</para>
            </listitem>
            <listitem>
                <para>Zend_Pdf_Const::PAGESIZE_LETTER_LANDSCAPE</para>
            </listitem>
        </itemizedlist>
    </para>

    <para>
    Страницы документа хранятся в открытом члене <varname>$pages</varname> класса
    <code>Zend_Pdf</code>. Это массив объектов <code>Zend_Pdf_Page</code>.
    Он полностью описывает набор и порядок страниц документа и с ним можно
    работать, как с обычным массивом:
<!--
    Document pages are stored in <varname>$pages</varname> public member of <code>Zend_Pdf</code> class.
    It's an array of <code>Zend_Pdf_Page</code> objects. It completely defines set and order of document pages
    and can be manipulated as a common array:
-->
    </para>

    <example>
        <title>Управление страницами документа PDF<!-- PDF document pages management. --></title>
        <programlisting language="php"><![CDATA[<?php
...
// Изменение порядка страниц на противоположный
$pdf->pages = array_reverse($pdf->pages);
...
// Добавление новой страницы
$pdf->pages[] = new Zend_Pad_Page(Zend_Pdf_Const::PAGESIZE_A4);
// Добавление новой страницы
$pdf->pages[] = $pdf->newPage(Zend_Pdf_Const::PAGESIZE_A4);

// Удаление определенной страницы
unset($pdf->pages[$id]);

...
?>]]></programlisting>
    </example>

</sect1>
<!--
vim:se ts=4 sw=4 et:
-->
