Introduction au Zend Framework

 Apprendre Zend Framework

appendix

 Guide de référence Zend Framework


  •  Zend_Gdata
  •  Zend_Http
  •  Zend_InfoCard
  •  Zend_Json
  •  Zend_Layout
  •  Zend_Ldap
  •  Zend_Loader
  •  Zend_Locale
  •  Zend_Log
  •  Zend_Mail
  •  Zend_Markup
  •  Zend_Measure
  •  Zend_Memory
  •  Zend_Mime
  •  Zend_Navigation
  •  Zend_Oauth
  •  Zend_OpenId
  •  Zend_Paginator
  •  Zend_Pdf
  •  Zend_ProgressBar
  •  Zend_Queue
  •  Zend_Reflection
  •  Zend_Registry
  •  Zend_Rest

  •  Zend_Search_Lucene
  •  Zend_Serializer
  •  Zend_Server
  •  Zend_Service
  •  Zend_Session
  •  Zend_Soap
  •  Zend_Tag
  •  Zend_Test
  •  Zend_Text
  •  Zend_TimeSync
  •  Zend_Tool
  •  Zend_Tool_Framework
  •  Zend_Tool_Project
  •  Zend_Translate
  •  Zend_Uri
  •  Zend_Validate
  •  Zend_Version
  •  Zend_View
  •  Zend_Wildfire
  •  Zend_XmlRpc
  • ZendX_Console_Process_Unix
  • ZendX_JQuery
  • Translation 61.2% Update 2010-11-28 - Revision 23149 - Version ZF 1.11.x

    54.4. Les pages d'un document

    54.4.1. Création de page

    Les pages d'un document PDF sont représentés par la classe Zend_Pdf_Page

    Les pages d'un PDF proviennent d'un PDF existant, ou sont créées à partir de rien.

    Une nouvelle page peut-être obtenu en créant un nouvel objet Zend_Pdf_Page ou en appelant la méthode Zend_Pdf::newPage()qui retourne un objet Zend_Pdf_Page. La différence est que la méthode Zend_Pdf::newPage() crée une page directement attachée au document. A la différence des pages non attachées à un document, elle ne peut-être utilisée dans plusieurs documents PDF, mais est un peu plus performante. [10]. C'est à vous de choisir quel approche doit-être utilisée.

    Les méthodes Zend_Pdf::newPage() et Zend_Pdf_Page prennent le même paramètre. C'est la taille de la page ($x, $y) en point (1/72 inch soit 0,352778 mm), ou une constante prédéfinie, qui correspond au format du papier :

    • Zend_Pdf_Page::SIZE_A4

    • Zend_Pdf_Page::SIZE_A4_LANDSCAPE

    • Zend_Pdf_Page::SIZE_LETTER

    • Zend_Pdf_Page::SIZE_LETTER_LANDSCAPE

    Les pages du document sont stockées dans l'attribut public $pages de la classe Zend_Pdf. C'est un tableau d'objet Zend_Pdf_Page. Il définit l'ensemble des pages, ainsi que l'ordre de celle-ci et peut-être manipulé comme un tableau classique :

    Exemple 54.4. Gestion des pages d'un document PDF

    ...
    // Inverse l'ordre des pages
    $pdf->pages array_reverse($pdf->pages);
    ...
    // Ajoute une nouvelle page
    $pdf->pages[] = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
    // Ajoute une nouvelle page
    $pdf->pages[] = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);

    // Retire la page spécifiée
    unset($pdf->pages[$id]);
    ...

    54.4.2. Clonage de page

    Les pages existantes d'un PDF peuvent être clonées en créant un nouvel objet Zend_Pdf_Page avec la page existante comme paramètre :

    Exemple 54.5. Cloner une page existante

    ...
    // Stocke le modèle dans une variable séparée
    $template $pdf->pages[$templatePageIndex];
    ...
    // Ajoute une nouvelle page
    $page1 = new Zend_Pdf_Page($template);
    $pdf->pages[] = $page1;
    ...

    // Ajoute une autre page
    $page2 = new Zend_Pdf_Page($template);
    $pdf->pages[] = $page2;
    ...

    // Enlève la page modèle du document
    unset($pdf->pages[$templatePageIndex]);
    ...

    C'est pratique si plusieurs pages doivent être créées sur le même modèle.

    [Attention] Attention

    Important ! La page clonée partage quelques ressources PDF avec la page modèle, donc ceci doit être utilisé seulement dans le même document qu'une page modèle. Le document modifié peut être sauvegardé comme nouveau document.



    [10] C'est une limitation de la version courante du module Zend_Pdf. Ce sera corrigé dans une future version. Mais les pages non attachées à un document donneront toujours de meilleurs résultats pour partager une page entre plusieurs documents.

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...