Как видно из заголовка, я не могу визуализировать нижний колонтитул и верхний колонтитул с помощью knp_snappy.pdf, я видел несколько примеров, и ни один из них не работал для меня, я получаю PDF, но не нижний колонтитул и верхний колонтитул, я не знаю,проблема конфигурации или что-то еще, эта ссылка ниже работает, но другие, но не в моем коде. Я использую symfony 3.4, "knplabs / knp-snappy-bundle": "^ 1.5" и wkhtmltopdf-0.12.2.4
Примеры:
https://github.com/KnpLabs/KnpSnappyBundle/issues/195
https://github.com/KnpLabs/KnpSnappyBundle/issues/154
Это мой код:
config.yml
knp_snappy:
pdf:
enabled: true
binary: /usr/bin/xvfb-run /usr/bin/wkhtmltopdf
options: []
pdf / report.html.twig
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>My PDF</title>
</head>
<body>
<h1>My PDF</h1>
<p>Harum trium sententiarum nulli prorsus assentior.</p>
<h1>My PDF</h1>
</body>
</html>
pdf / footer.html.twig
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Contrat Thuasne Services</title>
<script>
/* page counter */
function subst() {
var vars={};
var x=document.location.search.substring(1).split('&');
for (var i in x) {var z=x[i].split('=',2);vars[z[0]] = unescape(z[1]);}
var x=['topage','page'];
for (var i in x) {
var y = document.getElementsByClassName(x[i]);
for (var j=0; j<y.length; ++j) y[j].textContent = vars[x[i]];
}
}
</script>
</head>
<body onload="subst()">
<footer>
<table>
<tr>
<td style="width: 33%;">Test</td>
<td style="width: 34%;" class="center"><span class="page"></span>/<span class="topage"></span></td>
<td style="width: 33%;" class="right">© Society {{ "now"|date("Y") }}</td>
</tr>
</table>
</footer>
</body>
</html>
контроллер
public function testPDFAction()
{
$snappy = $this->get('knp_snappy.pdf');
$content = $this->renderView( 'pdf/report.html.twig' );
$footer = $this->renderView( 'pdf/footer.html.twig' );
//$snappy->setOption('header-html', $header);
$snappy->setOption('footer-html', $footer);
$html = $snappy->getOutputFromHtml($content);
return new Response($html,200, [
'Content-Type' => 'application/pdf',
'Content-Disposition' => 'inline; filename="test.pdf"'
]
);
// Others test i make
/*$html = $snappy->getOutputFromHtml($content,
[
// 'images' => true,
'enable-javascript' => true,
'page-size' => 'A4',
// 'viewport-size' => '1280x1024',
'header-html' => $header,
'footer-html' => $footer,
'margin-left' => '10mm',
'margin-right' => '10mm',
'margin-top' => '30mm',
'margin-bottom' => '25mm',
]);*/
//$snappy->setOption('header-html', $header);
// $snappy->getOutputFromHtml($html);
/*$options = [
'header-html' => $header,
'footer-html' => $footer
];*/
/*return new PdfResponse(
$this->get('knp_snappy.pdf')->getOutputFromHtml($html, $options),
'file.pdf'
);*/
/*return new Response(
$this->get('knp_snappy.pdf')->getOutputFromHtml($html,$options),
200,
[
'Content-Type' => 'application/pdf',
'Content-Disposition' => sprintf('attachment; filename="%s"', "test"),
]
);*/
}
Не знаюНе знаю, в чем проблема, заранее спасибо !!