为使用 wkhtmltopdf 打印的页面添加边框

问题描述 投票:0回答:2

类似于这个问题:使用CSS为每个打印页面添加边框?如何在使用wkhtmltopdf渲染的多页pdf的每一页上打印方形边框?

我创建一个 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....

html css printing wkhtmltopdf
2个回答
0
投票

我就快到了。

只需添加/更改

.box{
   border:1pt solid black;
   position:absolute;
   width:28.2cm;
   height:19.3cm;
} 

section{
   position:relative;
}

我的 css 样式在

<style>
标签中


0
投票

您找到解决这个问题的方法了吗?

© www.soinside.com 2019 - 2024. All rights reserved.