| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 20854 -->
- <!-- 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 Zend Framework. 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><constant>Zend_Pdf_Page::SIZE_A4_LANDSCAPE</constant></para>
- </listitem>
- <listitem>
- <para><constant>Zend_Pdf_Page::SIZE_LETTER</constant></para>
- </listitem>
- <listitem>
- <para><constant>Zend_Pdf_Page::SIZE_LETTER_LANDSCAPE</constant></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
- <acronym>PHP</acronym>
- :
- </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áginas</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>
|