public function DomPdf::__construct in Entity Print 8.2
Constructs a \Drupal\Component\Plugin\PluginBase object.
Parameters
array $configuration: A configuration array containing information about the plugin instance.
string $plugin_id: The plugin_id for the plugin instance.
mixed $plugin_definition: The plugin implementation definition.
Overrides PrintEngineBase::__construct
File
- src/
Plugin/ EntityPrint/ PrintEngine/ DomPdf.php, line 64
Class
- DomPdf
- A Entity Print plugin for the DomPdf library.
Namespace
Drupal\entity_print\Plugin\EntityPrint\PrintEngineCode
public function __construct(array $configuration, $plugin_id, $plugin_definition, ExportTypeInterface $export_type, Request $request) {
parent::__construct($configuration, $plugin_id, $plugin_definition, $export_type);
$this->dompdfOptions = new DompdfLibOptions($this->configuration);
$this->dompdfOptions
->setTempDir(\Drupal::service('file_system')
->getTempDirectory());
$this->dompdfOptions
->setFontCache(\Drupal::service('file_system')
->getTempDirectory());
$this->dompdfOptions
->setFontDir(\Drupal::service('file_system')
->getTempDirectory());
$this->dompdfOptions
->setLogOutputFile(\Drupal::service('file_system')
->getTempDirectory() . DIRECTORY_SEPARATOR . self::LOG_FILE_NAME);
$this->dompdfOptions
->setIsRemoteEnabled($this->configuration['enable_remote']);
$this->dompdf = new DompdfLib($this->dompdfOptions);
if ($this->configuration['disable_log']) {
$this->dompdfOptions
->setLogOutputFile('');
}
$this->dompdf
->setBaseHost($request
->getHttpHost())
->setProtocol($request
->getScheme() . '://');
$this
->setupHttpContext();
}