я использую wkhtmltopdf
генерировать мои файлы PDF. Я оставил поколение в покое на некоторое время, и по какой-то причине оно больше не генерирует верхний и нижний колонтитулы.
Вещи, которые я пробовал до сих пор (обновлю это, когда придет больше ответов):
doctype
, html
, head
а также body
теги иона верхний и нижний колонтитулыЭто мое заголовочный файл:
<!DOCTYPE html>
<html>
<head>
<title>PDF header</title>
<style>
html {
display: block;
}
body {
font-family: Calibri, "Segoe Ui Regular", sans-serif;
letter-spacing: 0px;
}
</style>
</head>
<body style="padding-top: 30px">
<img src="../../images/logo_extra.jpg" style="width: 100%;"/>
</body>
</html>
Это мое основной файл:
<?php
session_start();
require __DIR__ . '/../vendor/autoload.php';
use Knp\Snappy\Pdf;
$pdf = new Pdf('pdf\wkhtmltopdf\bin\wkhtmltopdf');
header('Content-Type: application/pdf');
// header('Content-Disposition: attachment; filename="offerte.pdf"');
$pdf->setOption('header-html', 'pdf/header.html');
$pdf->setOption('footer-html', 'pdf/footer.html');
$pdf->setOption('load-error-handling','ignore');
// I know there is a 'cover' function in WKHTMLTOPDF
$file = file_get_contents('pdf/cover.php');
echo $pdf->getOutputFromHtml($file);
?>
И как всегда, пожалуйста:
Дайте мне объяснение и, возможно, пример, но не просто кучу рабочего кода!
PS: Если вы видите какие-либо другие ошибки, пожалуйста, дайте мне знать.
У wkhtmltopdf есть проблема с верхним / нижним колонтитулом. Я не углубился в это очень глубоко, поскольку добавление полей действительно решило это для меня:
<?php
session_start();
require __DIR__ . '/../vendor/autoload.php';
use Knp\Snappy\Pdf;
$pdf = new Pdf('pdf\wkhtmltopdf\bin\wkhtmltopdf');
header('Content-Type: application/pdf');
//just set margins
$pdf->setOption('margin-top', 20);
$pdf->setOption('margin-bottom', 15);
$pdf->setOption('margin-left', '0');
$pdf->setOption('margin-right', '0');
$pdf->setOption('header-html', 'pdf/header.html');
$pdf->setOption('footer-html', 'pdf/footer.html');
$pdf->setOption('load-error-handling','ignore');
$file = file_get_contents('pdf/cover.php');
echo $pdf->getOutputFromHtml($file);
?>
Вторая проблема странная — несуществующее имя файла должно выдать ошибку. Закомментируйте заголовок и попробуйте затем с неверным именем файла, snappys AbstractGenerator должен что-то сказать …
Других решений пока нет …