Добавить рамку на страницы, напечатанные с помощью wkhtmltopdf
Похож на этот вопрос: добавить границы для каждой печатной страницы с помощью CSS? Как я могу напечатать квадратную рамку на каждой странице многостраничного PDF, который отображается с помощью wkhtmltopdf?
я создаю html-страницу как переменную и использую snappy: https://github.com/KnpLabs/snappy чтобы отобразить ее в формате PDF.
$html = $this->load->view('print/report_baseline_print',$data,TRUE);
$snappy = new \Knp\Snappy\Pdf('path to wkhtmltopdf -O landscape');
$tmp = random_temp_file('.pdf');
$snappy->generateFromHtml($html,$tmp);
$filename = 'Baseline-report.pdf';
$this->output
->set_header("Cache-Control: no-cache, must-revalidate")
->set_header("Content-Disposition: filename=$filename;")
->set_content_type('application/pdf')
->set_output(read_file($tmp));
delete_file($tmp);
Я пробовал несколько вещей, таких как:
....
<style>
section:not(:last-child){
page-break-after: always;
}
.box{
border:1px solid black;
position:fixed;
top:10mm;
right:10mm;
bottom:10mm;
left:10mm;
}
</style>
</head>
<body>
<section id='page1'>
<div class='box'></div>
</section>
<section id='page1'>
<div class='box'></div>
...
но коробка ломается по странице. Итак, есть идеи, как получить тонкую черную рамку для печати на каждой странице с полем 10 мм? программа wkhtmltopdf, кажется, не обрабатывает обычную печать css должным образом....
1 ответ
Я был почти там.
просто нужно добавить / изменить
.box{
border:1pt solid black;
position:absolute;
width:28.2cm;
height:19.3cm;
}
section{
position:relative;
}
к моему стилю CSS в <style>
теги