public function __construct($config = [])
{
$config = array_merge((array) Configure::read('CakePdf'), $config);
if (!empty($config['engine'])) {
$this->engine($config['engine']);
}
if (!empty($config['crypto'])) {
$this->crypto($config['crypto']);
}
$options = ['pageSize', 'orientation', 'margin', 'title', 'encoding', 'protect', 'userPassword', 'ownerPassword', 'permissions', 'cache', 'delay', 'windowStatus'];
foreach ($options as $option) {
if (isset($config[$option])) {
$this->{$option}($config[$option]);
}
}
}