19 declare(strict_types=1);
73 if (is_array($config)) {
75 } elseif ($config instanceof
self) {
86 $this->
setKeyIfExists(
'setExternalLinks',
'external_links', $config);
93 $this->
setKeyIfExists(
'setFooterHtmlSpacing',
'footer_html_spacing', $config);
95 $this->
setKeyIfExists(
'setFooterTextLine',
'footer_text_line', $config);
96 $this->
setKeyIfExists(
'setFooterTextCenter',
'footer_text_center', $config);
97 $this->
setKeyIfExists(
'setFooterTextCenter',
'footer_text_center', $config);
98 $this->
setKeyIfExists(
'setFooterTextSpacing',
'footer_text_spacing', $config);
99 $this->
setKeyIfExists(
'setFooterTextRight',
'footer_text_right', $config);
100 $this->
setKeyIfExists(
'setFooterTextLeft',
'footer_text_left', $config);
102 $this->
setKeyIfExists(
'setHeaderHtmlSpacing',
'head_html_spacing', $config);
103 $this->
setKeyIfExists(
'setHeaderHtmlLine',
'head_html_line', $config);
105 $this->
setKeyIfExists(
'setHeaderTextLine',
'head_text_line', $config);
106 $this->
setKeyIfExists(
'setHeaderTextSpacing',
'head_text_spacing', $config);
107 $this->
setKeyIfExists(
'setHeaderTextRight',
'head_text_right', $config);
108 $this->
setKeyIfExists(
'setHeaderTextCenter',
'head_text_center', $config);
109 $this->
setKeyIfExists(
'setHeaderTextLeft',
'head_text_left', $config);
111 $this->
setKeyIfExists(
'setRadioButtonCheckedSvg',
'radio_button_checked_svg', $config);
112 $this->
setKeyIfExists(
'setRadioButtonSvg',
'radio_button_svg', $config);
113 $this->
setKeyIfExists(
'setCheckboxCheckedSvg',
'checkbox_checked_svg', $config);
115 $this->
setKeyIfExists(
'setJavascriptDelay',
'javascript_delay', $config);
116 $this->
setKeyIfExists(
'setPrintMediaType',
'print_media_type', $config);
118 $this->
setKeyIfExists(
'setMarginBottom',
'margin_bottom', $config);
119 $this->
setKeyIfExists(
'setOverwriteDefaultFont',
'overwrite_font', $config);
130 if (array_key_exists($key, $config)) {
131 $value = $config[
$key];
133 if (is_scalar($value)) {
135 $type = $reflMethod->getParameters()[0]->getType();
136 if (
$type instanceof ReflectionNamedType &&
$type->isBuiltin()) {
137 settype($value,
$type->getName());
140 if ($value != null) {
141 $this->{$function}($value);
510 if ($this->overwrite_default_font !==
'') {
511 return '<style>body{font-family: ' . $this->overwrite_default_font .
';}</style>';
516 if ($this->overwrite_default_font ===
'') {
564 return '/usr/local/bin/wkhtmltopdf';
577 foreach ($this->config as $value) {
609 $this->config[] =
'zoom ' . $this->
getZoom();
616 $this->config[] =
'enable-external-links';
618 $this->config[] =
'disable-external-links';
625 $this->config[] =
'enable-forms';
627 $this->config[] =
'disable-forms';
634 $this->config[] =
'grayscale';
641 $this->config[] =
'lowquality';
648 if ($orientation ===
'' || $orientation ===
'Portrait') {
649 $this->config[] =
'orientation Portrait';
651 $this->config[] =
'orientation Landscape';
658 $this->config[] =
'print-media-type';
679 if ($checkbox_svg !==
'') {
687 if ($checkbox_svg !==
'') {
695 if ($radio_button_svg !==
'') {
703 if ($radio_button_svg !==
'') {
736 $this->config[] =
'header-line';
745 $this->config[] =
'header-line';
792 $this->config[] =
'footer-line';
801 $this->config[] =
'footer-line';
808 if (self::ENABLE_QUIET) {
809 $this->config[] =
'quiet';
815 $this->config[] =
'cookie "PHPSESSID" "' . session_id() .
'"';
816 if (defined(
'CLIENT_ID')) {
817 $this->config[] =
'cookie "ilClientId" "' .
CLIENT_ID .
'"';
825 if ($path !== null && $path !==
'') {
setGreyscale(bool $greyscale)
setKeyIfExists(string $function, string $key, array $config)
readConfigFromArray(array $config)
getPrintMediaTypeArgument()
getRadioButtonSvgArgument()
setFooterHtmlLine(bool $footer_html_line)
setMarginBottom(string $margin_bottom)
setHeaderTextSpacing(int $header_text_spacing)
setFooterTextCenter(string $footer_text_center)
setFooterHtmlSpacing(int $footer_html_spacing)
readConfigFromObject(ilWkhtmlToPdfConfig $config)
setFooterType(int $footer_type)
setHeaderTextCenter(string $header_text_center)
setMarginRight(string $margin_right)
setFooterTextRight(string $footer_text_right)
setJavascriptDelay(int $javascript_delay)
string $footer_text_right
__construct($config=null)
static escapeShellArg(string $a_arg)
setCheckboxCheckedSvg(string $checkbox_checked_svg)
string $header_text_center
string $header_text_right
setPageSize(string $page_size)
generateCommandLineConfig()
string $footer_text_center
getOverwriteDefaultFont(bool $renderStyle=false)
setRadioButtonCheckedSvg(string $radio_button_checked_svg)
setOverwriteDefaultFont(string $overwrite_default_font)
setFooterHtml(string $footer_html)
string $radio_button_checked_svg
setFooterTextLine(bool $footer_text_line)
getRadioButtonCheckedSvgArgument()
setHeaderHtmlSpacing(int $header_html_spacing)
getEnabledFormsArgument()
getRadioButtonCheckedSvg()
setOrientation(string $orientation)
getCheckboxCheckedSvgArgument()
setHeaderTextRight(string $header_text_right)
setFooterTextSpacing(int $footer_text_spacing)
setHeaderType(int $header_type)
getJavascriptDelayArgument()
setRadioButtonSvg(string $radio_button_svg)
setMarginLeft(string $margin_left)
setPrintMediaType(bool $print_media_type)
setHeaderTextLine(bool $header_text_line)
string $overwrite_default_font
setCheckboxSvg(string $checkbox_svg)
getSavedDefaultBinaryPath()
setHeaderHtml(string $header_html)
setHeaderTextLeft(string $header_text_left)
setEnabledForms(?bool $enabled_forms)
string $checkbox_checked_svg
setLowQuality(bool $low_quality)
static supportMultiSourcesFiles()
setMarginTop(string $margin_top)
getExternalLinksArgument()
setExternalLinks(bool $external_links)
setHeaderHtmlLine(bool $header_html_line)
getWKHTMLToPdfDefaultPath()
setFooterTextLeft(string $footer_text_left)