'portrait' ]; public string $fontName = 'Times New Roman'; public int $fontSize = 10; public function __construct(string $template, array $data, array $options) { $template = "documents.pdf.{$template}"; parent::__construct($template, $data, $options); } public function file(): string { $pdf = PDF::loadView($this->template, $this->data); if ($this->options['orientation'] === 'landscape') $pdf->setPaper('a4', 'landscape'); $filePath = $this->makeFilePath('pdf'); Storage::put($filePath, $pdf->download()->getOriginalContent()); return $filePath; } public function asset(string $name) { return $this->makeAsset($this->file(), $name); } }