icingaweb2/library/vendor/dompdf/include/canvas_factory.cls.php
Matthias Jentsch 124b42c9f1 Remove tcpdf library and use dompdf instead
Remove tcpdf because of improper CSS support and use Dompdf instead, to be able
to generate pdfs that look similar to the html views

refs #4356
2014-02-12 12:11:01 +01:00

60 lines
1.5 KiB
PHP

<?php
/**
* @package dompdf
* @link http://www.dompdf.com/
* @author Benj Carson <benjcarson@digitaljunkies.ca>
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
* @version $Id: canvas_factory.cls.php 448 2011-11-13 13:00:03Z fabien.menager $
*/
/**
* Create canvas instances
*
* The canvas factory creates canvas instances based on the
* availability of rendering backends and config options.
*
* @package dompdf
*/
class Canvas_Factory {
/**
* Constructor is private: this is a static class
*/
private function __construct() { }
/**
* @param string|array $paper
* @param string $orientation
* @param string $class
*
* @return Canvas
*/
static function get_instance($paper = null, $orientation = null, $class = null) {
$backend = strtolower(DOMPDF_PDF_BACKEND);
if ( isset($class) && class_exists($class, false) )
$class .= "_Adapter";
else if ( (DOMPDF_PDF_BACKEND === "auto" || $backend === "pdflib" ) &&
class_exists("PDFLib", false) )
$class = "PDFLib_Adapter";
// FIXME The TCPDF adapter is not ready yet
//else if ( (DOMPDF_PDF_BACKEND === "auto" || $backend === "cpdf") )
// $class = "CPDF_Adapter";
else if ( $backend === "tcpdf")
$class = "TCPDF_Adapter";
else if ( $backend === "gd" )
$class = "GD_Adapter";
else
$class = "CPDF_Adapter";
return new $class($paper, $orientation);
}
}