| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 15103 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.pdf.pages">
- <title>Trabajando con Páginas</title>
- <sect2 id="zend.pdf.pages.creation">
- <title>Creación de Páginas</title>
- <para> Las páginas en un documento PDF están representadas como
- instancias <classname>Zend_Pdf_Page</classname> en
- <classname>Zend_Pdf</classname>. </para>
- <para> Las páginas PDF o bien son cargadas desde una PDF ya existente o
- creadas usando la <acronym>API</acronym>
- <classname>Zend_Pdf</classname>. </para>
- <para> Se pueden crear nuevas páginas instanciando directamente al
- objeto <classname>Zend_Pdf_Page</classname> o llamando al método
- <classname>Zend_Pdf::newPage()</classname>, que devuelve un
- objeto <classname>Zend_Pdf_Page</classname>.
- <classname>Zend_Pdf::newPage()</classname> crea una página que
- ya está agregada a un documento. Las páginas no agregadas no pueden
- ser utilizadas con múltiples documentos PDF, pero son algo más
- eficientes. <footnote>
- <para> Es una limitación de la versión actual de ZF. Será
- eliminada en futuras versiones. Pero las páginas no
- agregadas siempre dan mejor resultado (más óptimo) para
- compartir páginas entre los documentos. </para>
- </footnote>
- </para>
- <para> El método <classname>Zend_Pdf::newPage()</classname> y el
- constructor <classname>Zend_Pdf_Page</classname> toman los mismos
- parámetros que especifican el tamaño de la página. Pueden tomar el
- tamaño de la página ($x, $y) en puntos (1/72 pulgadas) o una
- constante predefinida representando un tipo de página: <itemizedlist>
- <listitem>
- <para>Zend_Pdf_Page::SIZE_A4</para>
- </listitem>
- <listitem>
- <para>Zend_Pdf_Page::SIZE_A4_LANDSCAPE</para>
- </listitem>
- <listitem>
- <para>Zend_Pdf_Page::SIZE_LETTER</para>
- </listitem>
- <listitem>
- <para>Zend_Pdf_Page::SIZE_LETTER_LANDSCAPE</para>
- </listitem>
- </itemizedlist>
- </para>
- <para> Las páginas del documento se almacenados en el atributo público
- <methodname>$pages</methodname> de la clase
- <classname>Zend_Pdf</classname>. El atributo posee un array de
- objetos <classname>Zend_Pdf_Page</classname> y define completamente
- las instancias y el orden de las páginas. Este array puede
- manipularse como cualquie otro array PHP: </para>
- <example id="zend.pdf.pages.example-1">
- <title>Administración de Páginas de un Documento PDF.</title>
- <programlisting language="php"><![CDATA[
- ...
- // Invertir el orden de las páginas.
- $pdf->pages = array_reverse($pdf->pages);
- ...
- // Agregar una nueva página.
- $pdf->pages[] = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
- // Agregar una nueva página.
- $pdf->pages[] = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
- // Eliminar la página especificada.
- unset($pdf->pages[$id]);
- ...
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.pdf.pages.cloning">
- <title>Clonado de Páfinas.</title>
- <para> La página PDF existente puede ser clonada creando un nuevo objeto
- <classname>Zend_Pdf_Page</classname> con una página existente
- como parámetro: </para>
- <example id="zend.pdf.pages.example-2">
- <title>Clonando una Página Existente.</title>
- <programlisting language="php"><![CDATA[
- ...
- // Almacenar la página plantilla en una variable
- $template = $pdf->pages[$templatePageIndex];
- ...
- // Agregar una nueva página.
- $page1 = new Zend_Pdf_Page($template);
- $pdf->pages[] = $page1;
- ...
- // Agregar otra página.
- $page2 = new Zend_Pdf_Page($template);
- $pdf->pages[] = $page2;
- ...
- // Eliminar la página fuente de la plantilla de los documentos.
- unset($pdf->pages[$templatePageIndex]);
- ...
- ]]></programlisting>
- </example>
- <para> Es útil si necesita crear varias páginas utilizando una
- plantilla. </para>
- <caution>
- <para> Importante! La página clonada comparte algunos recursos de
- PDF con una página plantilla, la que puede ser utilizada sólo en
- el mismo documento como una página plantilla. El documento
- modificado pueden guardarse como uno nuevo. </para>
- </caution>
- </sect2>
- </sect1>
|