Как создать PDF из HTML с TCPDF в laravel

Существует несколько решений для создания PDF-файлов в laravel, DOMPDF, Snappy и т. Д. В этом случае мы научим вас создавать PDF-файлы с использованием TCPDF.

В настоящее время TCPDF является одним из самых активных проектов с открытым исходным кодом в мире, ежедневно используемым миллионами пользователей и включенным в тысячи CMS и веб-приложений.

TCPDF не требует ничего другого в качестве своей кодовой базы. Он не использует никакого исполняемого файла и является первым вариантом для многих разработчиков, поскольку он прост в использовании.

Требования

Чтобы использовать TCPDF в Laravel, мы собираемся включить пакет tcpdf-laravel в наш проект. Вы можете добавить пакет в ваш проект, добавив следующую строку в ваш файл composer.json:

{
"require": {
"elibyy/tcpdf-laravel": "5.2.*"
}
}

Или используйте напрямую composer в консоли:

composer require elibyy/tcpdf-laravel

Установка займет некоторое время, так как библиотека TCPDF большая.

Реализация

Теперь, когда библиотека включена в ваш проект, вам нужно включить ее у поставщика услуг.

Перейти к вашей app.php файл (yourapp/config/app.php) и добавьте поставщика услуг Laravel TCPDF:

'providers' => [
//...
Elibyy\TCPDF\ServiceProvider::class,
]

Теперь вы сможете использовать TCPDF в своем проекте.

Использование TCPDF с псевдонимом

Вы можете определить псевдоним (как хотите) для TCPDF, чтобы предотвратить прямое объявление нового элемента класса и использовать синтаксис TCPDF :: Method без создания экземпляров.

Перейти к вашей app.php файл (yourapp/config/app.php) и добавьте псевдоним для класса:

'aliases' => [
//...
'PDF' => Elibyy\TCPDF\Facades\TCPDF::class
]

Теперь у TCPDF есть псевдоним PDF, и вы сможете создавать PDF в вашем контроллере, используя:

И теперь вы можете создавать удивительные PDF из HTML, используя TCPDF.

Замечания: поскольку вы не создаете новый экземпляр класса TCPDF при использовании псевдонима, если вы хотите создать несколько PDF-файлов, вам нужно использовать метод сброса для создания нового.

Для создания нескольких PDF-файлов используйте PDF::reset метод для работы с новым экземпляром PDF:

Использование TCPDF без псевдонима

Без псевдонима нам нужно объявить экземпляр класса TCPDF, просто добавив оператор использования в Elibyy\TCPDF\Facades\TCPDF класс в верхней части вашего контроллера.

рекомендации

Рекомендуется обрабатывать содержимое HTML в представлении, а не манипулировать им вручную в контроллере.

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

render();
$pdf = new TCPDF();
$pdf::SetTitle('Hello World');
$pdf::AddPage();
$pdf::writeHTML($html, true, false, true, false, '');
$pdf::Output('hello_world.pdf');
}
}

Повеселись !

Ссылка на основную публикацию
Adblock
detector