PluginProbe
wpDataTables – WordPress Data Table, Dynamic Tables & Table Charts Plugin / 6.5.1.7
wpDataTables – WordPress Data Table, Dynamic Tables & Table Charts Plugin v6.5.1.7
6.5.1.7 6.5.1.6 6.5.1.5 6.5.1.4 6.5.1.3 6.5.1.2 6.5.1.1 6.5.0.9 6.5.0.8 6.5.0.7 6.5.0.6 trunk 3.4.2.40 3.4.2.41 3.4.2.42 3.4.2.43 3.4.2.44 3.4.2.45 3.4.2.46 3.4.2.47 3.4.2.48 3.4.2.49 3.4.2.50 6.3.2 6.3.3.1 All 47 releases
wpdatatables / lib / phpoffice / phpspreadsheet / src / PhpSpreadsheet / Writer / Pdf / Dompdf.php

Dompdf.php in wpDataTables – WordPress Data Table, Dynamic Tables & Table Charts Plugin 6.5.1.7, at lib/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Dompdf.php

61 lines 1.8 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 * embed images, or link to images.
12 *
13 * @var bool
14 */
15 protected $embedImages = true;
16
17 /**
18 * Gets the implementation of external PDF library that should be used.
19 *
20 * @return \Dompdf\Dompdf implementation
21 */
22 protected function createExternalWriterInstance()
23 {
24 return new \Dompdf\Dompdf();
25 }
26
27 /**
28 * Save Spreadsheet to file.
29 *
30 * @param string $filename Name of the file to save as
31 */
32 public function save($filename, int $flags = 0): void
33 {
34 $fileHandle = parent::prepareForSave($filename);
35
36 // Check for paper size and page orientation
37 $setup = $this->spreadsheet->getSheet($this->getSheetIndex() ?? 0)->getPageSetup();
38 $orientation = $this->getOrientation() ?? $setup->getOrientation();
39 $orientation = ($orientation === PageSetup::ORIENTATION_LANDSCAPE) ? 'L' : 'P';
40 $printPaperSize = $this->getPaperSize() ?? $setup->getPaperSize();
41 $paperSize = self::$paperSizes[$printPaperSize] ?? PageSetup::getPaperSizeDefault();
42 if (is_array($paperSize) && count($paperSize) === 2) {
43 $paperSize = [0.0, 0.0, $paperSize[0], $paperSize[1]];
44 }
45
46 $orientation = ($orientation == 'L') ? 'landscape' : 'portrait';
47
48 // Create PDF
49 $pdf = $this->createExternalWriterInstance();
50 $pdf->setPaper($paperSize, $orientation);
51
52 $pdf->loadHtml($this->generateHTMLAll());
53 $pdf->render();
54
55 // Write to file
56 fwrite($fileHandle, $pdf->output() ?? '');
57
58 parent::restoreStateAfterSave();
59 }
60 }
61