mirror of
https://github.com/PHPOffice/PhpSpreadsheet.git
synced 2026-08-28 19:19:27 +00:00
29c0162e2a
* Let Phpstan Run on Samples Phpstan currently analyzes all source and test members. We already run phpcs and php-cs-fixer on samples as well. I would expect that samples are often used as templates for code in userland; it behooves us to be at least as careful with those members as for the others which are already being analyzed. Aside from 1300+ messages `Variable $helper might not be defined.`, which will be suppressed in phpstan.neon.dist, there are really only a few changes needed for sample members, so that part of the code base was already in good shape, and is now even better. No annotations were needed. * Scrutinizer 2 out of 3 1 false positive, now suppressed; fix other 2. * Remove Dead Code * Very Minor Changes * Add infra
44 lines
1.5 KiB
PHP
44 lines
1.5 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Override to MPDF class to allow setting config options.
|
|
*/
|
|
|
|
namespace PhpOffice\PhpSpreadsheet\Writer\Pdf;
|
|
|
|
class Mpdf2 extends Mpdf
|
|
{
|
|
/**
|
|
* Gets the implementation of external PDF library that should be used.
|
|
* This member extends Mpdf in order to allow specification of
|
|
* non-default configuration variables. In this case,
|
|
* it allows inclusion of a font which would not normally
|
|
* be used by Mpdf (which would instead use a default substitution).
|
|
* Other configuration options may be specified here.
|
|
*
|
|
* @param array $config Configuration array
|
|
*
|
|
* @return \Mpdf\Mpdf implementation
|
|
*/
|
|
protected function createExternalWriterInstance($config)
|
|
{
|
|
$defaultConfig = (new \Mpdf\Config\ConfigVariables())->getDefaults();
|
|
$fontDirs = $defaultConfig['fontDir'];
|
|
$newFontDirectory = __DIR__;
|
|
$config['fontDir'] = array_merge($fontDirs, [$newFontDirectory]);
|
|
|
|
$defaultFontConfig = (new \Mpdf\Config\FontVariables())->getDefaults();
|
|
// Note that Mpdf config uses lower-case fontdata
|
|
// even though it uses camel-case fontDir.
|
|
$fontdata = $defaultFontConfig['fontdata'];
|
|
$fontFile = 'ShadowsIntoLight-Regular.ttf';
|
|
$config['fontdata'] = $fontdata + [ // lowercase letters only in font key
|
|
'shadowsintolight' => [
|
|
'R' => $fontFile,
|
|
],
|
|
];
|
|
|
|
return new \Mpdf\Mpdf($config);
|
|
}
|
|
}
|