Trabajando con Páginas
Creación de Páginas
Las páginas en un documento PDF están representadas como
instancias Zend_Pdf_Page en
Zend_Pdf.
Las páginas PDF o bien son cargadas desde una PDF ya existente o
creadas usando la API
Zend_Pdf.
Se pueden crear nuevas páginas instanciando directamente al
objeto Zend_Pdf_Page o llamando al método
Zend_Pdf::newPage(), que devuelve un
objeto Zend_Pdf_Page.
Zend_Pdf::newPage() 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.
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.
El método Zend_Pdf::newPage() y el
constructor Zend_Pdf_Page 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:
Zend_Pdf_Page::SIZE_A4
Zend_Pdf_Page::SIZE_A4_LANDSCAPE
Zend_Pdf_Page::SIZE_LETTER
Zend_Pdf_Page::SIZE_LETTER_LANDSCAPE
Las páginas del documento se almacenados en el atributo público
$pages de la clase
Zend_Pdf. El atributo posee un array de
objetos Zend_Pdf_Page y define completamente
las instancias y el orden de las páginas. Este array puede
manipularse como cualquie otro array PHP:
Administración de Páginas de un Documento 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]);
...
]]>
Clonado de Páfinas.
La página PDF existente puede ser clonada creando un nuevo objeto
Zend_Pdf_Page con una página existente
como parámetro:
Clonando una Página Existente.
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]);
...
]]>
Es útil si necesita crear varias páginas utilizando una
plantilla.
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.