0

I have an HTML/CSS printable form that gets generates with content from a MySQL database using PHP. I am having a hard time figuring out how to get the middle content section to print another page if the content section is full. I need to keep the logo and order total section in place and only keep track of the middle content section.

Is there a way to do this with JavaScript? Or what is the best solution for this issue?

Attached are screenshot markups to help see the issue.

http://timkipptutorials.com/images/linked/page1.png http://timkipptutorials.com/images/linked/page2.png

4

1 回答 1

1

如果您使用 div 标签,在每个页面上打印页眉和页脚是非常困难的任务。在我的项目中,我几乎搜索了整个网络,发现要打印每个页面的页眉和页脚,您必须使用表格和 CSS 规则,而不使用表格和 CSS,您无法在每个页面上打印页眉。我正在为您提供这样做的代码,如下所示:

<style>
    @media screen{thead{display:none;}}
    @media print{thead{display:table-header-group; margin-bottom:2px;}}
    @page{margin-top:1cm;margin-left:1cm;margin-right:1cm;margin-bottom:1.5cm;}}
</style>

第一个 CSS 规则使 table 的标题不会显示在用户的屏幕上,第二个规则定义在打印期间 thead 显示为 table-header-group 因为此规则将在每个页面上显示标题,如果您省略此标题不会print 在每一页上,第三条规则是为了防止页眉或页脚重叠的页边距,您的 html 代码如下:

<table>
    <thead>
        <tr>
            <th>  <---  Your header text would be placed here    --->  </th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>
                <--- Your printing text would be place here    ---> 
            </td>
        </tr>
    </tbody>
</table>

最后一件事,我在 IE、Safari、Firefox 和 Chrome 上尝试了东西代码,并想告诉你,在 Chrome 上,标题只打印在第一页上。我也多次报告过这个错误,但 Chrome 对这个问题没有做任何事情。

于 2013-08-25T17:50:58.243 回答