<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.pdf.create">
    <title>Criando e Carregando Documentos PDF</title>

    <para>
        A classe <classname>Zend_Pdf</classname> representa os documentos <acronym>PDF</acronym> e
        provê funcionalidades para manipulação do documento.
    </para>

    <para>
        Para criar um novo documento, um novo objeto <classname>Zend_Pdf</classname> deve ser
        instanciado primeiro.
    </para>

    <para>
        A classe <classname>Zend_Pdf</classname> também provê dois métodos estáticos para carregar
        um documento <acronym>PDF</acronym> existente. Os métodos são
        <methodname>Zend_Pdf::load()</methodname> e <methodname>Zend_Pdf::parse()</methodname>.
        Ambos retornam objetos <classname>Zend_Pdf</classname> como resultado, ou uma exceção se
        algum erro ocorrer.
    </para>

    <example id="zend.pdf.create.example-1">
        <title>Criar um novo documento PDF ou carregar um já existente</title>

        <programlisting language="php"><![CDATA[
...
// Cria um novo documento PDF
$pdf1 = new Zend_Pdf();

// Carrega um documento PDF a partir de um arquivo
$pdf2 = Zend_Pdf::load($fileName);

// Carrega um documento PDF a partir de uma string
$pdf3 = Zend_Pdf::parse($pdfString);
...
]]></programlisting>
    </example>

    <para>
        O formato de arquivo <acronym>PDF</acronym> suporta a atualização incremental do documento.
        Dessa forma, toda vez que um documento é atualizado, uma nova revisão do documento é criada.
        O componente <classname>Zend_Pdf</classname> suporta a recuperação de uma revisão
        especificada.
    </para>

    <para>
        Uma revisão pode ser especificada como o segundo parâmetro para os métodos
        <methodname>Zend_Pdf::load()</methodname> e <methodname>Zend_Pdf::parse()</methodname> ou
        solicitada chamando o método <methodname>Zend_Pdf::rollback()</methodname>.

        <footnote>
            <para>
                O método <methodname>Zend_Pdf::rollback()</methodname> deve ser chamado antes que
                qualquer mudança seja aplicada ao documento, caso contrário o comportamento do
                método não é definido.
            </para>
        </footnote>
    </para>

    <example id="zend.pdf.create.example-2">
        <title>Solicitando Revisões Específicas de um Documento PDF</title>

        <programlisting language="php"><![CDATA[
...
// Carrega a revisão anterior do documento PDF
$pdf1 = Zend_Pdf::load($fileName, 1);

// Carrega a revisão anterior do documento PDF
$pdf2 = Zend_Pdf::parse($pdfString, 1);

// Carrega a primeira revisão do documento PDF
$pdf3 = Zend_Pdf::load($fileName);
$revisions = $pdf3->revisions();
$pdf3->rollback($revisions - 1);
...
]]></programlisting>
    </example>
</sect1>
<!--
vim:se ts=4 sw=4 et:
-->
