getOptions()->getPdfBackend()); if (isset($class) && class_exists($class, false)) { $class .= "_Adapter"; } else { if (($backend === "auto" || $backend === "pdflib") && class_exists("PDFLib", false) ) { $class = "Dompdf\\Adapter\\PDFLib"; } else { if (class_exists($backend, false)) { $class = $backend; } elseif ($backend === "gd" && extension_loaded('gd')) { $class = "Dompdf\\Adapter\\GD"; } else { $class = "Dompdf\\Adapter\\CPDF"; } } } $instance = new $class($paper, $orientation, $dompdf); $class_interfaces = class_implements($class, false); if (!$class_interfaces || !in_array("Dompdf\\Canvas", $class_interfaces)) { $class = "Dompdf\\Adapter\\CPDF"; $instance = new $class($paper, $orientation, $dompdf); } return $instance; } }