Содержание
Существует несколько решений для создания 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');
}
}
Повеселись !