Пример #1
0
 /**
  * Create and append a new page.
  *
  * @param ezcDocumentPcssStyleInferencer $inferencer
  */
 public function appendPage(ezcDocumentPcssStyleInferencer $inferencer)
 {
     $current = $this->transactions[$this->transaction]->currentPage;
     // Check if the next page already exists
     if (isset($this->pages[$current + 1])) {
         $current = ++$this->transactions[$this->transaction]->currentPage;
         return $this->pages[$current];
     }
     $current = ++$this->transactions[$this->transaction]->currentPage;
     $styles = $inferencer->inferenceFormattingRules(new ezcDocumentPdfPage(0, 0, 0, 0, 0));
     $page = ezcDocumentPdfPage::createFromSpecification($current, $styles['page-size']->value, $styles['page-orientation']->value, $styles['margin']->value, $styles['padding']->value);
     // Store in which transaction the page has been created
     $this->pages[$current] = $page;
     $this->transactions[$this->transaction]->pageCreations[] = $current;
     // Tell driver about new page
     $this->createPage($page->width, $page->height);
     return $page;
 }