| 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 <acronym>PDF</acronym> están representadas como
- instancias <classname>Zend_Pdf_Page</classname> en
- <classname>Zend_Pdf</classname>.</para>
- <para>Las páginas <acronym>PDF</acronym> o bien son cargadas desde una <acronym>PDF</acronym> 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
- <methodname>Zend_Pdf::newPage()</methodname>, que devuelve un
- objeto <classname>Zend_Pdf_Page</classname>.
- <methodname>Zend_Pdf::newPage()</methodname> crea una página que
- ya está agregada a un documento. Las páginas no agregadas no pueden
- ser utilizadas con múltiples documentos <acronym>PDF</acronym>, 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 <methodname>Zend_Pdf::newPage()</methodname> 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
- <varname>$pages</varname> 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 <acronym>PDF</acronym> 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
- <acronym>PDF</acronym> 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>
|