Document pages. Page creation. A abstração da página de um documento PDF é representada pela classe Zend_Pdf_Page. Páginas PDF podem ser carregadas de um PDF existente, ou criadas. Uma nova página pode ser obtida através da criação de um novo objeto Zend_Pdf_Page ou pela chamada ao método Zend_Pdf::newPage(), que retorna um objeto Zend_Pdf_Page. A diferença é que o método Zend_Pdf::newPage() cria uma nova página já anexada ao documento. Isso faz com que, diferentemente das páginas não anexadas, a página criada por este método não possa ser usada em outros documentos PDF. Entretanto, ela tem uma performance um pouco melhor. Esta é uma limitação da versão 1.0 do módulo Zend_Pdf. Esta limitação será eliminada nas versões futuras, mas páginas não anexadas sempre terão um desempenho melhor no compartilhamento de páginas entre diversos documentos. . A escolha sobre qual abordagem utilizar é sua. O método Zend_Pdf::newPage() e o construtor Zend_Pdf_Page recebem o mesmo conjunto de parâmetros de definição do tamanho da página. Os parâmetros são ou o tamanho da página ($x, $y) em pontos (1/72 inch), ou uma constante prédefinida, que é tratada como um 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 As páginas de um documento são armazenadas na variável pública $pages da classe Zend_Pdf. Este atributo é sempre um array de objetos Zend_Pdf_Page. Ele define completamente o conjunto e a ordem das páginas do documento e pode ser manipulado como qualquer array: Gerenciamento de páginas de documentos PDF. pages = array_reverse($pdf->pages); ... // Add new page $pdf->pages[] = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4); // Add new page $pdf->pages[] = $pdf->newPage(Zend_Pdf_Page::SIZE_A4); // Remove specified page. unset($pdf->pages[$id]); ...]]> Clonde de Páginas. Páginas PDF podem ser clonadas através da criação de um novo objeto Zend_Pdf_Page com uma página já existente como parâmetro: Clonando páginas existentes. pages[$templatePageIndex]; ... // Add new page $page1 = new Zend_Pdf_Page($template); $pdf->pages[] = $page1; ... // Add another page $page2 = new Zend_Pdf_Page($template); $pdf->pages[] = $page2; ... // Remove source template page from the documents. unset($pdf->pages[$templatePageIndex]); ...]]> É útil caso você precisa criar diversas páginas usando um template. Importante! Uma página clonada compartilha alguns recursos do PDF com a página template, então ela só pode ser usada no mesmo documento como uma página template. Um documento modificado pode ser salvo como um novo documento.