ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
mPDF.php
Go to the documentation of this file.
1 <?php
31 if (file_exists($pdfRendererClassFile)) {
32  require_once $pdfRendererClassFile;
33 } else {
34  throw new PHPExcel_Writer_Exception('Unable to load PDF Rendering library');
35 }
36 
45 {
51  public function __construct(PHPExcel $phpExcel)
52  {
53  parent::__construct($phpExcel);
54  }
55 
62  public function save($pFilename = NULL)
63  {
64  $fileHandle = parent::prepareForSave($pFilename);
65 
66  // Default PDF paper size
67  $paperSize = 'LETTER'; // Letter (8.5 in. by 11 in.)
68 
69  // Check for paper size and page orientation
70  if (is_null($this->getSheetIndex())) {
71  $orientation = ($this->_phpExcel->getSheet(0)->getPageSetup()->getOrientation()
73  ? 'L'
74  : 'P';
75  $printPaperSize = $this->_phpExcel->getSheet(0)->getPageSetup()->getPaperSize();
76  $printMargins = $this->_phpExcel->getSheet(0)->getPageMargins();
77  } else {
78  $orientation = ($this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getOrientation()
80  ? 'L'
81  : 'P';
82  $printPaperSize = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getPaperSize();
83  $printMargins = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageMargins();
84  }
85  $this->setOrientation($orientation);
86 
87  // Override Page Orientation
88  if (!is_null($this->getOrientation())) {
91  : $this->getOrientation();
92  }
93  $orientation = strtoupper($orientation);
94 
95  // Override Paper Size
96  if (!is_null($this->getPaperSize())) {
97  $printPaperSize = $this->getPaperSize();
98  }
99 
100  if (isset(self::$_paperSizes[$printPaperSize])) {
101  $paperSize = self::$_paperSizes[$printPaperSize];
102  }
103 
104  // Create PDF
105  $pdf = new mpdf();
106  $ortmp = $orientation;
107  $pdf->_setPageSize(strtoupper($paperSize), $ortmp);
108  $pdf->DefOrientation = $orientation;
109  $pdf->AddPage($orientation);
110 
111  // Document info
112  $pdf->SetTitle($this->_phpExcel->getProperties()->getTitle());
113  $pdf->SetAuthor($this->_phpExcel->getProperties()->getCreator());
114  $pdf->SetSubject($this->_phpExcel->getProperties()->getSubject());
115  $pdf->SetKeywords($this->_phpExcel->getProperties()->getKeywords());
116  $pdf->SetCreator($this->_phpExcel->getProperties()->getCreator());
117 
118  $pdf->WriteHTML(
119  $this->generateHTMLHeader(FALSE) .
120  $this->generateSheetData() .
121  $this->generateHTMLFooter()
122  );
123 
124  // Write to file
125  fwrite($fileHandle, $pdf->Output('', 'S'));
126 
127  parent::restoreStateAfterSave($fileHandle);
128  }
129 
130 }
__construct(PHPExcel $phpExcel)
Create a new PHPExcel_Writer_PDF.
Definition: mPDF.php:51
static getPdfRendererPath()
Return the directory path to the PDF Rendering Library that PHPExcel is currently configured to use...
Definition: Settings.php:354
getOrientation()
Get Orientation.
Definition: Core.php:278
$pdf
Definition: example_001.php:31
generateHTMLHeader($pIncludeStyles=false)
Generate HTML header.
Definition: HTML.php:305
getSheetIndex()
Get sheet index.
Definition: HTML.php:255
$pdfRendererClassFile
Require mPDF library.
Definition: mPDF.php:30
getPaperSize()
Get Paper Size.
Definition: Core.php:256
setOrientation($pValue=PHPExcel_Worksheet_PageSetup::ORIENTATION_DEFAULT)
Set Orientation.
Definition: Core.php:289
save($pFilename=NULL)
Save PHPExcel to file.
Definition: mPDF.php:62
generateSheetData()
Generate sheet data.
Definition: HTML.php:356
generateHTMLFooter()
Generate HTML footer.
Definition: HTML.php:1004