Добавить рамку на страницы, напечатанные с помощью 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> теги

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