SwiftMailer вложение pdf генерируется Dompdf динамически - PullRequest
0 голосов
/ 31 марта 2020

Сначала для любой помощи :)

Я работаю на Symfony 4.4 Framework и у меня есть контроллер генерирует PDF и отправляет его по почте, но я хочу отправить PDF непосредственно на контроллере, а не на складе файла в системе отправьте его и удалите.

            $pdf = new Dompdf( $pdfOptions );
            $html = $this->render('recommendations/synthesePdf.html.twig', [
                'products' => $products,
                'recommendations' => $recommendations,
                'customer' => $customer,
                'cultureTotal' => $cultureTotal
            ]);
            $pdf->loadHtml( $html->getContent() );
            $pdf->setPaper('A4', 'portrait');
            $pdf->render();

            //-- SEND PDF TO USER
            $message = (new \Swift_Message('Nouvelle recommendation disponible'))
                ->setFrom('send@example.com')
                //->setTo( $customer->getEmail() )
                ->setTo( '***' )
                ->setBody(
                    $this->renderView(
                        'emails/recommendation.html.twig', [
                            'identity' => $customer->getIdentity()
                        ]
                    ),
                    'text/html'
                )
                ->attach( \Swift_Attachment::fromPath( $pdf->output() ) )
            ;
            $mailer->send($message);

Привет, используйте $ pdf-> output / $ pdf-> get Html, но он не работает, если у вас есть предложения :)

Thx

1 Ответ

0 голосов
/ 02 апреля 2020

Вы можете использовать компонент файловой системы Symfony Like =>

  1. Установка

    composer require symfony/filesystem

  2. Использование

    use Symfony\Component\Filesystem\Filesystem;
    
    $filesystem = new Filesystem();
    
  3. Удалить файлы

    $filesystem->remove(['/path/to/file']);
    

В вашем случае вы можете сохранить файл PDF, затем отправить его, и если письмо отправил вам удалить файл

Do c: Компонент файловой системы

...