update DOC-ES
[zend.git] / documentation / manual / es / module_specs / Zend_Pdf-Pages.xml
blobf8007836919cc15ad70d586b30a2ddbb2d294258
1 <?xml version="1.0" encoding="UTF-8"?>
2     <!-- EN-Revision: 17227 -->
3     <!-- Reviewed: no -->
4 <sect1 id="zend.pdf.pages">
5     <title>Trabajando con Páginas</title>
6     <sect2 id="zend.pdf.pages.creation">
7         <title>Creación de Páginas</title>
8         <para>
9             Las páginas en un documento
10             <acronym>PDF</acronym>
11             están representadas como
12             instancias
13             <classname>Zend_Pdf_Page</classname>
14             en
15             <classname>Zend_Pdf</classname>
16             .
17         </para>
19         <para>
20             Las páginas
21             <acronym>PDF</acronym>
22             o bien son cargadas desde una
23             <acronym>PDF</acronym>
24             ya existente o
25             creadas usando la
26             <acronym>API</acronym>
27             <classname>Zend_Pdf</classname>
28             .
29         </para>
31         <para>
32             Se pueden crear nuevas páginas instanciando directamente al
33             objeto
34             <classname>Zend_Pdf_Page</classname>
35             o llamando al método
36             <methodname>Zend_Pdf::newPage()</methodname>
37             , que devuelve un
38             objeto
39             <classname>Zend_Pdf_Page</classname>
40             .
41             <methodname>Zend_Pdf::newPage()</methodname>
42             crea una página que
43             ya está agregada a un documento. Las páginas no agregadas no pueden
44             ser utilizadas con múltiples documentos
45             <acronym>PDF</acronym>
46             , pero son algo más
47             eficientes.
48             <footnote>
49                 <para>Es una limitación de la versión actual de Zend Framework. Será
50                     eliminada en
51                     futuras versiones. Pero las páginas no
52                     agregadas siempre dan mejor resultado (más
53                     óptimo) para
54                     compartir páginas entre los documentos.</para>
55             </footnote>
56         </para>
58         <para>
59             El método
60             <methodname>Zend_Pdf::newPage()</methodname>
61             y el
62             constructor
63             <classname>Zend_Pdf_Page</classname>
64             toman los mismos
65             parámetros que especifican el tamaño de la página. Pueden tomar el
66             tamaño de la página ($x, $y) en puntos (1/72 pulgadas) o una
67             constante predefinida
68             representando un tipo de página:
69             <itemizedlist>
70                 <listitem>
71                     <para>Zend_Pdf_Page::SIZE_A4</para>
72                 </listitem>
73                 <listitem>
74                     <para><constant>Zend_Pdf_Page::SIZE_A4_LANDSCAPE</constant></para>
75                 </listitem>
76                 <listitem>
77                     <para><constant>Zend_Pdf_Page::SIZE_LETTER</constant></para>
78                 </listitem>
79                 <listitem>
80                     <para><constant>Zend_Pdf_Page::SIZE_LETTER_LANDSCAPE</constant></para>
81                 </listitem>
82             </itemizedlist>
83         </para>
85         <para>
86             Las páginas del documento se almacenados en el atributo público
87             <varname>$pages</varname>
88             de la clase
89             <classname>Zend_Pdf</classname>
90             . El atributo posee un array de
91             objetos
92             <classname>Zend_Pdf_Page</classname>
93             y define completamente
94             las instancias y el orden de las páginas. Este array puede
95             manipularse como cualquie otro array
96             <acronym>PHP</acronym>
97             :
98         </para>
100         <example id="zend.pdf.pages.example-1">
101             <title>Administración de Páginas de un Documento PDF</title>
102             <programlisting language="php"><![CDATA[
104 // Invertir el orden de las páginas.
105 $pdf->pages = array_reverse($pdf->pages);
107 // Agregar una nueva página.
108 $pdf->pages[] = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
109 // Agregar una nueva página.
110 $pdf->pages[] = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
112 // Eliminar la página especificada.
113 unset($pdf->pages[$id]);
116 ]]></programlisting>
117         </example>
118     </sect2>
120     <sect2 id="zend.pdf.pages.cloning">
121         <title>Clonado de Páginas</title>
122         <para>
123             La página
124             <acronym>PDF</acronym>
125             existente puede ser clonada creando un nuevo objeto
126             <classname>Zend_Pdf_Page</classname>
127             con una página existente
128             como parámetro:
129         </para>
131         <example id="zend.pdf.pages.example-2">
132             <title>Clonando una Página Existente</title>
133             <programlisting language="php"><![CDATA[
135 // Almacenar la página plantilla en una variable
136 $template = $pdf->pages[$templatePageIndex];
138 // Agregar una nueva página.
139 $page1 = new Zend_Pdf_Page($template);
140 $pdf->pages[] = $page1;
143 // Agregar otra página.
144 $page2 = new Zend_Pdf_Page($template);
145 $pdf->pages[] = $page2;
148 // Eliminar la página fuente de la plantilla de los documentos.
149 unset($pdf->pages[$templatePageIndex]);
152 ]]></programlisting>
153         </example>
155         <para>Es útil si necesita crear varias páginas utilizando una
156             plantilla.</para>
158         <caution>
159             <para>
160                 Importante! La página clonada comparte algunos recursos de
161                 <acronym>PDF</acronym>
162                 con una página plantilla, la que puede ser utilizada sólo en
163                 el mismo documento como
164                 una página plantilla. El documento
165                 modificado pueden guardarse como uno nuevo.
166             </para>
167         </caution>
168     </sect2>
169 </sect1>