mirror of
https://github.com/retailcrm/PHPExcel.git
synced 2024-11-26 23:36:03 +03:00
Configuration options for Chart and PDF rendering, in preparation for chart handling and making the PDF writer confugrable via a choice of 3rd party external libraries
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@85115 2327b42d-5241-43d6-9e2a-de5ac946f064
This commit is contained in:
parent
438bc9da60
commit
0b515ff07d
@ -2,7 +2,7 @@
|
|||||||
/**
|
/**
|
||||||
* PHPExcel
|
* PHPExcel
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006 - 2011 PHPExcel
|
* Copyright (c) 2006 - 2012 PHPExcel
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
@ -20,7 +20,7 @@
|
|||||||
*
|
*
|
||||||
* @category PHPExcel
|
* @category PHPExcel
|
||||||
* @package PHPExcel_Settings
|
* @package PHPExcel_Settings
|
||||||
* @copyright Copyright (c) 2006 - 2011 PHPExcel (http://www.codeplex.com/PHPExcel)
|
* @copyright Copyright (c) 2006 - 2012 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||||
* @version ##VERSION##, ##DATE##
|
* @version ##VERSION##, ##DATE##
|
||||||
*/
|
*/
|
||||||
@ -38,12 +38,32 @@ if (!defined('PHPEXCEL_ROOT')) {
|
|||||||
class PHPExcel_Settings
|
class PHPExcel_Settings
|
||||||
{
|
{
|
||||||
/** constants */
|
/** constants */
|
||||||
|
/** Available Zip library classes */
|
||||||
const PCLZIP = 'PHPExcel_Shared_ZipArchive';
|
const PCLZIP = 'PHPExcel_Shared_ZipArchive';
|
||||||
const ZIPARCHIVE = 'ZipArchive';
|
const ZIPARCHIVE = 'ZipArchive';
|
||||||
|
|
||||||
|
/** Optional Chart Rendering libraries */
|
||||||
|
const CHART_RENDERER_JPGRAPH = 'jpgraph';
|
||||||
|
|
||||||
|
/** Optional PDF Rendering libraries */
|
||||||
|
const PDF_RENDERER_TCPDF = 'tcpdf';
|
||||||
|
const PDF_RENDERER_DOMPDF = 'dompdf';
|
||||||
|
const PDF_RENDERER_MPDF = 'mpdf';
|
||||||
|
|
||||||
|
|
||||||
|
private static $_chartRenderers = array(
|
||||||
|
self::CHART_RENDERER_JPGRAPH,
|
||||||
|
);
|
||||||
|
|
||||||
|
private static $_pdfRenderers = array(
|
||||||
|
self::PDF_RENDERER_TCPDF,
|
||||||
|
self::PDF_RENDERER_DOMPDF,
|
||||||
|
self::PDF_RENDERER_MPDF,
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reference to the class used for Zip file management
|
* Name of the class used for Zip file management
|
||||||
* e.g.
|
* e.g.
|
||||||
* ZipArchive
|
* ZipArchive
|
||||||
*
|
*
|
||||||
@ -53,48 +73,254 @@ class PHPExcel_Settings
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the Zip Class to use (PCLZip or ZipArchive)
|
* Name of the external Library used for rendering charts
|
||||||
|
* e.g.
|
||||||
|
* jpgraph
|
||||||
*
|
*
|
||||||
* @param string $zipClass PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive
|
* @var string
|
||||||
|
*/
|
||||||
|
private static $_chartRendererName = NULL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Directory Path to the external Library used for rendering charts
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private static $_chartRendererPath = NULL;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Name of the external Library used for rendering PDF files
|
||||||
|
* e.g.
|
||||||
|
* mPDF
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private static $_pdfRendererName = NULL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Directory Path to the external Library used for rendering PDF files
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private static $_pdfRendererPath = NULL;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the Zip handler Class that PHPExcel should use for Zip file management (PCLZip or ZipArchive)
|
||||||
|
*
|
||||||
|
* @param string $zipClass The Zip handler class that PHPExcel should use for Zip file management
|
||||||
|
* e.g. PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive
|
||||||
* @return boolean Success or failure
|
* @return boolean Success or failure
|
||||||
*/
|
*/
|
||||||
public static function setZipClass($zipClass) {
|
public static function setZipClass($zipClass) {
|
||||||
if (($zipClass == self::PCLZIP) ||
|
if (($zipClass === self::PCLZIP) ||
|
||||||
($zipClass == self::ZIPARCHIVE)) {
|
($zipClass === self::ZIPARCHIVE)) {
|
||||||
self::$_zipClass = $zipClass;
|
self::$_zipClass = $zipClass;
|
||||||
return True;
|
return TRUE;
|
||||||
}
|
}
|
||||||
return False;
|
return FALSE;
|
||||||
} // function setZipClass()
|
} // function setZipClass()
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the Zip Class to use (PCLZip or ZipArchive)
|
* Return the name of the Zip handler Class that PHPExcel is configured to use (PCLZip or ZipArchive)
|
||||||
|
* for Zip file management
|
||||||
*
|
*
|
||||||
* @return string Zip Class to use - PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive
|
* @return string Name of the Zip handler Class that PHPExcel is configured to use
|
||||||
|
* for Zip file management
|
||||||
|
* e.g. PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive
|
||||||
*/
|
*/
|
||||||
public static function getZipClass() {
|
public static function getZipClass() {
|
||||||
return self::$_zipClass;
|
return self::$_zipClass;
|
||||||
} // function getZipClass()
|
} // function getZipClass()
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the name of the method that is currently configured for cell cacheing
|
||||||
|
*
|
||||||
|
* @return string Name of the cacheing method
|
||||||
|
*/
|
||||||
public static function getCacheStorageMethod() {
|
public static function getCacheStorageMethod() {
|
||||||
return PHPExcel_CachedObjectStorageFactory::$_cacheStorageMethod;
|
return PHPExcel_CachedObjectStorageFactory::$_cacheStorageMethod;
|
||||||
} // function getCacheStorageMethod()
|
} // function getCacheStorageMethod()
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the name of the class that is currently being used for cell cacheing
|
||||||
|
*
|
||||||
|
* @return string Name of the class currently being used for cacheing
|
||||||
|
*/
|
||||||
public static function getCacheStorageClass() {
|
public static function getCacheStorageClass() {
|
||||||
return PHPExcel_CachedObjectStorageFactory::$_cacheStorageClass;
|
return PHPExcel_CachedObjectStorageFactory::$_cacheStorageClass;
|
||||||
} // function getCacheStorageClass()
|
} // function getCacheStorageClass()
|
||||||
|
|
||||||
|
|
||||||
public static function setCacheStorageMethod($method = PHPExcel_CachedObjectStorageFactory::cache_in_memory, $arguments = array()) {
|
/**
|
||||||
|
* Set the method that should be used for cell cacheing
|
||||||
|
*
|
||||||
|
* @param string $method Name of the cacheing method
|
||||||
|
* @param array $arguments Optional configuration arguments for the cacheing method
|
||||||
|
* @return boolean Success or failure
|
||||||
|
*/
|
||||||
|
public static function setCacheStorageMethod($method = PHPExcel_CachedObjectStorageFactory::cache_in_memory,
|
||||||
|
$arguments = array()) {
|
||||||
return PHPExcel_CachedObjectStorageFactory::initialize($method, $arguments);
|
return PHPExcel_CachedObjectStorageFactory::initialize($method, $arguments);
|
||||||
} // function setCacheStorageMethod()
|
} // function setCacheStorageMethod()
|
||||||
|
|
||||||
|
|
||||||
public static function setLocale($locale){
|
/**
|
||||||
|
* Set the locale code to use for formula translations and any special formatting
|
||||||
|
*
|
||||||
|
* @param string $locale The locale code to use (e.g. "fr" or "pt_br" or "en_uk")
|
||||||
|
* @return boolean Success or failure
|
||||||
|
*/
|
||||||
|
public static function setLocale($locale='en_us') {
|
||||||
return PHPExcel_Calculation::getInstance()->setLocale($locale);
|
return PHPExcel_Calculation::getInstance()->setLocale($locale);
|
||||||
} // function setLocale()
|
} // function setLocale()
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set details of the external library that PHPExcel should use for rendering charts
|
||||||
|
*
|
||||||
|
* @param string $libraryName Internal reference name of the library
|
||||||
|
* e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH
|
||||||
|
* @param string $libraryBaseDir Directory path to the library's base folder
|
||||||
|
* @return boolean Success or failure
|
||||||
|
*/
|
||||||
|
public static function setChartRenderer($libraryName, $libraryBaseDir) {
|
||||||
|
if (!self::setChartRendererName($libraryName))
|
||||||
|
return FALSE;
|
||||||
|
return self::setChartRendererPath($libraryBaseDir);
|
||||||
|
} // function setChartRenderer()
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Identify to PHPExcel the external library to use for rendering charts
|
||||||
|
*
|
||||||
|
* @param string $libraryName Internal reference name of the library
|
||||||
|
* e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH
|
||||||
|
* @return boolean Success or failure
|
||||||
|
*/
|
||||||
|
public static function setChartRendererName($libraryName) {
|
||||||
|
if (!in_array($libraryName,self::$_chartRenderers)) {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
self::$_chartRendererName = $libraryName;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
} // function setChartRendererName()
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tell PHPExcel where to find the external library to use for rendering charts
|
||||||
|
*
|
||||||
|
* @param string $libraryBaseDir Directory path to the library's base folder
|
||||||
|
* @return boolean Success or failure
|
||||||
|
*/
|
||||||
|
public static function setChartRendererPath($libraryBaseDir) {
|
||||||
|
self::$_chartRendererPath = $libraryBaseDir;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
} // function setChartRendererPath()
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the Chart Rendering Library that PHPExcel is currently configured to use (e.g. jpgraph)
|
||||||
|
*
|
||||||
|
* @return string Internal reference name of the Chart Rendering Library that PHPExcel is
|
||||||
|
* currently configured to use
|
||||||
|
* e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH
|
||||||
|
*/
|
||||||
|
public static function getChartRendererName() {
|
||||||
|
return self::$_chartRendererName;
|
||||||
|
} // function getChartRendererName()
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the directory path to the Chart Rendering Library that PHPExcel is currently configured to use
|
||||||
|
*
|
||||||
|
* @return string Directory Path to the Chart Rendering Library that PHPExcel is
|
||||||
|
* currently configured to use
|
||||||
|
*/
|
||||||
|
public static function getChartRendererPath() {
|
||||||
|
return self::$_chartRendererPath;
|
||||||
|
} // function getChartRendererPath()
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set details of the external library that PHPExcel should use for rendering PDF files
|
||||||
|
*
|
||||||
|
* @param string $libraryName Internal reference name of the library
|
||||||
|
* e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF,
|
||||||
|
* PHPExcel_Settings::PDF_RENDERER_DOMPDF
|
||||||
|
* or PHPExcel_Settings::PDF_RENDERER_MPDF
|
||||||
|
* @param string $libraryBaseDir Directory path to the library's base folder
|
||||||
|
* @return boolean Success or failure
|
||||||
|
*/
|
||||||
|
public static function setPdfRenderer($libraryName, $libraryBaseDir) {
|
||||||
|
if (!self::setPdfRendererName($libraryName))
|
||||||
|
return FALSE;
|
||||||
|
return self::setPdfRendererPath($libraryBaseDir);
|
||||||
|
} // function setPdfRenderer()
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Identify to PHPExcel the external library to use for rendering PDF files
|
||||||
|
*
|
||||||
|
* @param string $libraryName Internal reference name of the library
|
||||||
|
* e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF,
|
||||||
|
* PHPExcel_Settings::PDF_RENDERER_DOMPDF
|
||||||
|
* or PHPExcel_Settings::PDF_RENDERER_MPDF
|
||||||
|
* @return boolean Success or failure
|
||||||
|
*/
|
||||||
|
public static function setPdfRendererName($libraryName) {
|
||||||
|
if (!in_array($libraryName,self::$_pdfRenderers)) {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
self::$_pdfRendererName = $libraryName;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
} // function setPdfRendererName()
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tell PHPExcel where to find the external library to use for rendering PDF files
|
||||||
|
*
|
||||||
|
* @param string $libraryBaseDir Directory path to the library's base folder
|
||||||
|
* @return boolean Success or failure
|
||||||
|
*/
|
||||||
|
public static function setPdfRendererPath($libraryBaseDir) {
|
||||||
|
self::$_pdfRendererPath = $libraryBaseDir;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
} // function setPdfRendererPath()
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the PDF Rendering Library that PHPExcel is currently configured to use (e.g. dompdf)
|
||||||
|
*
|
||||||
|
* @return string Internal reference name of the PDF Rendering Library that PHPExcel is
|
||||||
|
* currently configured to use
|
||||||
|
* e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF,
|
||||||
|
* PHPExcel_Settings::PDF_RENDERER_DOMPDF
|
||||||
|
* or PHPExcel_Settings::PDF_RENDERER_MPDF
|
||||||
|
*/
|
||||||
|
public static function getPdfRendererName() {
|
||||||
|
return self::$_pdfRendererName;
|
||||||
|
} // function getPdfRendererName()
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the directory path to the PDF Rendering Library that PHPExcel is currently configured to use
|
||||||
|
*
|
||||||
|
* @return string Directory Path to the PDF Rendering Library that PHPExcel is
|
||||||
|
* currently configured to use
|
||||||
|
*/
|
||||||
|
public static function getPdfRendererPath() {
|
||||||
|
return self::$_pdfRendererPath;
|
||||||
|
} // function getPdfRendererPath()
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user