Как я могу создать заголовок без полей в pdf, созданном с помощью snappy twig (Symfony 4)?

Я создаю 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>

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

Можете ли вы быть более точным в отношении эффектов, которые вы видите? Вы просматриваете документ PDF или html в браузере? Белая рамка связана с <div class = "header">... или с <div style = "padding-left:20px">...?

geoB 28.05.2019 01:29

@geoB Я смотрю на документ в формате PDF, который я открываю в своем браузере. Я не знаю, почему там белая рамка. Я хочу только все черное

user10800263 28.05.2019 17:05
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
1 185
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

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

Пробовал писать в строке wkhtmltopdf -R 0 -L 0 в терминал и получаю сообщение You need to specify at least one input file, and exactly one output file Use - for stdin or stdout

user10800263 14.06.2019 17:34
Ответ принят как подходящий

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

 $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');

Рад, что вы нашли рабочий вариант. Я бы поместил свой в переменную среды, чтобы можно было работать как в среде Windows, так и в среде Linux.

geoB 14.06.2019 17:43

Другие вопросы по теме