<sect1 id="zend.pdf.create">
    <title>Создание и загрузка документов PDF<!--Creating and loading PDF documents.--></title>
    <para>
    Класс <code>Zend_Pdf</code> представляет документ PDF и обеспечивает
    функциональность для работы на уровне документа.
<!--
    <code>Zend_Pdf</code> class represents PDF document itself and provides document level
    functionality.
-->
    </para>

    <para>
    Для того, чтобы создать новый документ, нужно создать новый объект <code>Zend_Pdf</code>.
<!--
    To create new document new <code>Zend_Pdf</code> object should be created.
-->
    </para>

    <para>
    Класс <code>Zend_Pdf</code> также предоставляет два статических метода для
    загрузки существующих документов PDF. Это методы <code>Zend_Pdf::load()</code>
    и <code>Zend_Pdf::parse()</code>. Оба метода возвращают объект <code>Zend_Pdf</code>
    в качестве результата или генерируют исключение в случае ошибки.
<!--
    <code>Zend_Pdf</code> class also provides two static methods to load existing PDF.
    These are <code>Zend_Pdf::load()</code> and <code>Zend_Pdf::parse()</code> methods.
    Both of them return Zend_Pdf object as a result or throw an exception if error occurs.
-->
    </para>

    <example>
        <title>
        Создание нового или загрузка существующего документа PDF
        <!-- Create new or load existing PDF document.-->
        </title>
        <programlisting language="php"><![CDATA[<?php
...
// Создание нового документа PDF
$pdf1 = new Zend_Pdf();

// Загрузка документа PDF из файла
$pdf2 = Zend_Pdf::load($fileName);

// Загрузка документа PDF из строки
$pdf3 = Zend_Pdf::parse($pdfString);
...
?>]]></programlisting>
    </example>

    <para>
    Формат файла PDF поддерживает постепенное обновление документа. Таким образом,
    каждый раз, когда документ обновляется, создается новая версия документа.
<!--
    PDF file format supports incremental document update. Thus each time when document
    is updated, then new revision of the document is created.
    Zend_Pdf module supports retrieving of specified revision.
-->
    </para>
    <para>
    Версия может быть указана в качестве второго параметра для методов
    <code>Zend_Pdf::load()</code> и <code>Zend_Pdf::parse()</code> или получается
    методом <code>Zend_Pdf::rollback()</code>.
<!--
     Revision can be specified as a second parameter for <code>Zend_Pdf::load()</code> and
    <code>Zend_Pdf::parse()</code> methods or requested by <code>Zend_Pdf::rollback()</code>
-->
        <footnote>
            <para>
            Метод <code>Zend_Pdf::rollback()</code> должен вызываться до того,
            как будут производиться любые изменения[накладываемые на документ].
<!--
            <code>Zend_Pdf::rollback()</code> method must be invoked before any changes, applied to the document.
            Otherwise behavior is undefined.
-->
            </para>
        </footnote>
    call.
    </para>

    <example>
        <title>Извлечение определенной версии документа PDF<!--Requesting specified revision of the PDF document.--></title>
        <programlisting language="php"><![CDATA[<?php
...
// Загрузка предыдущей версии документа PDF
$pdf1 = Zend_Pdf::load($fileName, 1);

// Загрузка предыдущей версии документа PDF
$pdf2 = Zend_Pdf::parse($pdfString, 1);

// Загрузка первой версии документа
$pdf3 = Zend_Pdf::load($fileName);
$revisions = $pdf3->revisions();
$pdf3->rollback($revisions - 1);
...
?>]]></programlisting>
    </example>

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