sasedev / mpdf-bundle

Mpdf Bundle for Symfony

Home Page:https://sasedev.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Preface alexh-swdev

This is "just" a fork from sasedev/mpdf-bundle. The puporse of this fork is to keep it installable with Symfony up to 6.3 but I will NOT actively maintain it as long as it works for me. Also, I am no "pro" with composer and its versioning stuff. Nevertheless, feel free to use it at your own risk as long as you don't blame me for anything :)

If you choose to use it, adjust your composer.json

(...)
"repositories": [
	{
		"type": "vcs",
		"url": "https://github.com/alexh-swdev/mpdf-bundle.git"
	}
],
(...)
"require" : {
	"sasedev/mpdf-bundle": "dev-master",
	(...)
}
(...)

Sasedev - Mpdf Bundle

Pdf generator for Symfony.

What is it?

This is a Symfony Pdf Factory for use inside a controller to generate a PDF file from twig rendring using MPDF lib.

Installation

Step 1: Download HiddenEntityTypeBundle using composer

$ composer require sasedev/mpdf-bundle

Composer will install the bundle to your project's vendor directory.

Step 2: Enable the bundle

Enable the bundle in the config if flex it did´nt do it for you:

<?php
// config/bundles.php

return [
    // ...
    Sasedev\MpdfBundle\SasedevMpdfBundle::class => ['all' => true],
    // ...
];

Usage

You can use the factory in your controllers just like this:

<?php

use Sasedev\MpdfBundle\Factory\MpdfFactory;

// ...
public function pdf($id, Request $request, MpdfFactory $MpdfFactory) {
// ...
$mPdf = $MpdfFactory->createMpdfObject([
'mode' => 'utf-8',
'format' => 'A4',
'margin_header' => 5,
'margin_footer' => 5,
'orientation' => 'P'
]);
$mPdf->SetTopMargin("50");
$mPdf->SetHTMLHeader($this->renderView('twigfolder/pdf/pdf_header.html.twig', $TwigVars));
$mPdf->SetFooter($this->renderView('twigfolder/pdf/pdf_footer.html.twig', $TwigVars));
$mPdf->WriteHTML($this->renderView('twigfolder/pdf/pdf_content.html.twig', $TwigVars));
return $MpdfFactory->createDownloadResponse($mPdf, "file.pdf");
}
// ...

Reporting an issue or a feature request

Feel free to report any issues. If you have an idea to make it better go ahead and modify and submit pull requests.

About

Mpdf Bundle for Symfony

https://sasedev.net

License:MIT License


Languages

Language:PHP 100.0%