Bladeren bron

Création PdfGenerator

feature/symfony6.1
Guillaume 2 jaren geleden
bovenliggende
commit
f3a670ab09
2 gewijzigde bestanden met toevoegingen van 38 en 0 verwijderingen
  1. +7
    -0
      Controller/ControllerTrait.php
  2. +31
    -0
      Generator/PdfGenerator.php

+ 7
- 0
Controller/ControllerTrait.php Bestand weergeven

use Lc\SovBundle\Container\User\GroupUserContainer; use Lc\SovBundle\Container\User\GroupUserContainer;
use Lc\SovBundle\Container\User\UserContainer; use Lc\SovBundle\Container\User\UserContainer;
use Lc\SovBundle\Field\Filter\FilterManager; use Lc\SovBundle\Field\Filter\FilterManager;
use Lc\SovBundle\Generator\PdfGenerator;
use Lc\SovBundle\Repository\EntityRepository; use Lc\SovBundle\Repository\EntityRepository;
use Lc\SovBundle\Solver\Setting\SettingSolver; use Lc\SovBundle\Solver\Setting\SettingSolver;
use Lc\SovBundle\Translation\FlashBagTranslator; use Lc\SovBundle\Translation\FlashBagTranslator;
LoggerInterface::class => LoggerInterface::class, LoggerInterface::class => LoggerInterface::class,
ParameterBagInterface::class => ParameterBagInterface::class, ParameterBagInterface::class => ParameterBagInterface::class,
TranslatorInterface::class => TranslatorInterface::class, TranslatorInterface::class => TranslatorInterface::class,
PdfGenerator::class => PdfGenerator::class,
TranslatorAdmin::class => TranslatorAdmin::class, TranslatorAdmin::class => TranslatorAdmin::class,
FilterManager::class => FilterManager::class, FilterManager::class => FilterManager::class,
FlashBagTranslator::class => FlashBagTranslator::class, FlashBagTranslator::class => FlashBagTranslator::class,
return $this->get(TranslatorInterface::class); return $this->get(TranslatorInterface::class);
} }


public function getPdfGenerator(): PdfGenerator
{
return $this->get(PdfGenerator::class);
}

public function getTranslatorAdmin(): TranslatorAdmin public function getTranslatorAdmin(): TranslatorAdmin
{ {
return $this->get(TranslatorAdmin::class); return $this->get(TranslatorAdmin::class);

+ 31
- 0
Generator/PdfGenerator.php Bestand weergeven

<?php

namespace Lc\SovBundle\Generator;

use Dompdf\Dompdf;
use Dompdf\Options;
use Twig\Environment;

class PdfGenerator
{
protected Environment $templating;

public function __construct(Environment $templating)
{
$this->templating = $templating;
}

public function render($filename, $view, $viewParams)
{
$pdfOptions = new Options();
$pdfOptions->set('defaultFont', 'Arial');
$dompdf = new Dompdf($pdfOptions);
$html = $this->templating->render($view, $viewParams);
$dompdf->loadHtml($html);
$dompdf->setPaper('A4', 'portrait');
$dompdf->render();
$dompdf->stream($filename, [
"Attachment" => true
]);
}
}

Laden…
Annuleren
Opslaan