render page to pdf via Dompdf
-
- Сообщения: 536
- Зарегистрирован: 2016.09.05, 23:21
render page to pdf via Dompdf
как проще всего и правильнее отрендерить текущую страницу убран из нее layout в pdf c таким же визуальным отображением? есть ли у кого-то опыт в это деле ?
-
- Сообщения: 50
- Зарегистрирован: 2017.03.06, 15:37
- Откуда: Владивосток
Re: render page to pdf via Dompdf
Есть разные библиотеки, например html2pdf.
Но корректность автоматического преобразования не гарантирует 100% точный результат.
Но корректность автоматического преобразования не гарантирует 100% точный результат.
-
- Сообщения: 536
- Зарегистрирован: 2016.09.05, 23:21
Re: render page to pdf via Dompdf
это понятно, но я хочу туда запихнуть только $content как мне это сделать т.к. стили формируются в layout, сделать специальный layout откуда вырезать все кроме assets ?
- proctoleha
- Сообщения: 298
- Зарегистрирован: 2016.07.10, 19:00
Re: render page to pdf via Dompdf
Именно так - отдельный layout.an.viktory@gmail.com писал(а): ↑2019.03.05, 19:01 это понятно, но я хочу туда запихнуть только $content как мне это сделать т.к. стили формируются в layout, сделать специальный layout откуда вырезать все кроме assets ?
Я ставил отсюда: https://github.com/yii2tech/html2pdf
В конфиге:
Код: Выделить всё
...
'html2pdf' => [
'class' => 'yii2tech\html2pdf\Manager',
'viewPath' => '@app/views/pdf',
'layout' => '@app/views/pdf/layouts/pdf_layout',
'view' => [
'class' => 'app\core\view\PdfView'
],
'converter' => [
'class' => 'yii2tech\html2pdf\converters\Wkhtmltopdf',
'defaultOptions' => [
'pageSize' => 'A4'
],
]
],
...
Код: Выделить всё
\Yii::$app->html2pdf
->render('invoice', ['html' => $html])
->saveAs($file);
Код: Выделить всё
<?php
/* @var $this \yii\web\View */
/* @var $html string */
echo $html;
Код: Выделить всё
<?php
/**
* @var \app\core\view\PdfView $this
* @var string $content
*/
use app\assets\PdfAsset;
use yii\helpers\Html;
if (class_exists('yii\debug\Module')) {
$this->off(\yii\web\View::EVENT_END_BODY, [\yii\debug\Module::getInstance(), 'renderToolbar']);
}
PdfAsset::register($this);
?>
<?php $this->beginPage() ?>
<!DOCTYPE html>
<html lang="<?= Yii::$app->language ?>">
<head>
<meta charset="<?= Yii::$app->charset ?>"/>
<?= Html::csrfMetaTags() ?>
<title><?= Html::encode($this->title) ?></title>
<!-- <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">-->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<? //php $this->head() ?>
</head>
<?php $this->style() ?>
<body>
<?php $this->beginBody() ?>
<?= $content ?>
<?php $this->endBody() ?>
</body>
</html>
<?php $this->endPage() ?>
Вот за что я не люблю линукс, так это за свои кривые, временами, руки