Как я могу создать заголовок без полей в PDF, созданный с помощью snappy twig (Symfony 4)? - PullRequest
0 голосов
/ 27 мая 2019

Я создаю pdf в Symfony через snappy из шаблона веточки:

Итак, это мой контроллер, где я создаю pdf:

 /**
  * @Route("/pdf", name="pdf")
  */

  public function pdf(Request $request, Pdf $snappy)
  {

    $snappy->setOption("encoding","UTF-8");

    $html = $this->renderView("default/pdf.html.twig",array(
      "title" => "pdf"
    ));

    $filename = "mypdf";
    return new Response(
      $snappy->getOutputFromHtml($html),
      200,
      array(
        'Content-Type' => 'application/pdf',
        'Content-Disposition' => 'inline; filename="'.$filename.'.pdf"'
      )
    );

  }

А вот HTML-шаблон, где я создаю заголовок pdf.html.twig:

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
* {box-sizing: border-box;}

body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
}

.header {
  overflow: hidden;
  background-color: #000;
  padding: 20px 10px;
}



.header-right {
  float: right;
}


}
</style>
</head>
<body>

<div class="header">
  <a href="#default" class="logo">Logo</a>

</div>

<div style="padding-left:20px">
  <h1>headline</h1>
  <p>Some text</p>
  <p>Some content..</p>
</div>

</body>
</html>

Я стараюсь, чтобы черный заголовок вписывался в страницу без рамки. Но есть еще белая граница. Это не идет к краю.

Ответы [ 2 ]

1 голос
/ 28 мая 2019

Проблема в том, что wkhtmltopdf по умолчанию имеет ненулевое левое и правое поля.Если вы измените свой исполняемый файл на wkhtmltopdf -R 0 -L 0 ..., черный будет расширяться до ширины страницы.См. this .

Кстати, вы можете удалить лишнюю скобку } в строке сразу над </style>

0 голосов
/ 14 июня 2019

Изменить эту строку

 $snappy->setOption("encoding","UTF-8");

в

$snappy->setOption("encoding","UTF-8");
$snappy->setOption('margin-left', '0mm');
$snappy->setOption('margin-right', '0mm');
$snappy->setOption('margin-top', '0mm');
...