我已经尝试了很多不同的分页规则,但是我已经筋疲力尽了。
项目地点:
https://github.com/xremainnameless/lead_tracker
我要打印的表位于“leadúu queueúu.php”div中的“leadúu wrapperúu”部分。我使用“scripts/fillúall懔u.php”动态创建表,并使用文档上的“自定义打印”按钮打印表。
不管我应用了哪种css规则,我似乎都不能强迫页面被破坏。为了显示更干净的代码,我删除了所有的尝试。下面是@print CSS的一个片段:

@media print {
   @page {size: landscape;}
   body * {visibility: hidden;}
   #lead_wrapper_u, #lead_wrapper_u * {visibility: visible;}
   #lead_wrapper_u button {visibility: hidden;}
   #lead_wrapper_u {
      position: absolute;
      left: 0;
      Top: 0;
   }
}

最佳答案

我总是建议不要在浏览器中使用打印按钮(ctrl+p);因为每个浏览器都有自己的首选项。您可以依赖其他框架将页面打印为不同的格式。例如,fpdf框架。
但是,如果坚持使用browsers按钮进行打印,则可以用div替换所有表;因为div总是在页面的末尾打断,而不会扭曲布局。
例如,如果您有此代码:

<table>
    <tr>
       <td>Name</td>
    </tr>
    <tr>
       <td>City</td>
    </tr>
    <tr>
       <td>DOB</td>
    </tr>
</table>
 .
 .
 .

然后,必须删除表元素,并替换为div,如下所示:
    <div style = "border:black solid;">
         <div style = "border:solid black;">Name</div>
         <div style = "border:solid black;">City</div>
         <div style = "border:solid black;">DOB</div>
   </div>
   .
   .
   .

这将确保每个div都会中断到下一页,而不会看起来像是被剪切了。

09-10 01:23
查看更多