WKHTMLTOPDF (knplabs - snappy) footer style import

889 Views Asked by At

I'm using wkhtmltopdf to generate my pdf files. I have main page and footer page that I am rendering. They are in separate view.

Problem with printing it is that just font is loaded and other is not.

I did the main page the same way and all of the css is loaded correctly.

My view of footer.html.twig

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Statement Footer</title>
  <link href="https://fonts.googleapis.com/css?family=Courier+Prime&display=swap" rel="stylesheet">
</head>

<style type="text/css">

  html {
    height: 0;
    background-color: white;
    white-space: nowrap;
    font-family: 'Courier Prime', monospace;
  }

  hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
  }


#footer{
    display:table-cell;
    width:33.33vw;
    text-align: center;
  }

</style>

<body>
  <hr/>

<div id="footer">

 Hello!

  </div>

</div>

</body>
</html>

And in my controller:

$options = [
    'encoding' => 'UTF-8',
    'footer-html' => $footerHtml = $this->renderView('@WebsiteTemplates/invoice/footer.html.twig')
];

$html = $this->renderView('@WebsiteTemplates/invoice/invoice.html.twig');

$filename = sprintf('test-%s.pdf', date('Y-m-d'));

return new Response(
    $this->get('knp_snappy.pdf')->getOutputFromHtml($html, $options),
    200,
    [
        'Content-Type'        => 'application/pdf',
        'Content-Disposition' => sprintf('attachment; filename="%s"', $filename),
    ]
);

Style tags are good, and I have no css files as assets that I have to include. All of them are directly in a twig.

0

There are 0 best solutions below