<?xml version="1.0" encoding="UTF-8"?>
    <!-- EN-Revision: 24249 -->
    <!-- Reviewed: no -->
<sect1 id="zend.pdf.create">
    <title>Creando y Cargando Documentos PDF</title>
    <para>
        La clase
        <classname>Zend_Pdf</classname>
        representa documentos
        <acronym>PDF</acronym>
        y
        proporciona operaciones a nivel de documento.
    </para>

    <para>
        Para crear un nuevo documento, primero debe ser creado un nuevo
        objeto
        <classname>Zend_Pdf</classname>
        .
    </para>

    <para>
        La clase
        <classname>Zend_Pdf</classname>
        también ofrece dos métodos
        estáticos para cargar un documento
        <acronym>PDF</acronym>
        . Estos métodos son
        <methodname>Zend_Pdf::load()</methodname>
        y
        <methodname>Zend_Pdf::parse()</methodname>
        . Ambos retornan objetos
        <classname>Zend_Pdf</classname>
        como resultado o arrojan una
        excepción si ocurre un error.
    </para>

    <example id="zend.pdf.create.example-1">
        <title>Crear un nuevo documento PDF o cargar uno ya esistente</title>
        <programlisting language="php"><![CDATA[
...
// Crear un nuevo documento PDF
$pdf1 = new Zend_Pdf();

// Cargar un documento PDF desde un archivo
$pdf2 = Zend_Pdf::load($fileName);

// Cargar un documento PDF desde un string
$pdf3 = Zend_Pdf::parse($pdfString);
...
]]></programlisting>
    </example>

    <para>
        El formato de archivos
        <acronym>PDF</acronym>
        soporta la actualización incremental del
        documento. Así, cada vez que un documento es
        actualizado, entonces se
        crea una nueva revisión del documento. El componente
        <classname>Zend_Pdf</classname>
        soporta la recuperación de una
        revisión especificada.
    </para>
    <para>
        Una revisión puede especificarse como un segundo parámetro a los
        métodos
        <methodname>Zend_Pdf::load()</methodname>
        y
        <methodname>Zend_Pdf::parse()</methodname>
        o requerirlo llamando al
        método
        <methodname>Zend_Pdf::rollback()</methodname>
        .
        <footnote>
            <para>
                El método
                <methodname>Zend_Pdf::rollback()</methodname>
                debe
                ser invocado antes de aplicar cualquier cambio al documento, de
                lo contrario el
                comportamiento no está definido.
            </para>
        </footnote>
        call.
    </para>

    <example id="zend.pdf.create.example-2">
        <title>Requiriendo Revisiones Específicas de un documento PDF</title>
        <programlisting language="php"><![CDATA[
...
// Cargar la revisión anterior del documento PDF
$pdf1 = Zend_Pdf::load($fileName, 1);

// Cargar la revisión anterior del documento PDF
$pdf2 = Zend_Pdf::parse($pdfString, 1);

// Cargar la primera revisión del documento PDF
$pdf3 = Zend_Pdf::load($fileName);
$revisions = $pdf3->revisions();
$pdf3->rollback($revisions - 1);
...
]]></programlisting>
    </example>

</sect1>
