[ Index ] |
PHP Cross Reference of moodle-2.8 |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * PHPExcel 4 * 5 * Copyright (c) 2006 - 2014 PHPExcel 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public 9 * License as published by the Free Software Foundation; either 10 * version 2.1 of the License, or (at your option) any later version. 11 * 12 * This library is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License for more details. 16 * 17 * You should have received a copy of the GNU Lesser General Public 18 * License along with this library; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 * 21 * @category PHPExcel 22 * @package PHPExcel_Writer_PDF 23 * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) 24 * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 25 * @version ##VERSION##, ##DATE## 26 */ 27 28 29 /** Require DomPDF library */ 30 $pdfRendererClassFile = PHPExcel_Settings::getPdfRendererPath() . '/dompdf_config.inc.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 37 /** 38 * PHPExcel_Writer_PDF_DomPDF 39 * 40 * @category PHPExcel 41 * @package PHPExcel_Writer_PDF 42 * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) 43 */ 44 class PHPExcel_Writer_PDF_DomPDF extends PHPExcel_Writer_PDF_Core implements PHPExcel_Writer_IWriter 45 { 46 /** 47 * Create a new PHPExcel_Writer_PDF 48 * 49 * @param PHPExcel $phpExcel PHPExcel object 50 */ 51 public function __construct(PHPExcel $phpExcel) 52 { 53 parent::__construct($phpExcel); 54 } 55 56 /** 57 * Save PHPExcel to file 58 * 59 * @param string $pFilename Name of the file to save as 60 * @throws PHPExcel_Writer_Exception 61 */ 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() 72 == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) 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() 79 == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) 80 ? 'L' 81 : 'P'; 82 $printPaperSize = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getPaperSize(); 83 $printMargins = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageMargins(); 84 } 85 86 // Override Page Orientation 87 if (!is_null($this->getOrientation())) { 88 $orientation = ($this->getOrientation() == PHPExcel_Worksheet_PageSetup::ORIENTATION_DEFAULT) 89 ? PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT 90 : $this->getOrientation(); 91 } 92 // Override Paper Size 93 if (!is_null($this->getPaperSize())) { 94 $printPaperSize = $this->getPaperSize(); 95 } 96 97 if (isset(self::$_paperSizes[$printPaperSize])) { 98 $paperSize = self::$_paperSizes[$printPaperSize]; 99 } 100 101 $orientation = ($orientation == 'L') ? 'landscape' : 'portrait'; 102 103 // Create PDF 104 $pdf = new DOMPDF(); 105 $pdf->set_paper(strtolower($paperSize), $orientation); 106 107 $pdf->load_html( 108 $this->generateHTMLHeader(FALSE) . 109 $this->generateSheetData() . 110 $this->generateHTMLFooter() 111 ); 112 $pdf->render(); 113 114 // Write to file 115 fwrite($fileHandle, $pdf->output()); 116 117 parent::restoreStateAfterSave($fileHandle); 118 } 119 120 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:29:05 2014 | Cross-referenced by PHPXref 0.7.1 |