PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.7.1
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.7.1
4.0.8 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 All 149 releases
visualizer / vendor / phpoffice / phpspreadsheet / src / PhpSpreadsheet / Writer / Pdf / Dompdf.php

Dompdf.php in Visualizer – Tables & Charts Manager with Built-in AI Generator 3.7.1, at vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Dompdf.php

79 lines 2.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace PhpOffice\PhpSpreadsheet\Writer\Pdf;
4
5 use PhpOffice\PhpSpreadsheet\Worksheet\PageSetup;
6 use PhpOffice\PhpSpreadsheet\Writer\Pdf;
7
8 class Dompdf extends Pdf
9 {
10 /**
11 * Gets the implementation of external PDF library that should be used.
12 *
13 * @return \Dompdf\Dompdf implementation
14 */
15 protected function createExternalWriterInstance()
16 {
17 return new \Dompdf\Dompdf();
18 }
19
20 /**
21 * Save Spreadsheet to file.
22 *
23 * @param string $pFilename Name of the file to save as
24 *
25 * @throws \PhpOffice\PhpSpreadsheet\Writer\Exception
26 */
27 public function save($pFilename)
28 {
29 $fileHandle = parent::prepareForSave($pFilename);
30
31 // Default PDF paper size
32 $paperSize = 'LETTER'; // Letter (8.5 in. by 11 in.)
33
34 // Check for paper size and page orientation
35 if ($this->getSheetIndex() === null) {
36 $orientation = ($this->spreadsheet->getSheet(0)->getPageSetup()->getOrientation()
37 == PageSetup::ORIENTATION_LANDSCAPE) ? 'L' : 'P';
38 $printPaperSize = $this->spreadsheet->getSheet(0)->getPageSetup()->getPaperSize();
39 } else {
40 $orientation = ($this->spreadsheet->getSheet($this->getSheetIndex())->getPageSetup()->getOrientation()
41 == PageSetup::ORIENTATION_LANDSCAPE) ? 'L' : 'P';
42 $printPaperSize = $this->spreadsheet->getSheet($this->getSheetIndex())->getPageSetup()->getPaperSize();
43 }
44
45 $orientation = ($orientation == 'L') ? 'landscape' : 'portrait';
46
47 // Override Page Orientation
48 if ($this->getOrientation() !== null) {
49 $orientation = ($this->getOrientation() == PageSetup::ORIENTATION_DEFAULT)
50 ? PageSetup::ORIENTATION_PORTRAIT
51 : $this->getOrientation();
52 }
53 // Override Paper Size
54 if ($this->getPaperSize() !== null) {
55 $printPaperSize = $this->getPaperSize();
56 }
57
58 if (isset(self::$paperSizes[$printPaperSize])) {
59 $paperSize = self::$paperSizes[$printPaperSize];
60 }
61
62 // Create PDF
63 $pdf = $this->createExternalWriterInstance();
64 $pdf->setPaper(strtolower($paperSize), $orientation);
65
66 $pdf->loadHtml(
67 $this->generateHTMLHeader(false) .
68 $this->generateSheetData() .
69 $this->generateHTMLFooter()
70 );
71 $pdf->render();
72
73 // Write to file
74 fwrite($fileHandle, $pdf->output());
75
76 parent::restoreStateAfterSave($fileHandle);
77 }
78 }
79